diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b4cbc51..1182d998 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2.3.8 (July 31, 2020) + +* Make margins reactive (thanks [yfwz100](https://github.com/yfwz100)) +* Added missing 'layout-updated' events (thanks [ben-lau](https://github.com/ben-lau)) +* Support for initial responsive layouts and breakpoint change event (thanks [ftylitak](https://github.com/ftylitak)) +* Bugfix for possible error when layout items get removed and interactObj is not set (thanks [Tofandel](https://github.com/Tofandel)) +* Fix wrong grid item sorting in responsive mode (thanks [pieterbeulque](https://github.com/pieterbeulque)) + ## 2.3.7 (Oct 31, 2019) * renamed 'resized' event emitted when the container changes size (browser window or other), introduced in #337, fixes #358 diff --git a/README-zh_CN.md b/README-zh_CN.md index 65074738..76ce8396 100644 --- a/README-zh_CN.md +++ b/README-zh_CN.md @@ -6,7 +6,7 @@ vue-grid-layout是一个类似于[Gridster](http://dsmorse.github.io/gridster.js/)的栅格布局系统, 适用于Vue.js。 **灵感源自于 [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** -### **当前版本:** 2.3.7 (支持 Vue 2.2+) +### **当前版本:** 2.3.8 (支持 Vue 2.2+) ### **Vue 2.1.10 及以下请使用 [2.1.3](https://github.com/jbaysolutions/vue-grid-layout/tree/2.1.3)** ### **Vue 1 请使用 [1.0.3](https://github.com/jbaysolutions/vue-grid-layout/tree/1.0.3)** diff --git a/README.md b/README.md index 5e07bf1b..5167bba3 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ vue-grid-layout is a grid layout system, like [Gridster](http://dsmorse.github.io/gridster.js/), for Vue.js. **Heavily inspired by [React-Grid-Layout](https://github.com/STRML/react-grid-layout)** -### **Current version:** 2.3.7 (Supports Vue 2.2+) +### **Current version:** 2.3.8 (Supports Vue 2.2+) ### **For Vue 2.1.10 and below use version [2.1.3](https://github.com/jbaysolutions/vue-grid-layout/tree/2.1.3)** ### **For Vue 1 use version [1.0.3](https://github.com/jbaysolutions/vue-grid-layout/tree/1.0.3)** diff --git a/dist/vue-grid-layout.common.js b/dist/vue-grid-layout.common.js index 56a576bf..4203af62 100644 --- a/dist/vue-grid-layout.common.js +++ b/dist/vue-grid-layout.common.js @@ -338,6 +338,10 @@ module.exports = function(options) { * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback. */ function addListener(element, listener) { + if(!getObject(element)) { + throw new Error("Element is not detectable by this strategy."); + } + function listenerProxy() { listener(element); } @@ -350,21 +354,10 @@ module.exports = function(options) { element.attachEvent("onresize", listenerProxy); } else { var object = getObject(element); - - if(!object) { - throw new Error("Element is not detectable by this strategy."); - } - object.contentDocument.defaultView.addEventListener("resize", listenerProxy); } } - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } - /** * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes. * @private @@ -383,7 +376,7 @@ module.exports = function(options) { var debug = options.debug; function injectObject(element, callback) { - var OBJECT_STYLE = buildCssTextString(["display: block", "position: absolute", "top: 0", "left: 0", "width: 100%", "height: 100%", "border: none", "padding: 0", "margin: 0", "opacity: 0", "z-index: -1000", "pointer-events: none"]); + var OBJECT_STYLE = "display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; padding: 0; margin: 0; opacity: 0; z-index: -1000; pointer-events: none;"; //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element. @@ -404,7 +397,7 @@ module.exports = function(options) { function mutateDom() { function alterPositionStyles() { if(style.position === "static") { - element.style.setProperty("position", "relative", options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -415,7 +408,7 @@ module.exports = function(options) { if(value !== "auto" && getNumericalValue(value) !== "0") { reporter.warn("An element that is positioned static has style." + property + "=" + value + " which is ignored due to the static positioning. The element will need to be positioned relative, so the style." + property + " will be set to 0. Element: ", element); - element.style.setProperty(property, "0", options.important ? "important" : ""); + element.style[property] = 0; } }; @@ -441,12 +434,7 @@ module.exports = function(options) { //So if it is not present, poll it with an timeout until it is present. //TODO: Could maybe be handled better with object.onreadystatechange or similar. if(!element.contentDocument) { - var state = getState(element); - if (state.checkForObjectDocumentTimeoutId) { - window.clearTimeout(state.checkForObjectDocumentTimeoutId); - } - state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() { - state.checkForObjectDocumentTimeoutId = 0; + setTimeout(function checkForObjectDocument() { getDocument(element, callback); }, 100); @@ -488,11 +476,6 @@ module.exports = function(options) { object.data = "about:blank"; } - if (!getState(element)) { - // The element has been uninstalled before the actual loading happened. - return; - } - element.appendChild(object); getState(element).object = object; @@ -530,26 +513,11 @@ module.exports = function(options) { } function uninstall(element) { - if (!getState(element)) { - return; - } - - var object = getObject(element); - - if (!object) { - return; - } - - if (browserDetector.isIE(8)) { - element.detachEvent("onresize", object.proxy); + if(browserDetector.isIE(8)) { + element.detachEvent("onresize", getState(element).object.proxy); } else { - element.removeChild(object); + element.removeChild(getObject(element)); } - - if (getState(element).checkForObjectDocumentTimeoutId) { - window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId); - } - delete getState(element).object; } @@ -1252,12 +1220,8 @@ __webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeC /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; }); - // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something @@ -1288,6 +1252,7 @@ function listToStyles (parentId, list) { } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra @@ -1592,16 +1557,6 @@ module.exports = function (it) { }; -/***/ }), - -/***/ "5014": -/***/ (function(module, exports, __webpack_require__) { - -/* interact.js 1.9.20 | https://raw.github.com/taye/interact.js/master/LICENSE */ -!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=r,e.getWindow=o,e.default=void 0;var n={realWindow:void 0,window:void 0,getWindow:o,init:r};function r(t){n.realWindow=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),n.window=t}function o(e){return(0,t.default)(e)?e:(e.ownerDocument||e).defaultView||n.window}"undefined"==typeof window?(n.window=void 0,n.realWindow=void 0):r(window),n.init=r;var i=n;e.default=i;var a={};function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var l=function(t){return!!t&&"object"===s(t)},u=function(t){return"function"==typeof t},c={window:function(n){return n===e.default.window||(0,t.default)(n)},docFrag:function(t){return l(t)&&11===t.nodeType},object:l,func:u,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==s(t))return!1;var n=e.default.getWindow(t)||e.default.window;return/object|function/.test(s(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return l(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return l(t)&&void 0!==t.length&&u(t.splice)}};a.default=c;var f={};function d(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function p(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var v={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=v.draggable,e.map.drag=v,e.methodDict.drag="draggable",r.actions.drag=v.defaults},listeners:{"interactions:before-action-move":d,"interactions:action-resume":d,"interactions:action-move":p,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return a.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):a.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:d,move:p,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},h=v;f.default=h;var g={};Object.defineProperty(g,"__esModule",{value:!0}),g.default=void 0;var y={init:function(t){var e=t;y.document=e.document,y.DocumentFragment=e.DocumentFragment||m,y.SVGElement=e.SVGElement||m,y.SVGSVGElement=e.SVGSVGElement||m,y.SVGElementInstance=e.SVGElementInstance||m,y.Element=e.Element||m,y.HTMLElement=e.HTMLElement||y.Element,y.Event=e.Event,y.Touch=e.Touch||m,y.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function m(){}var b=y;g.default=b;var x={};Object.defineProperty(x,"__esModule",{value:!0}),x.default=void 0;var w={init:function(t){var n=g.default.Element,r=e.default.window.navigator;w.supportsTouch="ontouchstart"in t||a.default.func(t.DocumentTouch)&&g.default.document instanceof t.DocumentTouch,w.supportsPointerEvent=!1!==r.pointerEnabled&&!!g.default.PointerEvent,w.isIOS=/iP(hone|od|ad)/.test(r.platform),w.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),w.isIe9=/MSIE 9/.test(r.userAgent),w.isOperaMobile="Opera"===r.appName&&w.supportsTouch&&/Presto/.test(r.userAgent),w.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",w.pEventTypes=w.supportsPointerEvent?g.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,w.wheelEvent="onmousewheel"in g.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var _=w;x.default=_;var S={};function P(t){var e=t.parentNode;if(a.default.docFrag(e)){for(;(e=e.host)&&a.default.docFrag(e););return e}return e}function O(t,n){return e.default.window!==e.default.realWindow&&(n=n.replace(/\/deep\//g," ")),t[x.default.prefixedMatchesSelector](n)}Object.defineProperty(S,"__esModule",{value:!0}),S.nodeContains=function(t,e){for(;e;){if(e===t)return!0;e=e.parentNode}return!1},S.closest=function(t,e){for(;a.default.element(t);){if(O(t,e))return t;t=P(t)}return null},S.parentNode=P,S.matchesSelector=O,S.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,h,y,m;return n},S.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},S.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},S.getScrollXY=M,S.getElementClientRect=j,S.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){var e=[];for(;t;)e.push(t),t=P(t);return e},S.trySelector=function(t){if(!a.default.string(t))return!1;return g.default.document.querySelector(t),!0};var E=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var I={};function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?$(e):e[0],o={};V(r,o),t.page.x=o.x,t.page.y=o.y,q(r,o),t.client.x=o.x,t.client.y=o.y,t.timeStamp=n},L.getTouchPair=N,L.pointerAverage=$,L.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=N(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},L.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,F.default)(i,a)},L.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},L.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},L.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},L.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},L.coordsToEvent=function(t){return{coords:t,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons},preventDefault:function(){}}},Object.defineProperty(L,"pointerExtend",{enumerable:!0,get:function(){return X.default}});var G={};function H(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&a.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,i,r,o));return l}(this,t,e,n,r,o,i)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ft(e,n.element),o.events=pt(n,0,r),o.events.activate&&(ct(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":ht,"interactions:action-end":ht,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:vt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},yt=gt;ut.default=yt;var mt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),i="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],i)n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=1,n.ds=0,n.angle=L.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=L.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(mt,"__esModule",{value:!0}),mt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;mt.default=wt;var _t={};function St(t,e,n,r,o,i,s){if(!e)return!1;if(!0===e){var l=a.default.number(i.width)?i.width:i.right-i.left,u=a.default.number(i.height)?i.height:i.bottom-i.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?i.left:i.right)+s;if("top"===t)return n.y<(u>=0?i.top:i.bottom)+s;if("right"===t)return n.x>(l>=0?i.right:i.left)-s;if("bottom"===t)return n.y>(u>=0?i.bottom:i.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:S.matchesUpTo(r,e,o))}function Pt(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Ot.cursors=function(t){return t.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(a.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(a.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",o.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,k.default)({},o),corrected:(0,k.default)({},o),previous:(0,k.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Pt(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,k.default)(f,u),i){if((0,k.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),Pt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,i=t.buttons;if(o){var s=(0,k.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(i&l.mouseButtons))){if(a.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=St(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Ot.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-Ot.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Ot.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:Rt.x*u,y:Rt.y*u};if(c.x||c.y){var f=Xt(i);a.default.window(i)?i.scrollBy(c.x,c.y):i&&(i.scrollLeft+=c.x,i.scrollTop+=c.y);var d=Xt(i),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:i})}Rt.prevTime=s}Rt.isScrolling&&(kt.default.cancel(Rt.i),Rt.i=kt.default.request(Rt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Rt.check(e.interactable,e.prepared.name))if(e.simulation)Rt.x=Rt.y=0;else{var r,o,i,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ft(f.container,l,u);if(a.default.window(d))s=n.clientXd.innerWidth-Rt.margin,i=n.clientY>d.innerHeight-Rt.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-Rt.margin,i=n.clientY>p.bottom-Rt.margin}Rt.x=o?1:s?-1:0,Rt.y=i?1:r?-1:0,Rt.isScrolling||(Rt.margin=f.margin,Rt.speed=f.speed,Rt.start(e))}}};function Ft(t,n,r){return(a.default.string(t)?(0,I.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Xt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Rt,Rt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Rt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Rt.stop(),Rt.interaction&&(Rt.interaction=null)},"interactions:stop":Rt.stop,"interactions:action-move":function(t){return Rt.onInteractionMove(t)}}};Ct.default=Yt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Lt={};function Bt(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ut(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.default=void 0;var Vt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ut,e.prototype.styleCursor=Bt}};Lt.default=Vt;var qt={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Kt(e,n,t,o)?t:null}function $t(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Zt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var s=n.options[o.name].cursorChecker;i=a.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Jt(t.element,i||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Lt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Zt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Kt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Ht(n,Gt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ht(n,Gt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Kt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Zt,withinInteractionLimit:Kt,validateAction:Nt};qt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,i=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(i),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;oe(e)>0&&(e.prepared.name=null)}},getHoldDuration:oe};re.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(qt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var le={};Object.defineProperty(le,"__esModule",{value:!0}),le.default=void 0;le.default={};var ue={};function ce(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=ce,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var i=(0,e.getWindow)(r.target).document,s=n.getDocOptions(i);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Xe(e.prototype,n),r&&Xe(e,r),i}(G.BaseEvent);Re.InteractEvent=Ve,Object.defineProperties(Ve.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var qe={};Object.defineProperty(qe,"__esModule",{value:!0}),qe.PointerInfo=void 0;qe.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,$e,Ge={};function He(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||L.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&L.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||L.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=L.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=L.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new qe.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),L.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),L.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,L.pointerExtend(this.downPointer,t),this.interacting()||(L.copyCoords(this.coords.start,this.coords.cur),L.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Re.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(I.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Je;var Qe=Je;Ge.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),I.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,Ge._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var ln={};function un(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=fn(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,i=r.context,s=r.listeners;o===this.target&&i===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=Sn;var Pn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=jn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function i(t,n,r,i){var a=Dn(i),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=Dn(i),l=J.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Fn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Xn=Rn;Cn.default=Xn;var Yn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Kn,methodNames:Hn};Yn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function or(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var o=ar(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ir(this,n)}}function ir(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,k.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Ir(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function Dr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Er.aspectRatio=kr;var Ar=(0,De.makeModifier)(kr,"aspectRatio");Er.default=Ar;var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.default=void 0;var Cr=function(){};Cr._defaults={};var Rr=Cr;zr.default=Rr;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Object.defineProperty(Fr,"default",{enumerable:!0,get:function(){return zr.default}});var Xr={};function Yr(t,e,n){return a.default.func(t)?I.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):I.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.getRestrictionRect=Yr,Xr.restrict=Xr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Yr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Yr(o.restriction,n,e);if(a){var s=I.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Xr.restrict=Wr;var Lr=(0,De.makeModifier)(Wr,"restrict");Xr.default=Lr;var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.restrictEdges=Br.default=void 0;var Ur={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Vr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function qr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + /***/ }), /***/ "7726": @@ -2252,7 +2253,7 @@ NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { /***/ "8378": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.11' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -3145,32 +3146,21 @@ module.exports = function(options) { //TODO: Could this perhaps be done at installation time? var scrollbarSizes = getScrollbarSizes(); + // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. + // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). var styleId = "erd_scroll_detection_scrollbar_style"; var detectionContainerClass = "erd_scroll_detection_container"; - - function initDocument(targetDocument) { - // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. - // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). - injectScrollStyle(targetDocument, styleId, detectionContainerClass); - } - - initDocument(window.document); - - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } + injectScrollStyle(styleId, detectionContainerClass); function getScrollbarSizes() { var width = 500; var height = 500; var child = document.createElement("div"); - child.style.cssText = buildCssTextString(["position: absolute", "width: " + width*2 + "px", "height: " + height*2 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + child.style.cssText = "position: absolute; width: " + width*2 + "px; height: " + height*2 + "px; visibility: hidden; margin: 0; padding: 0;"; var container = document.createElement("div"); - container.style.cssText = buildCssTextString(["position: absolute", "width: " + width + "px", "height: " + height + "px", "overflow: scroll", "visibility: none", "top: " + -width*3 + "px", "left: " + -height*3 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "position: absolute; width: " + width + "px; height: " + height + "px; overflow: scroll; visibility: none; top: " + -width*3 + "px; left: " + -height*3 + "px; visibility: hidden; margin: 0; padding: 0;"; container.appendChild(child); @@ -3187,25 +3177,25 @@ module.exports = function(options) { }; } - function injectScrollStyle(targetDocument, styleId, containerClass) { + function injectScrollStyle(styleId, containerClass) { function injectStyle(style, method) { method = method || function (element) { - targetDocument.head.appendChild(element); + document.head.appendChild(element); }; - var styleElement = targetDocument.createElement("style"); + var styleElement = document.createElement("style"); styleElement.innerHTML = style; styleElement.id = styleId; method(styleElement); return styleElement; } - if (!targetDocument.getElementById(styleId)) { + if (!document.getElementById(styleId)) { var containerAnimationClass = containerClass + "_animation"; var containerAnimationActiveClass = containerClass + "_animation_active"; var style = "/* Created by the element-resize-detector library. */\n"; - style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; - style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { display: none; }\n\n"; + style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -3407,7 +3397,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -3431,7 +3421,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.setProperty("position", "relative",options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -3461,7 +3451,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; + return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; } debug("Injecting elements"); @@ -3489,12 +3479,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); - var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); - var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); - var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); + var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; + var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); + var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var expandChildStyle = "position: absolute; left: 0; top: 0;"; + var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -3545,17 +3535,14 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); - expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); + expandChild.style.width = expandWidth + "px"; + expandChild.style.height = expandHeight + "px"; } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; - // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. - var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; - debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -3566,10 +3553,6 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { - if (!sizeChanged) { - return; - } - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3593,9 +3576,6 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { - // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then - // been restored to the original size, which will have changed the scrollbar positions. - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3609,7 +3589,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (sizeChanged && done) { + if (done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -3639,7 +3619,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify if the current size is the start size, and this is the first notification. + // Don't notify the if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -3684,7 +3664,15 @@ module.exports = function(options) { return; } - updateDetectorElements(notifyListenersIfNeeded); + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { + debug("Element size changed."); + updateDetectorElements(notifyListenersIfNeeded); + } else { + debug("Element size has not changed (" + width + "x" + height + ")."); + } } debug("registerListenersAndPositionElements invoked."); @@ -3774,8 +3762,7 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4143,13 +4130,11 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); - var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler, - important: importantCssRules + idHandler: idHandler }; if(desiredStrategy === "scroll") { @@ -4264,7 +4249,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -4340,16 +4325,11 @@ module.exports = function(options) { }); } - function initDocument(targetDocument) { - detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); - } - return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4423,6 +4403,17 @@ module.exports = function (object, index, value) { })(document); +/***/ }), + +/***/ "f751": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__("5ca1"); + +$export($export.S + $export.F, 'Object', { assign: __webpack_require__("7333") }); + + /***/ }), /***/ "f772": @@ -4456,13 +4447,8 @@ module.exports = document && document.documentElement; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return /* reexport */ GridLayout; }); -__webpack_require__.d(__webpack_exports__, "GridItem", function() { return /* reexport */ GridItem; }); - // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -4496,12 +4482,12 @@ var web_dom_iterable = __webpack_require__("ac6a"); var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=c806aad8& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=58da2a1f& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-item",class:_vm.classObj,style:(_vm.style)},[_vm._t("default"),(_vm.resizableAndNotStatic)?_c('span',{ref:"handle",class:_vm.resizableHandleClass}):_vm._e()],2)} var staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=c806aad8& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=58da2a1f& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -4520,6 +4506,7 @@ var es6_array_sort = __webpack_require__("55dd"); + // @flow /*:: export type LayoutItemRequired = {w: number, h: number, x: number, y: number, i: string};*/ @@ -5435,7 +5422,7 @@ function removeWindowEventListener(event // var eventBus = require('./eventBus'); -var interact = __webpack_require__("5014"); +var interact = __webpack_require__("fb3a"); /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -5634,7 +5621,10 @@ var interact = __webpack_require__("5014"); this.eventBus.$off('setMaxRows', self.setMaxRowsHandler); this.eventBus.$off('directionchange', self.directionchangeHandler); this.eventBus.$off('setColNum', self.setColNum); - this.interactObj.unset(); // destroy interact intance + + if (this.interactObj) { + this.interactObj.unset(); // destroy interact intance + } }, mounted: function mounted() { this.cols = this.$parent.colNum; @@ -5721,6 +5711,17 @@ var interact = __webpack_require__("5014"); }, maxW: function maxW() { this.tryMakeResizable(); + }, + "$parent.margin": function $parentMargin(margin) { + if (!margin || margin[0] == this.margin[0] && margin[1] == this.margin[1]) { + return; + } + + this.margin = margin.map(function (m) { + return Number(m); + }); + this.createStyle(); + this.emitContainerResized(); } }, computed: { @@ -6298,12 +6299,7 @@ function normalizeComponent ( options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode - ? function () { - injectStyles.call( - this, - (options.functional ? this.parent : this).$root.$options.shadowRoot - ) - } + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } : injectStyles } @@ -6312,7 +6308,7 @@ function normalizeComponent ( // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook - // register for functional component in vue file + // register for functioal component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) @@ -6354,16 +6350,19 @@ var component = normalizeComponent( ) /* harmony default export */ var GridItem = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=5a186489& -var GridLayoutvue_type_template_id_5a186489_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} -var GridLayoutvue_type_template_id_5a186489_staticRenderFns = [] +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& +var GridLayoutvue_type_template_id_6594d2a5_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} +var GridLayoutvue_type_template_id_6594d2a5_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js +var es6_object_assign = __webpack_require__("f751"); + // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.is-finite.js var es6_number_is_finite = __webpack_require__("fca0"); @@ -6391,6 +6390,7 @@ function _defineProperty(obj, key, value) { + // @flow @@ -6566,9 +6566,11 @@ function sortBreakpoints(breakpoints + + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // @@ -6659,6 +6661,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); type: Boolean, default: false }, + responsiveLayouts: { + type: Object, + default: function _default() { + return {}; + } + }, breakpoints: { type: Object, default: function _default() { @@ -6749,6 +6757,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); addWindowEventListener('resize', self.onWindowResize); compact(self.layout, self.verticalCompact); + self.$emit('layout-updated', self.layout); self.updateHeight(); self.$nextTick(function () { this.erd = elementResizeDetectorMaker({ @@ -6825,6 +6834,9 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, maxRows: function maxRows() { this.eventBus.$emit("setMaxRows", this.maxRows); + }, + margin: function margin() { + this.updateHeight(); } }, methods: { @@ -6854,6 +6866,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); compact(this.layout, this.verticalCompact); this.eventBus.$emit("updateWidth", this.width); this.updateHeight(); + this.$emit('layout-updated', this.layout); } }, updateHeight: function updateHeight() { @@ -6869,8 +6882,11 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); this.eventBus.$emit("resizeEvent"); }, containerHeight: function containerHeight() { - if (!this.autoSize) return; - return bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + if (!this.autoSize) return; // console.log("bottom: " + bottom(this.layout)) + // console.log("rowHeight + margins: " + (this.rowHeight + this.margin[1]) + this.margin[1]) + + var containerHeight = bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + return containerHeight; }, dragEvent: function dragEvent(eventName, id, x, y, h, w) { //console.log(eventName + " id=" + id + ", x=" + x + ", y=" + y); @@ -6921,7 +6937,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var hasCollisions; if (this.preventCollision) { - var collisions = getAllCollisions(this.layout, _objectSpread(_objectSpread({}, l), {}, { + var collisions = getAllCollisions(this.layout, _objectSpread({}, l, { w: w, h: h })).filter(function (layoutItem) { @@ -6980,7 +6996,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var layout = findOrGenerateResponsiveLayout(this.originalLayout, this.layouts, this.breakpoints, newBreakpoint, this.lastBreakpoint, newCols, this.verticalCompact); // Store the new layout. - this.layouts[newBreakpoint] = layout; // new prop sync + this.layouts[newBreakpoint] = layout; + + if (this.lastBreakpoint !== newBreakpoint) { + this.$emit('breakpoint-changed', newBreakpoint, layout); + } // new prop sync + this.$emit('update:layout', layout); this.lastBreakpoint = newBreakpoint; @@ -6989,7 +7010,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); // clear all responsive layouts initResponsiveFeatures: function initResponsiveFeatures() { // clear layouts - this.layouts = {}; + this.layouts = Object.assign({}, this.responsiveLayouts); }, // find difference in layouts findDifference: function findDifference(layout, originalLayout) { @@ -7026,8 +7047,8 @@ var GridLayoutvue_type_style_index_0_lang_css_ = __webpack_require__("e279"); var GridLayout_component = normalizeComponent( components_GridLayoutvue_type_script_lang_js_, - GridLayoutvue_type_template_id_5a186489_render, - GridLayoutvue_type_template_id_5a186489_staticRenderFns, + GridLayoutvue_type_template_id_6594d2a5_render, + GridLayoutvue_type_template_id_6594d2a5_staticRenderFns, false, null, null, @@ -7057,12 +7078,10041 @@ Object.keys(VueGridLayout).forEach(function (name) { /* harmony default export */ var components = (VueGridLayout); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js +/* concated harmony reexport GridLayout */__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return GridLayout; }); +/* concated harmony reexport GridItem */__webpack_require__.d(__webpack_exports__, "GridItem", function() { return GridItem; }); /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); +/***/ }), + +/***/ "fb3a": +/***/ (function(module, exports, __webpack_require__) { + +/** + * interact.js 1.6.3 + * + * Copyright (c) 2012-2019 Taye Adeyemi + * Released under the MIT License. + * https://raw.github.com/taye/interact.js/master/LICENSE + */ +(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; +var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; +var _$scope_24 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +/* common-shake removed: exports.createScope = */ void createScope; +/* common-shake removed: exports.initScope = */ void initScope; +exports.Scope = exports.ActionName = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); + +var _Eventable = _interopRequireDefault(_$Eventable_14); + +var _Interactable = _interopRequireDefault(_$Interactable_16); + +var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); + +var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); + +var _interactions = _interopRequireDefault(_$interactions_23({})); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var win = utils.win, + browser = utils.browser, + raf = utils.raf, + Signals = utils.Signals, + events = utils.events; +var ActionName; +exports.ActionName = ActionName; + +(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); + +function createScope() { + return new Scope(); +} + +var Scope = +/*#__PURE__*/ +function () { + function Scope() { + var _this = this; + + _classCallCheck(this, Scope); + + this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); + this.signals = new Signals(); + this.browser = browser; + this.events = events; + this.utils = utils; + this.defaults = utils.clone(_defaultOptions["default"]); + this.Eventable = _Eventable["default"]; + this.actions = { + names: [], + methodDict: {}, + eventTypes: [] + }; + this.InteractEvent = _InteractEvent["default"]; + this.interactables = new _InteractableSet["default"](this); // all documents being listened to + + this.documents = []; + this._plugins = []; + this._pluginMap = {}; + + this.onWindowUnload = function (event) { + return _this.removeDocument(event.target); + }; + + var scope = this; + + this.Interactable = + /*#__PURE__*/ + function (_InteractableBase) { + _inherits(Interactable, _InteractableBase); + + function Interactable() { + _classCallCheck(this, Interactable); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); + } + + _createClass(Interactable, [{ + key: "set", + value: function set(options) { + _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); + + scope.interactables.signals.fire('set', { + options: options, + interactable: this + }); + return this; + } + }, { + key: "unset", + value: function unset() { + _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); + + for (var i = scope.interactions.list.length - 1; i >= 0; i--) { + var interaction = scope.interactions.list[i]; + + if (interaction.interactable === this) { + interaction.stop(); + scope.interactions.signals.fire('destroy', { + interaction: interaction + }); + interaction.destroy(); + + if (scope.interactions.list.length > 2) { + scope.interactions.list.splice(i, 1); + } + } + } + + scope.interactables.signals.fire('unset', { + interactable: this + }); + } + }, { + key: "_defaults", + get: function get() { + return scope.defaults; + } + }]); + + return Interactable; + }(_Interactable["default"]); + } + + _createClass(Scope, [{ + key: "init", + value: function init(window) { + return initScope(this, window); + } + }, { + key: "pluginIsInstalled", + value: function pluginIsInstalled(plugin) { + return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; + } + }, { + key: "usePlugin", + value: function usePlugin(plugin, options) { + if (this.pluginIsInstalled(plugin)) { + return this; + } + + if (plugin.id) { + this._pluginMap[plugin.id] = plugin; + } + + plugin.install(this, options); + + this._plugins.push(plugin); + + return this; + } + }, { + key: "addDocument", + value: function addDocument(doc, options) { + // do nothing if document is already known + if (this.getDocIndex(doc) !== -1) { + return false; + } + + var window = win.getWindow(doc); + options = options ? utils.extend({}, options) : {}; + this.documents.push({ + doc: doc, + options: options + }); + events.documents.push(doc); // don't add an unload event for the main document + // so that the page may be cached in browser history + + if (doc !== this.document) { + events.add(window, 'unload', this.onWindowUnload); + } + + this.signals.fire('add-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "removeDocument", + value: function removeDocument(doc) { + var index = this.getDocIndex(doc); + var window = win.getWindow(doc); + var options = this.documents[index].options; + events.remove(window, 'unload', this.onWindowUnload); + this.documents.splice(index, 1); + events.documents.splice(index, 1); + this.signals.fire('remove-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "getDocIndex", + value: function getDocIndex(doc) { + for (var i = 0; i < this.documents.length; i++) { + if (this.documents[i].doc === doc) { + return i; + } + } + + return -1; + } + }, { + key: "getDocOptions", + value: function getDocOptions(doc) { + var docIndex = this.getDocIndex(doc); + return docIndex === -1 ? null : this.documents[docIndex].options; + } + }, { + key: "now", + value: function now() { + return (this.window.Date || Date).now(); + } + }]); + + return Scope; +}(); + +exports.Scope = Scope; + +function initScope(scope, window) { + win.init(window); + + _domObjects["default"].init(window); + + browser.init(window); + raf.init(window); + events.init(window); + scope.usePlugin(_interactions["default"]); + scope.document = window.document; + scope.window = window; + return scope; +} + +}); +var _$interactions_23 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _browser = _interopRequireDefault(_$browser_48); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var _events = _interopRequireDefault(_$events_52); + +var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); + +var _Signals = _interopRequireDefault(_$Signals_46); + +var _Interaction = _interopRequireDefault(_$Interaction_18({})); + +var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; + +function install(scope) { + var signals = new _Signals["default"](); + var listeners = {}; + + for (var _i = 0; _i < methodNames.length; _i++) { + var _ref; + + _ref = methodNames[_i]; + var method = _ref; + listeners[method] = doOnInteractions(method, scope); + } + + var pEventTypes = _browser["default"].pEventTypes; + var docEvents; + + if (_domObjects["default"].PointerEvent) { + docEvents = [{ + type: pEventTypes.down, + listener: releasePointersOnRemovedEls + }, { + type: pEventTypes.down, + listener: listeners.pointerDown + }, { + type: pEventTypes.move, + listener: listeners.pointerMove + }, { + type: pEventTypes.up, + listener: listeners.pointerUp + }, { + type: pEventTypes.cancel, + listener: listeners.pointerUp + }]; + } else { + docEvents = [{ + type: 'mousedown', + listener: listeners.pointerDown + }, { + type: 'mousemove', + listener: listeners.pointerMove + }, { + type: 'mouseup', + listener: listeners.pointerUp + }, { + type: 'touchstart', + listener: releasePointersOnRemovedEls + }, { + type: 'touchstart', + listener: listeners.pointerDown + }, { + type: 'touchmove', + listener: listeners.pointerMove + }, { + type: 'touchend', + listener: listeners.pointerUp + }, { + type: 'touchcancel', + listener: listeners.pointerUp + }]; + } + + docEvents.push({ + type: 'blur', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + interaction.documentBlur(event); + } + } + }); + scope.signals.on('add-document', onDocSignal); + scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events + + scope.prevTouchTime = 0; + + scope.Interaction = + /*#__PURE__*/ + function (_InteractionBase) { + _inherits(Interaction, _InteractionBase); + + function Interaction() { + _classCallCheck(this, Interaction); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); + } + + _createClass(Interaction, [{ + key: "_now", + value: function _now() { + return scope.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return scope.interactions.pointerMoveTolerance; + }, + set: function set(value) { + scope.interactions.pointerMoveTolerance = value; + } + }]); + + return Interaction; + }(_Interaction["default"]); + + scope.interactions = { + signals: signals, + // all active and idle interactions + list: [], + "new": function _new(options) { + options.signals = signals; + var interaction = new scope.Interaction(options); + scope.interactions.list.push(interaction); + return interaction; + }, + listeners: listeners, + docEvents: docEvents, + pointerMoveTolerance: 1 + }; + + function releasePointersOnRemovedEls() { + // for all inactive touch interactions with pointers down + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + + if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { + continue; + } // if a pointer is down on an element that is no longer in the DOM tree + + + var _loop = function _loop() { + _ref4 = interaction.pointers[_i4]; + var pointer = _ref4; + + if (!scope.documents.some(function (_ref5) { + var doc = _ref5.doc; + return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); + })) { + // remove the pointer from the interaction + interaction.removePointer(pointer.pointer, pointer.event); + } + }; + + for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { + var _ref4; + + _loop(); + } + } + } +} + +function doOnInteractions(method, scope) { + return function (event) { + var interactions = scope.interactions.list; + + var pointerType = _pointerUtils["default"].getPointerType(event); + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), + eventTarget = _pointerUtils$getEven2[0], + curEventTarget = _pointerUtils$getEven2[1]; + + var matches = []; // [ [pointer, interaction], ...] + + if (/^touch/.test(event.type)) { + scope.prevTouchTime = scope.now(); + + for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { + var _ref6; + + _ref6 = event.changedTouches[_i5]; + var changedTouch = _ref6; + var pointer = changedTouch; + + var pointerId = _pointerUtils["default"].getPointerId(pointer); + + var searchDetails = { + pointer: pointer, + pointerId: pointerId, + pointerType: pointerType, + eventType: event.type, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + scope: scope + }; + var interaction = getInteraction(searchDetails); + matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); + } + } else { + var invalidPointer = false; + + if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { + // ignore mouse events while touch interactions are active + for (var i = 0; i < interactions.length && !invalidPointer; i++) { + invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; + } // try to ignore mouse events that are simulated by the browser + // after a touch event + + + invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated + event.timeStamp === 0; + } + + if (!invalidPointer) { + var _searchDetails = { + pointer: event, + pointerId: _pointerUtils["default"].getPointerId(event), + pointerType: pointerType, + eventType: event.type, + curEventTarget: curEventTarget, + eventTarget: eventTarget, + scope: scope + }; + + var _interaction = getInteraction(_searchDetails); + + matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); + } + } // eslint-disable-next-line no-shadow + + + for (var _i6 = 0; _i6 < matches.length; _i6++) { + var _matches$_i = _slicedToArray(matches[_i6], 4), + _pointer = _matches$_i[0], + _eventTarget = _matches$_i[1], + _curEventTarget = _matches$_i[2], + _interaction2 = _matches$_i[3]; + + _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); + } + }; +} + +function getInteraction(searchDetails) { + var pointerType = searchDetails.pointerType, + scope = searchDetails.scope; + + var foundInteraction = _interactionFinder["default"].search(searchDetails); + + var signalArg = { + interaction: foundInteraction, + searchDetails: searchDetails + }; + scope.interactions.signals.fire('find', signalArg); + return signalArg.interaction || scope.interactions["new"]({ + pointerType: pointerType + }); +} + +function onDocSignal(_ref7, signalName) { + var doc = _ref7.doc, + scope = _ref7.scope, + options = _ref7.options; + var docEvents = scope.interactions.docEvents; + var eventMethod = signalName.indexOf('add') === 0 ? _events["default"].add : _events["default"].remove; + + if (scope.browser.isIOS && !options.events) { + options.events = { + passive: false + }; + } // delegate event listener + + + for (var eventType in _events["default"].delegatedEvents) { + eventMethod(doc, eventType, _events["default"].delegateListener); + eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); + } + + var eventOptions = options && options.events; + + for (var _i7 = 0; _i7 < docEvents.length; _i7++) { + var _ref8; + + _ref8 = docEvents[_i7]; + var _ref9 = _ref8, + type = _ref9.type, + listener = _ref9.listener; + eventMethod(doc, type, listener, eventOptions); + } +} + +var _default = { + id: 'core/interactions', + install: install, + onDocSignal: onDocSignal, + doOnInteractions: doOnInteractions, + methodNames: methodNames +}; +exports["default"] = _default; + +}); +var _$Interaction_18 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "PointerInfo", { + enumerable: true, + get: function get() { + return _PointerInfo["default"]; + } +}); +exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); + +var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); + +var _scope = _$scope_24({}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var _ProxyValues; + +exports._ProxyValues = _ProxyValues; + +(function (_ProxyValues) { + _ProxyValues["interactable"] = ""; + _ProxyValues["element"] = ""; + _ProxyValues["prepared"] = ""; + _ProxyValues["pointerIsDown"] = ""; + _ProxyValues["pointerWasMoved"] = ""; + _ProxyValues["_proxy"] = ""; +})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); + +var _ProxyMethods; + +exports._ProxyMethods = _ProxyMethods; + +(function (_ProxyMethods) { + _ProxyMethods["start"] = ""; + _ProxyMethods["move"] = ""; + _ProxyMethods["end"] = ""; + _ProxyMethods["stop"] = ""; + _ProxyMethods["interacting"] = ""; +})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); + +var Interaction = +/*#__PURE__*/ +function () { + /** */ + function Interaction(_ref) { + var _this = this; + + var pointerType = _ref.pointerType, + signals = _ref.signals; + + _classCallCheck(this, Interaction); + + // current interactable being interacted with + this.interactable = null; // the target element of the interactable + + this.element = null; // action that's ready to be fired on next move event + + this.prepared = { + name: null, + axis: null, + edges: null + }; // keep track of added pointers + + this.pointers = []; // pointerdown/mousedown/touchstart event + + this.downEvent = null; + this.downPointer = {}; + this._latestPointer = { + pointer: null, + event: null, + eventTarget: null + }; // previous action event + + this.prevEvent = null; + this.pointerIsDown = false; + this.pointerWasMoved = false; + this._interacting = false; + this._ending = false; + this._stopped = true; + this._proxy = null; + this.simulation = null; + /** + * @alias Interaction.prototype.move + */ + + this.doMove = utils.warnOnce(function (signalArg) { + this.move(signalArg); + }, 'The interaction.doMove() method has been renamed to interaction.move()'); + this.coords = { + // Starting InteractEvent pointer coordinates + start: utils.pointer.newCoords(), + // Previous native pointer move event coordinates + prev: utils.pointer.newCoords(), + // current native pointer move event coordinates + cur: utils.pointer.newCoords(), + // Change in coordinates and time of the pointer + delta: utils.pointer.newCoords(), + // pointer velocity + velocity: utils.pointer.newCoords() + }; + this._signals = signals; + this.pointerType = pointerType; + var that = this; + this._proxy = {}; + + var _loop = function _loop(key) { + Object.defineProperty(_this._proxy, key, { + get: function get() { + return that[key]; + } + }); + }; + + for (var key in _ProxyValues) { + _loop(key); + } + + var _loop2 = function _loop2(_key) { + Object.defineProperty(_this._proxy, _key, { + value: function value() { + return that[_key].apply(that, arguments); + } + }); + }; + + for (var _key in _ProxyMethods) { + _loop2(_key); + } + + this._signals.fire('new', { + interaction: this + }); + } + + _createClass(Interaction, [{ + key: "pointerDown", + value: function pointerDown(pointer, event, eventTarget) { + var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); + + this._signals.fire('down', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + pointerIndex: pointerIndex, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable({ + * // disable the default drag start by down->move + * manualStart: true + * }) + * // start dragging after the user holds the pointer down + * .on('hold', function (event) { + * var interaction = event.interaction + * + * if (!interaction.interacting()) { + * interaction.start({ name: 'drag' }, + * event.interactable, + * event.currentTarget) + * } + * }) + * ``` + * + * Start an action with the given Interactable and Element as tartgets. The + * action must be enabled for the target Interactable and an appropriate + * number of pointers must be held down - 1 for drag/resize, 2 for gesture. + * + * Use it with `interactable.able({ manualStart: false })` to always + * [start actions manually](https://github.com/taye/interact.js/issues/114) + * + * @param {object} action The action to be performed - drag, resize, etc. + * @param {Interactable} target The Interactable to target + * @param {Element} element The DOM Element to target + * @return {object} interact + */ + + }, { + key: "start", + value: function start(action, interactable, element) { + if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { + return false; + } + + utils.copyAction(this.prepared, action); + this.interactable = interactable; + this.element = element; + this.rect = interactable.getRect(element); + this.edges = this.prepared.edges; + this._stopped = false; + this._interacting = this._doPhase({ + interaction: this, + event: this.downEvent, + phase: _InteractEvent.EventPhase.Start + }) && !this._stopped; + return this._interacting; + } + }, { + key: "pointerMove", + value: function pointerMove(pointer, event, eventTarget) { + if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { + this.updatePointer(pointer, event, eventTarget, false); + utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + } + + var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y; + var dx; + var dy; // register movement greater than pointerMoveTolerance + + if (this.pointerIsDown && !this.pointerWasMoved) { + dx = this.coords.cur.client.x - this.coords.start.client.x; + dy = this.coords.cur.client.y - this.coords.start.client.y; + this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; + } + + var signalArg = { + pointer: pointer, + pointerIndex: this.getPointerIndex(pointer), + event: event, + eventTarget: eventTarget, + dx: dx, + dy: dy, + duplicate: duplicateMove, + interaction: this + }; + + if (!duplicateMove) { + // set pointer coordinate, time changes and velocity + utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); + utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); + } + + this._signals.fire('move', signalArg); + + if (!duplicateMove) { + // if interacting, fire an 'action-move' signal etc + if (this.interacting()) { + this.move(signalArg); + } + + if (this.pointerWasMoved) { + utils.pointer.copyCoords(this.coords.prev, this.coords.cur); + } + } + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('dragmove', function (event) { + * if (someCondition) { + * // change the snap settings + * event.interactable.draggable({ snap: { targets: [] }}) + * // fire another move event with re-calculated snap + * event.interaction.move() + * } + * }) + * ``` + * + * Force a move of the current action at the same coordinates. Useful if + * snap/restrict has been changed and you want a movement with the new + * settings. + */ + + }, { + key: "move", + value: function move(signalArg) { + signalArg = utils.extend({ + pointer: this._latestPointer.pointer, + event: this._latestPointer.event, + eventTarget: this._latestPointer.eventTarget, + interaction: this + }, signalArg || {}); + signalArg.phase = _InteractEvent.EventPhase.Move; + + this._doPhase(signalArg); + } // End interact move events and stop auto-scroll unless simulation is running + + }, { + key: "pointerUp", + value: function pointerUp(pointer, event, eventTarget, curEventTarget) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + pointerIndex = this.updatePointer(pointer, event, eventTarget, false); + } + + this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { + pointer: pointer, + pointerIndex: pointerIndex, + event: event, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + interaction: this + }); + + if (!this.simulation) { + this.end(event); + } + + this.pointerIsDown = false; + this.removePointer(pointer, event); + } + }, { + key: "documentBlur", + value: function documentBlur(event) { + this.end(event); + + this._signals.fire('blur', { + event: event, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('move', function (event) { + * if (event.pageX > 1000) { + * // end the current action + * event.interaction.end() + * // stop all further listeners from being called + * event.stopImmediatePropagation() + * } + * }) + * ``` + * + * @param {PointerEvent} [event] + */ + + }, { + key: "end", + value: function end(event) { + this._ending = true; + event = event || this._latestPointer.event; + var endPhaseResult; + + if (this.interacting()) { + endPhaseResult = this._doPhase({ + event: event, + interaction: this, + phase: _InteractEvent.EventPhase.End + }); + } + + this._ending = false; + + if (endPhaseResult === true) { + this.stop(); + } + } + }, { + key: "currentAction", + value: function currentAction() { + return this._interacting ? this.prepared.name : null; + } + }, { + key: "interacting", + value: function interacting() { + return this._interacting; + } + /** */ + + }, { + key: "stop", + value: function stop() { + this._signals.fire('stop', { + interaction: this + }); + + this.interactable = this.element = null; + this._interacting = false; + this._stopped = true; + this.prepared.name = this.prevEvent = null; + } + }, { + key: "getPointerIndex", + value: function getPointerIndex(pointer) { + var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer + + return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { + return curPointer.id === pointerId; + }); + } + }, { + key: "getPointerInfo", + value: function getPointerInfo(pointer) { + return this.pointers[this.getPointerIndex(pointer)]; + } + }, { + key: "updatePointer", + value: function updatePointer(pointer, event, eventTarget, down) { + var id = utils.pointer.getPointerId(pointer); + var pointerIndex = this.getPointerIndex(pointer); + var pointerInfo = this.pointers[pointerIndex]; + down = down === false ? false : down || /(down|start)$/i.test(event.type); + + if (!pointerInfo) { + pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); + pointerIndex = this.pointers.length; + this.pointers.push(pointerInfo); + } else { + pointerInfo.pointer = pointer; + } + + if (down) { + this.pointerIsDown = true; + + if (!this.interacting()) { + utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + utils.pointer.copyCoords(this.coords.cur, this.coords.start); + utils.pointer.copyCoords(this.coords.prev, this.coords.start); + utils.pointer.pointerExtend(this.downPointer, pointer); + this.downEvent = event; + pointerInfo.downTime = this.coords.cur.timeStamp; + pointerInfo.downTarget = eventTarget; + this.pointerWasMoved = false; + } + } + + this._updateLatestPointer(pointer, event, eventTarget); + + this._signals.fire('update-pointer', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + down: down, + pointerInfo: pointerInfo, + pointerIndex: pointerIndex, + interaction: this + }); + + return pointerIndex; + } + }, { + key: "removePointer", + value: function removePointer(pointer, event) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + return; + } + + var pointerInfo = this.pointers[pointerIndex]; + + this._signals.fire('remove-pointer', { + pointer: pointer, + event: event, + pointerIndex: pointerIndex, + pointerInfo: pointerInfo, + interaction: this + }); + + this.pointers.splice(pointerIndex, 1); + } + }, { + key: "_updateLatestPointer", + value: function _updateLatestPointer(pointer, event, eventTarget) { + this._latestPointer.pointer = pointer; + this._latestPointer.event = event; + this._latestPointer.eventTarget = eventTarget; + } + }, { + key: "destroy", + value: function destroy() { + this._latestPointer.pointer = null; + this._latestPointer.event = null; + this._latestPointer.eventTarget = null; + } + }, { + key: "_createPreparedEvent", + value: function _createPreparedEvent(event, phase, preEnd, type) { + var actionName = this.prepared.name; + return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); + } + }, { + key: "_fireEvent", + value: function _fireEvent(iEvent) { + this.interactable.fire(iEvent); + + if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { + this.prevEvent = iEvent; + } + } + }, { + key: "_doPhase", + value: function _doPhase(signalArg) { + var event = signalArg.event, + phase = signalArg.phase, + preEnd = signalArg.preEnd, + type = signalArg.type; + + var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); + + if (beforeResult === false) { + return false; + } + + var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); + + var rect = this.rect; + + if (rect) { + // update the rect modifications + var edges = this.edges || this.prepared.edges || { + left: true, + right: true, + top: true, + bottom: true + }; + + if (edges.top) { + rect.top += iEvent.delta.y; + } + + if (edges.bottom) { + rect.bottom += iEvent.delta.y; + } + + if (edges.left) { + rect.left += iEvent.delta.x; + } + + if (edges.right) { + rect.right += iEvent.delta.x; + } + + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + this._signals.fire("action-".concat(phase), signalArg); + + this._fireEvent(iEvent); + + this._signals.fire("after-action-".concat(phase), signalArg); + + return true; + } + }, { + key: "_now", + value: function _now() { + return Date.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return 1; + } + }]); + + return Interaction; +}(); + +exports.Interaction = Interaction; +var _default = Interaction; +exports["default"] = _default; + +}); +var _$arr_47 = {}; +"use strict"; + +Object.defineProperty(_$arr_47, "__esModule", { + value: true +}); +_$arr_47.contains = contains; +_$arr_47.remove = remove; +_$arr_47.merge = merge; +_$arr_47.from = from; +_$arr_47.findIndex = findIndex; +_$arr_47.find = find; + +function contains(array, target) { + return array.indexOf(target) !== -1; +} + +function remove(array, target) { + return array.splice(array.indexOf(target), 1); +} + +function merge(target, source) { + for (var _i = 0; _i < source.length; _i++) { + var _ref; + + _ref = source[_i]; + var item = _ref; + target.push(item); + } + + return target; +} + +function from(source) { + return merge([], source); +} + +function findIndex(array, func) { + for (var i = 0; i < array.length; i++) { + if (func(array[i], i, array)) { + return i; + } + } + + return -1; +} + +function find(array, func) { + return array[findIndex(array, func)]; +} + +var _$domObjects_50 = {}; +"use strict"; + +Object.defineProperty(_$domObjects_50, "__esModule", { + value: true +}); +_$domObjects_50["default"] = void 0; +var domObjects = { + init: init, + document: null, + DocumentFragment: null, + SVGElement: null, + SVGSVGElement: null, + // eslint-disable-next-line no-undef + SVGElementInstance: null, + Element: null, + HTMLElement: null, + Event: null, + Touch: null, + PointerEvent: null +}; + +function blank() {} + +var _default = domObjects; +_$domObjects_50["default"] = _default; + +function init(window) { + var win = window; + domObjects.document = win.document; + domObjects.DocumentFragment = win.DocumentFragment || blank; + domObjects.SVGElement = win.SVGElement || blank; + domObjects.SVGSVGElement = win.SVGSVGElement || blank; + domObjects.SVGElementInstance = win.SVGElementInstance || blank; + domObjects.Element = win.Element || blank; + domObjects.HTMLElement = win.HTMLElement || domObjects.Element; + domObjects.Event = win.Event; + domObjects.Touch = win.Touch || blank; + domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; +} + +var _$isWindow_58 = {}; +"use strict"; + +Object.defineProperty(_$isWindow_58, "__esModule", { + value: true +}); +_$isWindow_58["default"] = void 0; + +var ___default_58 = function _default(thing) { + return !!(thing && thing.Window) && thing instanceof thing.Window; +}; + +_$isWindow_58["default"] = ___default_58; + +var _$window_66 = {}; +"use strict"; + +Object.defineProperty(_$window_66, "__esModule", { + value: true +}); +_$window_66.init = __init_66; +_$window_66.getWindow = getWindow; +_$window_66["default"] = void 0; + +var _isWindow = _interopRequireDefault(_$isWindow_58); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var win = { + realWindow: undefined, + window: undefined, + getWindow: getWindow, + init: __init_66 +}; + +function __init_66(window) { + // get wrapped window if using Shadow DOM polyfill + win.realWindow = window; // create a TextNode + + var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill + + if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { + // use wrapped window + window = window.wrap(window); + } + + win.window = window; +} + +if (typeof window === 'undefined') { + win.window = undefined; + win.realWindow = undefined; +} else { + __init_66(window); +} + +function getWindow(node) { + if ((0, _isWindow["default"])(node)) { + return node; + } + + var rootNode = node.ownerDocument || node; + return rootNode.defaultView || win.window; +} + +win.init = __init_66; +var ___default_66 = win; +_$window_66["default"] = ___default_66; + +var _$is_57 = {}; +"use strict"; + +Object.defineProperty(_$is_57, "__esModule", { + value: true +}); +_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0; + +var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); + +var _window2 = ___interopRequireDefault_57(_$window_66); + +function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var __window_57 = function window(thing) { + return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); +}; + +_$is_57.window = __window_57; + +var docFrag = function docFrag(thing) { + return object(thing) && thing.nodeType === 11; +}; + +_$is_57.docFrag = docFrag; + +var object = function object(thing) { + return !!thing && _typeof(thing) === 'object'; +}; + +_$is_57.object = object; + +var func = function func(thing) { + return typeof thing === 'function'; +}; + +_$is_57.func = func; + +var number = function number(thing) { + return typeof thing === 'number'; +}; + +_$is_57.number = number; + +var bool = function bool(thing) { + return typeof thing === 'boolean'; +}; + +_$is_57.bool = bool; + +var string = function string(thing) { + return typeof thing === 'string'; +}; + +_$is_57.string = string; + +var element = function element(thing) { + if (!thing || _typeof(thing) !== 'object') { + return false; + } + + var _window = _window2["default"].getWindow(thing) || _window2["default"].window; + + return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 + : thing.nodeType === 1 && typeof thing.nodeName === 'string'; +}; + +_$is_57.element = element; + +var plainObject = function plainObject(thing) { + return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); +}; + +_$is_57.plainObject = plainObject; + +var array = function array(thing) { + return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); +}; + +_$is_57.array = array; + +var _$browser_48 = {}; +"use strict"; + +Object.defineProperty(_$browser_48, "__esModule", { + value: true +}); +_$browser_48["default"] = void 0; + +var _domObjects = ___interopRequireDefault_48(_$domObjects_50); + +var is = _interopRequireWildcard(_$is_57); + +var _window = ___interopRequireDefault_48(_$window_66); + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var browser = { + init: __init_48, + supportsTouch: null, + supportsPointerEvent: null, + isIOS7: null, + isIOS: null, + isIe9: null, + isOperaMobile: null, + prefixedMatchesSelector: null, + pEventTypes: null, + wheelEvent: null +}; + +function __init_48(window) { + var Element = _domObjects["default"].Element; + var navigator = _window["default"].window.navigator; // Does the browser support touch input? + + browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents + + browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; + browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 + + browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); + browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently + + browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector + + browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; + browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { + up: 'MSPointerUp', + down: 'MSPointerDown', + over: 'mouseover', + out: 'mouseout', + move: 'MSPointerMove', + cancel: 'MSPointerCancel' + } : { + up: 'pointerup', + down: 'pointerdown', + over: 'pointerover', + out: 'pointerout', + move: 'pointermove', + cancel: 'pointercancel' + } : null; // because Webkit and Opera still use 'mousewheel' event type + + browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; +} + +var ___default_48 = browser; +_$browser_48["default"] = ___default_48; + +var _$domUtils_51 = {}; +"use strict"; + +Object.defineProperty(_$domUtils_51, "__esModule", { + value: true +}); +_$domUtils_51.nodeContains = nodeContains; +_$domUtils_51.closest = closest; +_$domUtils_51.parentNode = parentNode; +_$domUtils_51.matchesSelector = matchesSelector; +_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; +_$domUtils_51.matchesUpTo = matchesUpTo; +_$domUtils_51.getActualElement = getActualElement; +_$domUtils_51.getScrollXY = getScrollXY; +_$domUtils_51.getElementClientRect = getElementClientRect; +_$domUtils_51.getElementRect = getElementRect; +_$domUtils_51.getPath = getPath; +_$domUtils_51.trySelector = trySelector; + +var _browser = ___interopRequireDefault_51(_$browser_48); + +var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); + +var __is_51 = ___interopRequireWildcard_51(_$is_57); + +var ___window_51 = ___interopRequireWildcard_51(_$window_66); + +function ___getRequireWildcardCache_51() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function nodeContains(parent, child) { + while (child) { + if (child === parent) { + return true; + } + + child = child.parentNode; + } + + return false; +} + +function closest(element, selector) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return element; + } + + element = parentNode(element); + } + + return null; +} + +function parentNode(node) { + var parent = node.parentNode; + + if (__is_51.docFrag(parent)) { + // skip past #shado-root fragments + // tslint:disable-next-line + while ((parent = parent.host) && __is_51.docFrag(parent)) { + continue; + } + + return parent; + } + + return parent; +} + +function matchesSelector(element, selector) { + // remove /deep/ from selectors if shadowDOM polyfill is used + if (___window_51["default"].window !== ___window_51["default"].realWindow) { + selector = selector.replace(/\/deep\//g, ' '); + } + + return element[_browser["default"].prefixedMatchesSelector](selector); +} + +var getParent = function getParent(el) { + return el.parentNode ? el.parentNode : el.host; +}; // Test for the element that's "above" all other qualifiers + + +function indexOfDeepestElement(elements) { + var deepestZoneParents = []; + var deepestZone = elements[0]; + var index = deepestZone ? 0 : -1; + var i; + var n; + + for (i = 1; i < elements.length; i++) { + var dropzone = elements[i]; // an element might belong to multiple selector dropzones + + if (!dropzone || dropzone === deepestZone) { + continue; + } + + if (!deepestZone) { + deepestZone = dropzone; + index = i; + continue; + } // check if the deepest or current are document.documentElement or document.rootElement + // - if the current dropzone is, do nothing and continue + + + if (dropzone.parentNode === dropzone.ownerDocument) { + continue; + } // - if deepest is, update with the current dropzone and continue to next + else if (deepestZone.parentNode === dropzone.ownerDocument) { + deepestZone = dropzone; + index = i; + continue; + } // compare zIndex of siblings + + + if (dropzone.parentNode === deepestZone.parentNode) { + var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0; + var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0; + + if (dropzoneZIndex >= deepestZIndex) { + deepestZone = dropzone; + index = i; + } + + continue; + } // populate the ancestry array for the latest deepest dropzone + + + if (!deepestZoneParents.length) { + var _parent = deepestZone; + var parentParent = void 0; + + while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { + deepestZoneParents.unshift(_parent); + _parent = parentParent; + } + } + + var parent = void 0; // if this element is an svg element and the current deepest is an + // HTMLElement + + if (deepestZone instanceof ___domObjects_51["default"].HTMLElement && dropzone instanceof ___domObjects_51["default"].SVGElement && !(dropzone instanceof ___domObjects_51["default"].SVGSVGElement)) { + if (dropzone === deepestZone.parentNode) { + continue; + } + + parent = dropzone.ownerSVGElement; + } else { + parent = dropzone; + } + + var dropzoneParents = []; + + while (parent.parentNode !== parent.ownerDocument) { + dropzoneParents.unshift(parent); + parent = getParent(parent); + } + + n = 0; // get (position of last common ancestor) + 1 + + while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { + n++; + } + + var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; + var child = parents[0].lastChild; + + while (child) { + if (child === parents[1]) { + deepestZone = dropzone; + index = i; + deepestZoneParents = dropzoneParents; + break; + } else if (child === parents[2]) { + break; + } + + child = child.previousSibling; + } + } + + return index; +} + +function matchesUpTo(element, selector, limit) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return true; + } + + element = parentNode(element); + + if (element === limit) { + return matchesSelector(element, selector); + } + } + + return false; +} + +function getActualElement(element) { + return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; +} + +function getScrollXY(relevantWindow) { + relevantWindow = relevantWindow || ___window_51["default"].window; + return { + x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, + y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop + }; +} + +function getElementClientRect(element) { + var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; + return clientRect && { + left: clientRect.left, + right: clientRect.right, + top: clientRect.top, + bottom: clientRect.bottom, + width: clientRect.width || clientRect.right - clientRect.left, + height: clientRect.height || clientRect.bottom - clientRect.top + }; +} + +function getElementRect(element) { + var clientRect = getElementClientRect(element); + + if (!_browser["default"].isIOS7 && clientRect) { + var scroll = getScrollXY(___window_51["default"].getWindow(element)); + clientRect.left += scroll.x; + clientRect.right += scroll.x; + clientRect.top += scroll.y; + clientRect.bottom += scroll.y; + } + + return clientRect; +} + +function getPath(node) { + var path = []; + + while (node) { + path.push(node); + node = parentNode(node); + } + + return path; +} + +function trySelector(value) { + if (!__is_51.string(value)) { + return false; + } // an exception will be raised if it is invalid + + + ___domObjects_51["default"].document.querySelector(value); + + return true; +} + +var _$clone_49 = {}; +"use strict"; + +Object.defineProperty(_$clone_49, "__esModule", { + value: true +}); +_$clone_49["default"] = clone; + +var arr = ___interopRequireWildcard_49(_$arr_47); + +var __is_49 = ___interopRequireWildcard_49(_$is_57); + +function ___getRequireWildcardCache_49() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function clone(source) { + var dest = {}; + + for (var prop in source) { + var value = source[prop]; + + if (__is_49.plainObject(value)) { + dest[prop] = clone(value); + } else if (__is_49.array(value)) { + dest[prop] = arr.from(value); + } else { + dest[prop] = value; + } + } + + return dest; +} + +var _$pointerExtend_60 = {}; +"use strict"; + +Object.defineProperty(_$pointerExtend_60, "__esModule", { + value: true +}); +_$pointerExtend_60["default"] = void 0; + +function pointerExtend(dest, source) { + for (var prop in source) { + var prefixedPropREs = pointerExtend.prefixedPropREs; + var deprecated = false; // skip deprecated prefixed properties + + for (var vendor in prefixedPropREs) { + if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { + deprecated = true; + break; + } + } + + if (!deprecated && typeof source[prop] !== 'function') { + dest[prop] = source[prop]; + } + } + + return dest; +} + +pointerExtend.prefixedPropREs = { + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ +}; +var ___default_60 = pointerExtend; +_$pointerExtend_60["default"] = ___default_60; + +var _$hypot_55 = {}; +"use strict"; + +Object.defineProperty(_$hypot_55, "__esModule", { + value: true +}); +_$hypot_55["default"] = void 0; + +var ___default_55 = function _default(x, y) { + return Math.sqrt(x * x + y * y); +}; + +_$hypot_55["default"] = ___default_55; + +var _$pointerUtils_61 = {}; +"use strict"; + +Object.defineProperty(_$pointerUtils_61, "__esModule", { + value: true +}); +_$pointerUtils_61["default"] = void 0; + +var ___browser_61 = ___interopRequireDefault_61(_$browser_48); + +var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); + +var domUtils = ___interopRequireWildcard_61(_$domUtils_51); + +var _hypot = ___interopRequireDefault_61(_$hypot_55); + +var __is_61 = ___interopRequireWildcard_61(_$is_57); + +var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); + +function ___getRequireWildcardCache_61() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var pointerUtils = { + copyCoords: function copyCoords(dest, src) { + dest.page = dest.page || {}; + dest.page.x = src.page.x; + dest.page.y = src.page.y; + dest.client = dest.client || {}; + dest.client.x = src.client.x; + dest.client.y = src.client.y; + dest.timeStamp = src.timeStamp; + }, + setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { + targetObj.page.x = cur.page.x - prev.page.x; + targetObj.page.y = cur.page.y - prev.page.y; + targetObj.client.x = cur.client.x - prev.client.x; + targetObj.client.y = cur.client.y - prev.client.y; + targetObj.timeStamp = cur.timeStamp - prev.timeStamp; + }, + setCoordVelocity: function setCoordVelocity(targetObj, delta) { + var dt = Math.max(delta.timeStamp / 1000, 0.001); + targetObj.page.x = delta.page.x / dt; + targetObj.page.y = delta.page.y / dt; + targetObj.client.x = delta.client.x / dt; + targetObj.client.y = delta.client.y / dt; + targetObj.timeStamp = dt; + }, + isNativePointer: function isNativePointer(pointer) { + return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; + }, + // Get specified X/Y coords for mouse or event.touches[0] + getXY: function getXY(type, pointer, xy) { + xy = xy || {}; + type = type || 'page'; + xy.x = pointer[type + 'X']; + xy.y = pointer[type + 'Y']; + return xy; + }, + getPageXY: function getPageXY(pointer, page) { + page = page || { + x: 0, + y: 0 + }; // Opera Mobile handles the viewport and scrolling oddly + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + pointerUtils.getXY('screen', pointer, page); + page.x += window.scrollX; + page.y += window.scrollY; + } else { + pointerUtils.getXY('page', pointer, page); + } + + return page; + }, + getClientXY: function getClientXY(pointer, client) { + client = client || {}; + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + // Opera Mobile handles the viewport and scrolling oddly + pointerUtils.getXY('screen', pointer, client); + } else { + pointerUtils.getXY('client', pointer, client); + } + + return client; + }, + getPointerId: function getPointerId(pointer) { + return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; + }, + setCoords: function setCoords(targetObj, pointers, timeStamp) { + var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; + var tmpXY = {}; + pointerUtils.getPageXY(pointer, tmpXY); + targetObj.page.x = tmpXY.x; + targetObj.page.y = tmpXY.y; + pointerUtils.getClientXY(pointer, tmpXY); + targetObj.client.x = tmpXY.x; + targetObj.client.y = tmpXY.y; + targetObj.timeStamp = timeStamp; + }, + pointerExtend: _pointerExtend["default"], + getTouchPair: function getTouchPair(event) { + var touches = []; // array of touches is supplied + + if (__is_61.array(event)) { + touches[0] = event[0]; + touches[1] = event[1]; + } // an event + else { + if (event.type === 'touchend') { + if (event.touches.length === 1) { + touches[0] = event.touches[0]; + touches[1] = event.changedTouches[0]; + } else if (event.touches.length === 0) { + touches[0] = event.changedTouches[0]; + touches[1] = event.changedTouches[1]; + } + } else { + touches[0] = event.touches[0]; + touches[1] = event.touches[1]; + } + } + + return touches; + }, + pointerAverage: function pointerAverage(pointers) { + var average = { + pageX: 0, + pageY: 0, + clientX: 0, + clientY: 0, + screenX: 0, + screenY: 0 + }; + + for (var _i = 0; _i < pointers.length; _i++) { + var _ref; + + _ref = pointers[_i]; + var pointer = _ref; + + for (var _prop in average) { + average[_prop] += pointer[_prop]; + } + } + + for (var prop in average) { + average[prop] /= pointers.length; + } + + return average; + }, + touchBBox: function touchBBox(event) { + if (!event.length && !(event.touches && event.touches.length > 1)) { + return null; + } + + var touches = pointerUtils.getTouchPair(event); + var minX = Math.min(touches[0].pageX, touches[1].pageX); + var minY = Math.min(touches[0].pageY, touches[1].pageY); + var maxX = Math.max(touches[0].pageX, touches[1].pageX); + var maxY = Math.max(touches[0].pageY, touches[1].pageY); + return { + x: minX, + y: minY, + left: minX, + top: minY, + right: maxX, + bottom: maxY, + width: maxX - minX, + height: maxY - minY + }; + }, + touchDistance: function touchDistance(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[0][sourceX] - touches[1][sourceX]; + var dy = touches[0][sourceY] - touches[1][sourceY]; + return (0, _hypot["default"])(dx, dy); + }, + touchAngle: function touchAngle(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[1][sourceX] - touches[0][sourceX]; + var dy = touches[1][sourceY] - touches[0][sourceY]; + var angle = 180 * Math.atan2(dy, dx) / Math.PI; + return angle; + }, + getPointerType: function getPointerType(pointer) { + return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the "pointer" must + // be either a MouseEvent, TouchEvent, or Touch object + : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; + }, + // [ event.target, event.currentTarget ] + getEventTargets: function getEventTargets(event) { + var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; + return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; + }, + newCoords: function newCoords() { + return { + page: { + x: 0, + y: 0 + }, + client: { + x: 0, + y: 0 + }, + timeStamp: 0 + }; + }, + coordsToEvent: function coordsToEvent(coords) { + var event = { + coords: coords, + + get page() { + return this.coords.page; + }, + + get client() { + return this.coords.client; + }, + + get timeStamp() { + return this.coords.timeStamp; + }, + + get pageX() { + return this.coords.page.x; + }, + + get pageY() { + return this.coords.page.y; + }, + + get clientX() { + return this.coords.client.x; + }, + + get clientY() { + return this.coords.client.y; + }, + + get pointerId() { + return this.coords.pointerId; + }, + + get target() { + return this.coords.target; + }, + + get type() { + return this.coords.type; + }, + + get pointerType() { + return this.coords.pointerType; + }, + + get buttons() { + return this.coords.buttons; + } + + }; + return event; + } +}; +var ___default_61 = pointerUtils; +_$pointerUtils_61["default"] = ___default_61; + +var _$events_52 = {}; +"use strict"; + +Object.defineProperty(_$events_52, "__esModule", { + value: true +}); +_$events_52["default"] = _$events_52.FakeEvent = void 0; + +/* removed: var _$arr_47 = require("./arr"); */; + +var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); + +var __is_52 = ___interopRequireWildcard_52(_$is_57); + +var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); + +var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); + +function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_52() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +var elements = []; +var targets = []; +var delegatedEvents = {}; +var documents = []; + +function add(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target) { + target = { + events: {}, + typeCount: 0 + }; + elementIndex = elements.push(element) - 1; + targets.push(target); + } + + if (!target.events[type]) { + target.events[type] = []; + target.typeCount++; + } + + if (!(0, _$arr_47.contains)(target.events[type], listener)) { + element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].push(listener); + } +} + +function __remove_52(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target || !target.events) { + return; + } + + if (type === 'all') { + for (type in target.events) { + if (target.events.hasOwnProperty(type)) { + __remove_52(element, type, 'all'); + } + } + + return; + } + + if (target.events[type]) { + var len = target.events[type].length; + + if (listener === 'all') { + for (var i = 0; i < len; i++) { + __remove_52(element, type, target.events[type][i], options); + } + + return; + } else { + for (var _i = 0; _i < len; _i++) { + if (target.events[type][_i] === listener) { + element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].splice(_i, 1); + break; + } + } + } + + if (target.events[type] && target.events[type].length === 0) { + target.events[type] = null; + target.typeCount--; + } + } + + if (!target.typeCount) { + targets.splice(elementIndex, 1); + elements.splice(elementIndex, 1); + } +} + +function addDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + + if (!delegatedEvents[type]) { + delegatedEvents[type] = { + contexts: [], + listeners: [], + selectors: [] + }; // add delegate listener functions + + for (var _i2 = 0; _i2 < documents.length; _i2++) { + var _ref; + + _ref = documents[_i2]; + var doc = _ref; + add(doc, type, delegateListener); + add(doc, type, delegateUseCapture, true); + } + } + + var delegated = delegatedEvents[type]; + var index; + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + break; + } + } + + if (index === -1) { + index = delegated.selectors.length; + delegated.selectors.push(selector); + delegated.contexts.push(context); + delegated.listeners.push([]); + } // keep listener and capture and passive flags + + + delegated.listeners[index].push([listener, !!options.capture, options.passive]); +} + +function removeDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var delegated = delegatedEvents[type]; + var matchFound = false; + var index; + + if (!delegated) { + return; + } // count from last index of delegated to 0 + + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + // look for matching selector and context Node + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] + + for (var i = listeners.length - 1; i >= 0; i--) { + var _listeners$i = _slicedToArray(listeners[i], 3), + fn = _listeners$i[0], + capture = _listeners$i[1], + passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match + + + if (fn === listener && capture === !!options.capture && passive === options.passive) { + // remove the listener from the array of listeners + listeners.splice(i, 1); // if all listeners for this interactable have been removed + // remove the interactable from the delegated arrays + + if (!listeners.length) { + delegated.selectors.splice(index, 1); + delegated.contexts.splice(index, 1); + delegated.listeners.splice(index, 1); // remove delegate function from context + + __remove_52(context, type, delegateListener); + __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegatedEvents[type] = null; + } + } // only remove one listener + + + matchFound = true; + break; + } + } + + if (matchFound) { + break; + } + } + } +} // bound to the interactable context when a DOM event +// listener is added to a selector interactable + + +function delegateListener(event, optionalArg) { + var options = getOptions(optionalArg); + var fakeEvent = new FakeEvent(event); + var delegated = delegatedEvents[event.type]; + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), + eventTarget = _pointerUtils$getEven2[0]; + + var element = eventTarget; // climb up document tree looking for selector matches + + while (__is_52.element(element)) { + for (var i = 0; i < delegated.selectors.length; i++) { + var selector = delegated.selectors[i]; + var context = delegated.contexts[i]; + + if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { + var listeners = delegated.listeners[i]; + fakeEvent.currentTarget = element; + + for (var _i3 = 0; _i3 < listeners.length; _i3++) { + var _ref2; + + _ref2 = listeners[_i3]; + + var _ref3 = _ref2, + _ref4 = _slicedToArray(_ref3, 3), + fn = _ref4[0], + capture = _ref4[1], + passive = _ref4[2]; + + if (capture === !!options.capture && passive === options.passive) { + fn(fakeEvent); + } + } + } + } + + element = __domUtils_52.parentNode(element); + } +} + +function delegateUseCapture(event) { + return delegateListener.call(this, event, true); +} + +function getOptions(param) { + return __is_52.object(param) ? param : { + capture: param + }; +} + +var FakeEvent = +/*#__PURE__*/ +function () { + function FakeEvent(originalEvent) { + _classCallCheck(this, FakeEvent); + + this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed + + (0, ___pointerExtend_52["default"])(this, originalEvent); + } + + _createClass(FakeEvent, [{ + key: "preventOriginalDefault", + value: function preventOriginalDefault() { + this.originalEvent.preventDefault(); + } + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.originalEvent.stopPropagation(); + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.originalEvent.stopImmediatePropagation(); + } + }]); + + return FakeEvent; +}(); + +_$events_52.FakeEvent = FakeEvent; +var events = { + add: add, + remove: __remove_52, + addDelegate: addDelegate, + removeDelegate: removeDelegate, + delegateListener: delegateListener, + delegateUseCapture: delegateUseCapture, + delegatedEvents: delegatedEvents, + documents: documents, + supportsOptions: false, + supportsPassive: false, + _elements: elements, + _targets: targets, + init: function init(window) { + window.document.createElement('div').addEventListener('test', null, { + get capture() { + return events.supportsOptions = true; + }, + + get passive() { + return events.supportsPassive = true; + } + + }); + } +}; +var ___default_52 = events; +_$events_52["default"] = ___default_52; + +var _$extend_53 = {}; +"use strict"; + +Object.defineProperty(_$extend_53, "__esModule", { + value: true +}); +_$extend_53["default"] = extend; + +function extend(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + + return dest; +} + +var _$rect_63 = {}; +"use strict"; + +Object.defineProperty(_$rect_63, "__esModule", { + value: true +}); +_$rect_63.getStringOptionResult = getStringOptionResult; +_$rect_63.resolveRectLike = resolveRectLike; +_$rect_63.rectToXY = rectToXY; +_$rect_63.xywhToTlbr = xywhToTlbr; +_$rect_63.tlbrToXywh = tlbrToXywh; +_$rect_63["default"] = void 0; + +/* removed: var _$domUtils_51 = require("./domUtils"); */; + +var _extend = ___interopRequireDefault_63(_$extend_53); + +var __is_63 = ___interopRequireWildcard_63(_$is_57); + +function ___getRequireWildcardCache_63() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function getStringOptionResult(value, target, element) { + if (value === 'parent') { + return (0, _$domUtils_51.parentNode)(element); + } + + if (value === 'self') { + return target.getRect(element); + } + + return (0, _$domUtils_51.closest)(element, value); +} + +function resolveRectLike(value, target, element, functionArgs) { + if (__is_63.string(value)) { + value = getStringOptionResult(value, target, element); + } else if (__is_63.func(value)) { + value = value.apply(void 0, _toConsumableArray(functionArgs)); + } + + if (__is_63.element(value)) { + value = (0, _$domUtils_51.getElementRect)(value); + } + + return value; +} + +function rectToXY(rect) { + return rect && { + x: 'x' in rect ? rect.x : rect.left, + y: 'y' in rect ? rect.y : rect.top + }; +} + +function xywhToTlbr(rect) { + if (rect && !('left' in rect && 'top' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.left = rect.x || 0; + rect.top = rect.y || 0; + rect.right = rect.right || rect.left + rect.width; + rect.bottom = rect.bottom || rect.top + rect.height; + } + + return rect; +} + +function tlbrToXywh(rect) { + if (rect && !('x' in rect && 'y' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.x = rect.left || 0; + rect.y = rect.top || 0; + rect.width = rect.width || rect.right - rect.x; + rect.height = rect.height || rect.bottom - rect.y; + } + + return rect; +} + +var ___default_63 = { + getStringOptionResult: getStringOptionResult, + resolveRectLike: resolveRectLike, + rectToXY: rectToXY, + xywhToTlbr: xywhToTlbr, + tlbrToXywh: tlbrToXywh +}; +_$rect_63["default"] = ___default_63; + +var _$getOriginXY_54 = {}; +"use strict"; + +Object.defineProperty(_$getOriginXY_54, "__esModule", { + value: true +}); +_$getOriginXY_54["default"] = ___default_54; + +/* removed: var _$rect_63 = require("./rect"); */; + +function ___default_54(target, element, action) { + var actionOptions = target.options[action]; + var actionOrigin = actionOptions && actionOptions.origin; + var origin = actionOrigin || target.options.origin; + var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); + return (0, _$rect_63.rectToXY)(originRect) || { + x: 0, + y: 0 + }; +} + +var _$normalizeListeners_59 = {}; +"use strict"; + +Object.defineProperty(_$normalizeListeners_59, "__esModule", { + value: true +}); +_$normalizeListeners_59["default"] = normalize; + +var ___extend_59 = ___interopRequireDefault_59(_$extend_53); + +var __is_59 = ___interopRequireWildcard_59(_$is_57); + +function ___getRequireWildcardCache_59() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function normalize(type, listeners, result) { + result = result || {}; + + if (__is_59.string(type) && type.search(' ') !== -1) { + type = split(type); + } + + if (__is_59.array(type)) { + return type.reduce(function (acc, t) { + return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); + }, result); + } // ({ type: fn }) -> ('', { type: fn }) + + + if (__is_59.object(type)) { + listeners = type; + type = ''; + } + + if (__is_59.func(listeners)) { + result[type] = result[type] || []; + result[type].push(listeners); + } else if (__is_59.array(listeners)) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var l = _ref; + normalize(type, l, result); + } + } else if (__is_59.object(listeners)) { + for (var prefix in listeners) { + var combinedTypes = split(prefix).map(function (p) { + return "".concat(type).concat(p); + }); + normalize(combinedTypes, listeners[prefix], result); + } + } + + return result; +} + +function split(type) { + return type.trim().split(/ +/); +} + +var _$raf_62 = {}; +"use strict"; + +Object.defineProperty(_$raf_62, "__esModule", { + value: true +}); +_$raf_62["default"] = void 0; +var lastTime = 0; + +var _request; + +var _cancel; + +function __init_62(window) { + _request = window.requestAnimationFrame; + _cancel = window.cancelAnimationFrame; + + if (!_request) { + var vendors = ['ms', 'moz', 'webkit', 'o']; + + for (var _i = 0; _i < vendors.length; _i++) { + var vendor = vendors[_i]; + _request = window["".concat(vendor, "RequestAnimationFrame")]; + _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; + } + } + + if (!_request) { + _request = function request(callback) { + var currTime = Date.now(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal + + var token = setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return token; + }; + + _cancel = function cancel(token) { + return clearTimeout(token); + }; + } +} + +var ___default_62 = { + request: function request(callback) { + return _request(callback); + }, + cancel: function cancel(token) { + return _cancel(token); + }, + init: __init_62 +}; +_$raf_62["default"] = ___default_62; + +var _$Signals_46 = {}; +"use strict"; + +Object.defineProperty(_$Signals_46, "__esModule", { + value: true +}); +_$Signals_46["default"] = void 0; + +function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } + +var Signals = +/*#__PURE__*/ +function () { + function Signals() { + ___classCallCheck_46(this, Signals); + + this.listeners = {}; + } + + ___createClass_46(Signals, [{ + key: "on", + value: function on(name, listener) { + if (!this.listeners[name]) { + this.listeners[name] = [listener]; + return; + } + + this.listeners[name].push(listener); + } + }, { + key: "off", + value: function off(name, listener) { + if (!this.listeners[name]) { + return; + } + + var index = this.listeners[name].indexOf(listener); + + if (index !== -1) { + this.listeners[name].splice(index, 1); + } + } + }, { + key: "fire", + value: function fire(name, arg) { + var targetListeners = this.listeners[name]; + + if (!targetListeners) { + return; + } + + for (var _i = 0; _i < targetListeners.length; _i++) { + var _ref; + + _ref = targetListeners[_i]; + var listener = _ref; + + if (listener(arg, name) === false) { + return false; + } + } + } + }]); + + return Signals; +}(); + +var ___default_46 = Signals; +_$Signals_46["default"] = ___default_46; + +var _$utils_56 = {}; +"use strict"; + +Object.defineProperty(_$utils_56, "__esModule", { + value: true +}); +_$utils_56.warnOnce = warnOnce; +_$utils_56._getQBezierValue = _getQBezierValue; +_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; +_$utils_56.easeOutQuad = easeOutQuad; +_$utils_56.copyAction = copyAction; +Object.defineProperty(_$utils_56, "win", { + enumerable: true, + get: function get() { + return ___window_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "browser", { + enumerable: true, + get: function get() { + return ___browser_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "clone", { + enumerable: true, + get: function get() { + return _clone["default"]; + } +}); +Object.defineProperty(_$utils_56, "events", { + enumerable: true, + get: function get() { + return _events["default"]; + } +}); +Object.defineProperty(_$utils_56, "extend", { + enumerable: true, + get: function get() { + return ___extend_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "getOriginXY", { + enumerable: true, + get: function get() { + return _getOriginXY["default"]; + } +}); +Object.defineProperty(_$utils_56, "hypot", { + enumerable: true, + get: function get() { + return ___hypot_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "normalizeListeners", { + enumerable: true, + get: function get() { + return _normalizeListeners["default"]; + } +}); +Object.defineProperty(_$utils_56, "pointer", { + enumerable: true, + get: function get() { + return ___pointerUtils_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "raf", { + enumerable: true, + get: function get() { + return _raf["default"]; + } +}); +Object.defineProperty(_$utils_56, "rect", { + enumerable: true, + get: function get() { + return ___rect_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "Signals", { + enumerable: true, + get: function get() { + return _Signals["default"]; + } +}); +_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; + +var __arr_56 = ___interopRequireWildcard_56(_$arr_47); + +_$utils_56.arr = __arr_56; + +var dom = ___interopRequireWildcard_56(_$domUtils_51); + +_$utils_56.dom = dom; + +var __is_56 = ___interopRequireWildcard_56(_$is_57); + +_$utils_56.is = __is_56; + +var ___window_56 = ___interopRequireDefault_56(_$window_66); + +var ___browser_56 = ___interopRequireDefault_56(_$browser_48); + +var _clone = ___interopRequireDefault_56(_$clone_49); + +var _events = ___interopRequireDefault_56(_$events_52); + +var ___extend_56 = ___interopRequireDefault_56(_$extend_53); + +var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); + +var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); + +var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); + +var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); + +var _raf = ___interopRequireDefault_56(_$raf_62); + +var ___rect_56 = ___interopRequireDefault_56(_$rect_63); + +var _Signals = ___interopRequireDefault_56(_$Signals_46); + +function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_56() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function warnOnce(method, message) { + var warned = false; // eslint-disable-next-line no-shadow + + return function () { + if (!warned) { + ___window_56["default"].window.console.warn(message); + + warned = true; + } + + return method.apply(this, arguments); + }; +} // http://stackoverflow.com/a/5634528/2280888 + + +function _getQBezierValue(t, p1, p2, p3) { + var iT = 1 - t; + return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; +} + +function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { + return { + x: _getQBezierValue(position, startX, cpX, endX), + y: _getQBezierValue(position, startY, cpY, endY) + }; +} // http://gizma.com/easing/ + + +function easeOutQuad(t, b, c, d) { + t /= d; + return -c * t * (t - 2) + b; +} + +function copyAction(dest, src) { + dest.name = src.name; + dest.axis = src.axis; + dest.edges = src.edges; + return dest; +} + +var _$defaultOptions_20 = {}; +"use strict"; + +Object.defineProperty(_$defaultOptions_20, "__esModule", { + value: true +}); +_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; +// tslint:disable no-empty-interface +var defaults = { + base: { + preventDefault: 'auto', + deltaSource: 'page' + }, + perAction: { + enabled: false, + origin: { + x: 0, + y: 0 + } + }, + actions: {} +}; +_$defaultOptions_20.defaults = defaults; +var ___default_20 = defaults; +_$defaultOptions_20["default"] = ___default_20; + +var _$Eventable_14 = {}; +"use strict"; + +Object.defineProperty(_$Eventable_14, "__esModule", { + value: true +}); +_$Eventable_14["default"] = void 0; + +var __arr_14 = ___interopRequireWildcard_14(_$arr_47); + +var ___extend_14 = ___interopRequireDefault_14(_$extend_53); + +var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); + +function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_14() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } + +function fireUntilImmediateStopped(event, listeners) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var listener = _ref; + + if (event.immediatePropagationStopped) { + break; + } + + listener(event); + } +} + +var Eventable = +/*#__PURE__*/ +function () { + function Eventable(options) { + ___classCallCheck_14(this, Eventable); + + this.types = {}; + this.propagationStopped = false; + this.immediatePropagationStopped = false; + this.options = (0, ___extend_14["default"])({}, options || {}); + } + + ___createClass_14(Eventable, [{ + key: "fire", + value: function fire(event) { + var listeners; + var global = this.global; // Interactable#on() listeners + // tslint:disable no-conditional-assignment + + if (listeners = this.types[event.type]) { + fireUntilImmediateStopped(event, listeners); + } // interact.on() listeners + + + if (!event.propagationStopped && global && (listeners = global[event.type])) { + fireUntilImmediateStopped(event, listeners); + } + } + }, { + key: "on", + value: function on(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); + } + } + }, { + key: "off", + value: function off(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + var eventList = this.types[type]; + + if (!eventList || !eventList.length) { + continue; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var subListener = _ref2; + var index = eventList.indexOf(subListener); + + if (index !== -1) { + eventList.splice(index, 1); + } + } + } + } + }, { + key: "getRect", + value: function getRect(_element) { + return null; + } + }]); + + return Eventable; +}(); + +var ___default_14 = Eventable; +_$Eventable_14["default"] = ___default_14; + +var _$Interactable_16 = {}; +"use strict"; + +Object.defineProperty(_$Interactable_16, "__esModule", { + value: true +}); +_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; + +var __arr_16 = ___interopRequireWildcard_16(_$arr_47); + +var ___browser_16 = ___interopRequireDefault_16(_$browser_48); + +var ___clone_16 = ___interopRequireDefault_16(_$clone_49); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_16 = ___interopRequireDefault_16(_$events_52); + +var ___extend_16 = ___interopRequireDefault_16(_$extend_53); + +var __is_16 = ___interopRequireWildcard_16(_$is_57); + +var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +var _Eventable = ___interopRequireDefault_16(_$Eventable_14); + +function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_16() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } + +/** */ +var Interactable = +/*#__PURE__*/ +function () { + /** */ + function Interactable(target, options, defaultContext) { + ___classCallCheck_16(this, Interactable); + + this.events = new _Eventable["default"](); + this._actions = options.actions; + this.target = target; + this._context = options.context || defaultContext; + this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); + this._doc = this._win.document; + this.set(options); + } + + ___createClass_16(Interactable, [{ + key: "setOnEvents", + value: function setOnEvents(actionName, phases) { + if (__is_16.func(phases.onstart)) { + this.on("".concat(actionName, "start"), phases.onstart); + } + + if (__is_16.func(phases.onmove)) { + this.on("".concat(actionName, "move"), phases.onmove); + } + + if (__is_16.func(phases.onend)) { + this.on("".concat(actionName, "end"), phases.onend); + } + + if (__is_16.func(phases.oninertiastart)) { + this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); + } + + return this; + } + }, { + key: "updatePerActionListeners", + value: function updatePerActionListeners(actionName, prev, cur) { + if (__is_16.array(prev) || __is_16.object(prev)) { + this.off(actionName, prev); + } + + if (__is_16.array(cur) || __is_16.object(cur)) { + this.on(actionName, cur); + } + } + }, { + key: "setPerAction", + value: function setPerAction(actionName, options) { + var defaults = this._defaults; // for all the default per-action options + + for (var optionName in options) { + var actionOptions = this.options[actionName]; + var optionValue = options[optionName]; + var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones + + if (optionName === 'listeners') { + this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); + } // if the option value is an array + + + if (isArray) { + actionOptions[optionName] = __arr_16.from(optionValue); + } // if the option value is an object + else if (!isArray && __is_16.plainObject(optionValue)) { + // copy the object + actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults + + if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { + actionOptions[optionName].enabled = optionValue.enabled !== false; + } + } // if the option value is a boolean and the default is an object + else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { + actionOptions[optionName].enabled = optionValue; + } // if it's anything else, do a plain assignment + else { + actionOptions[optionName] = optionValue; + } + } + } + /** + * The default function to get an Interactables bounding rect. Can be + * overridden using {@link Interactable.rectChecker}. + * + * @param {Element} [element] The element to measure. + * @return {object} The object's bounding rectangle. + */ + + }, { + key: "getRect", + value: function getRect(element) { + element = element || (__is_16.element(this.target) ? this.target : null); + + if (__is_16.string(this.target)) { + element = element || this._context.querySelector(this.target); + } + + return (0, _$domUtils_51.getElementRect)(element); + } + /** + * Returns or sets the function used to calculate the interactable's + * element's rectangle + * + * @param {function} [checker] A function which returns this Interactable's + * bounding rectangle. See {@link Interactable.getRect} + * @return {function | object} The checker function or this Interactable + */ + + }, { + key: "rectChecker", + value: function rectChecker(checker) { + if (__is_16.func(checker)) { + this.getRect = checker; + return this; + } + + if (checker === null) { + delete this.getRect; + return this; + } + + return this.getRect; + } + }, { + key: "_backCompatOption", + value: function _backCompatOption(optionName, newValue) { + if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { + this.options[optionName] = newValue; + + for (var _i = 0; _i < this._actions.names.length; _i++) { + var _ref; + + _ref = this._actions.names[_i]; + var action = _ref; + this.options[action][optionName] = newValue; + } + + return this; + } + + return this.options[optionName]; + } + /** + * Gets or sets the origin of the Interactable's element. The x and y + * of the origin will be subtracted from action event coordinates. + * + * @param {Element | object | string} [origin] An HTML or SVG Element whose + * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' + * or any CSS selector + * + * @return {object} The current origin or this Interactable + */ + + }, { + key: "origin", + value: function origin(newValue) { + return this._backCompatOption('origin', newValue); + } + /** + * Returns or sets the mouse coordinate types used to calculate the + * movement of the pointer. + * + * @param {string} [newValue] Use 'client' if you will be scrolling while + * interacting; Use 'page' if you want autoScroll to work + * @return {string | object} The current deltaSource or this Interactable + */ + + }, { + key: "deltaSource", + value: function deltaSource(newValue) { + if (newValue === 'page' || newValue === 'client') { + this.options.deltaSource = newValue; + return this; + } + + return this.options.deltaSource; + } + /** + * Gets the selector context Node of the Interactable. The default is + * `window.document`. + * + * @return {Node} The context Node of this Interactable + */ + + }, { + key: "context", + value: function context() { + return this._context; + } + }, { + key: "inContext", + value: function inContext(element) { + return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); + } + }, { + key: "testIgnoreAllow", + value: function testIgnoreAllow(options, targetNode, eventTarget) { + return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); + } + }, { + key: "testAllow", + value: function testAllow(allowFrom, targetNode, element) { + if (!allowFrom) { + return true; + } + + if (!__is_16.element(element)) { + return false; + } + + if (__is_16.string(allowFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); + } else if (__is_16.element(allowFrom)) { + return (0, _$domUtils_51.nodeContains)(allowFrom, element); + } + + return false; + } + }, { + key: "testIgnore", + value: function testIgnore(ignoreFrom, targetNode, element) { + if (!ignoreFrom || !__is_16.element(element)) { + return false; + } + + if (__is_16.string(ignoreFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); + } else if (__is_16.element(ignoreFrom)) { + return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); + } + + return false; + } + /** + * Calls listeners for the given InteractEvent type bound globally + * and directly to this Interactable + * + * @param {InteractEvent} iEvent The InteractEvent object to be fired on this + * Interactable + * @return {Interactable} this Interactable + */ + + }, { + key: "fire", + value: function fire(iEvent) { + this.events.fire(iEvent); + return this; + } + }, { + key: "_onOff", + value: function _onOff(method, typeArg, listenerArg, options) { + if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { + options = listenerArg; + listenerArg = null; + } + + var addRemove = method === 'on' ? 'add' : 'remove'; + var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); + + for (var type in listeners) { + if (type === 'wheel') { + type = ___browser_16["default"].wheelEvent; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var listener = _ref2; + + // if it is an action event type + if (__arr_16.contains(this._actions.eventTypes, type)) { + this.events[method](type, listener); + } // delegated event + else if (__is_16.string(this.target)) { + ___events_16["default"]["".concat(addRemove, "Delegate")](this.target, this._context, type, listener, options); + } // remove listener from this Interactable's element + else { + ___events_16["default"][addRemove](this.target, type, listener, options); + } + } + } + + return this; + } + /** + * Binds a listener for an InteractEvent, pointerEvent or DOM event. + * + * @param {string | array | object} types The types of events to listen + * for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * addEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "on", + value: function on(types, listener, options) { + return this._onOff('on', types, listener, options); + } + /** + * Removes an InteractEvent, pointerEvent or DOM event listener. + * + * @param {string | array | object} types The types of events that were + * listened for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * removeEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "off", + value: function off(types, listener, options) { + return this._onOff('off', types, listener, options); + } + /** + * Reset the options of this Interactable + * + * @param {object} options The new settings to apply + * @return {object} This Interactable + */ + + }, { + key: "set", + value: function set(options) { + var defaults = this._defaults; + + if (!__is_16.object(options)) { + options = {}; + } + + this.options = (0, ___clone_16["default"])(defaults.base); + + for (var actionName in this._actions.methodDict) { + var methodName = this._actions.methodDict[actionName]; + this.options[actionName] = {}; + this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); + this[methodName](options[actionName]); + } + + for (var setting in options) { + if (__is_16.func(this[setting])) { + this[setting](options[setting]); + } + } + + return this; + } + /** + * Remove this interactable from the list of interactables and remove it's + * action capabilities and event listeners + * + * @return {interact} + */ + + }, { + key: "unset", + value: function unset() { + ___events_16["default"].remove(this.target, 'all'); + + if (__is_16.string(this.target)) { + // remove delegated events + for (var type in ___events_16["default"].delegatedEvents) { + var delegated = ___events_16["default"].delegatedEvents[type]; + + if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { + delegated.selectors.splice(0, 1); + delegated.contexts.splice(0, 1); + delegated.listeners.splice(0, 1); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegated[type] = null; + } + } + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); + } + } else { + ___events_16["default"].remove(this.target, 'all'); + } + } + }, { + key: "_defaults", + get: function get() { + return { + base: {}, + perAction: {}, + actions: {} + }; + } + }]); + + return Interactable; +}(); + +_$Interactable_16.Interactable = Interactable; +var ___default_16 = Interactable; +_$Interactable_16["default"] = ___default_16; + +var _$InteractableSet_17 = {}; +"use strict"; + +Object.defineProperty(_$InteractableSet_17, "__esModule", { + value: true +}); +_$InteractableSet_17["default"] = void 0; + +var __arr_17 = ___interopRequireWildcard_17(_$arr_47); + +var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); + +var ___extend_17 = ___interopRequireDefault_17(_$extend_53); + +var __is_17 = ___interopRequireWildcard_17(_$is_57); + +var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); + +function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_17() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } + +var InteractableSet = +/*#__PURE__*/ +function () { + function InteractableSet(scope) { + var _this = this; + + ___classCallCheck_17(this, InteractableSet); + + this.scope = scope; + this.signals = new ___Signals_17["default"](); // all set interactables + + this.list = []; + this.selectorMap = {}; + this.signals.on('unset', function (_ref) { + var interactable = _ref.interactable; + var target = interactable.target, + context = interactable._context; + var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; + var targetIndex = targetMappings.findIndex(function (m) { + return m.context === context; + }); + + if (targetMappings[targetIndex]) { + // Destroying mappingInfo's context and interactable + targetMappings[targetIndex].context = null; + targetMappings[targetIndex].interactable = null; + } + + targetMappings.splice(targetIndex, 1); + }); + } + + ___createClass_17(InteractableSet, [{ + key: "new", + value: function _new(target, options) { + options = (0, ___extend_17["default"])(options || {}, { + actions: this.scope.actions + }); + var interactable = new this.scope.Interactable(target, options, this.scope.document); + var mappingInfo = { + context: interactable._context, + interactable: interactable + }; + this.scope.addDocument(interactable._doc); + this.list.push(interactable); + + if (__is_17.string(target)) { + if (!this.selectorMap[target]) { + this.selectorMap[target] = []; + } + + this.selectorMap[target].push(mappingInfo); + } else { + if (!interactable.target[this.scope.id]) { + Object.defineProperty(target, this.scope.id, { + value: [], + configurable: true + }); + } + + target[this.scope.id].push(mappingInfo); + } + + this.signals.fire('new', { + target: target, + options: options, + interactable: interactable, + win: this.scope._win + }); + return interactable; + } + }, { + key: "get", + value: function get(target, options) { + var context = options && options.context || this.scope.document; + var isSelector = __is_17.string(target); + var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; + + if (!targetMappings) { + return null; + } + + var found = __arr_17.find(targetMappings, function (m) { + return m.context === context && (isSelector || m.interactable.inContext(target)); + }); + return found && found.interactable; + } + }, { + key: "forEachMatch", + value: function forEachMatch(node, callback) { + for (var _i = 0; _i < this.list.length; _i++) { + var _ref2; + + _ref2 = this.list[_i]; + var interactable = _ref2; + var ret = void 0; + + if ((__is_17.string(interactable.target) // target is a selector and the element matches + ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element + node === interactable.target) && // the element is in context + interactable.inContext(node)) { + ret = callback(interactable); + } + + if (ret !== undefined) { + return ret; + } + } + } + }]); + + return InteractableSet; +}(); + +_$InteractableSet_17["default"] = InteractableSet; + +var _$BaseEvent_13 = {}; +"use strict"; + +Object.defineProperty(_$BaseEvent_13, "__esModule", { + value: true +}); +_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; + +function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } + +var EventPhase; +_$BaseEvent_13.EventPhase = EventPhase; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); + +var BaseEvent = +/*#__PURE__*/ +function () { + function BaseEvent(interaction) { + ___classCallCheck_13(this, BaseEvent); + + this.immediatePropagationStopped = false; + this.propagationStopped = false; + this._interaction = interaction; + } + + ___createClass_13(BaseEvent, [{ + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }, { + key: "interaction", + get: function get() { + return this._interaction._proxy; + } + }]); + + return BaseEvent; +}(); + +_$BaseEvent_13.BaseEvent = BaseEvent; +var ___default_13 = BaseEvent; +_$BaseEvent_13["default"] = ___default_13; + +var _$InteractEvent_15 = {}; +"use strict"; + +Object.defineProperty(_$InteractEvent_15, "__esModule", { + value: true +}); +_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; + +var ___extend_15 = ___interopRequireDefault_15(_$extend_53); + +var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); + +var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); + +var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); + +var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); + +function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___typeof_15(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_15(obj); } + +function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var __EventPhase_15; +_$InteractEvent_15.EventPhase = __EventPhase_15; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); + +var InteractEvent = +/*#__PURE__*/ +function (_BaseEvent) { + _inherits(InteractEvent, _BaseEvent); + + /** */ + function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { + var _this; + + ___classCallCheck_15(this, InteractEvent); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); + element = element || interaction.element; + var target = interaction.interactable; + var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; + var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); + var starting = phase === 'start'; + var ending = phase === 'end'; + var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; + var coords = starting ? interaction.coords.start : ending ? { + page: prevEvent.page, + client: prevEvent.client, + timeStamp: interaction.coords.cur.timeStamp + } : interaction.coords.cur; + _this.page = (0, ___extend_15["default"])({}, coords.page); + _this.client = (0, ___extend_15["default"])({}, coords.client); + _this.rect = (0, ___extend_15["default"])({}, interaction.rect); + _this.timeStamp = coords.timeStamp; + + if (!ending) { + _this.page.x -= origin.x; + _this.page.y -= origin.y; + _this.client.x -= origin.x; + _this.client.y -= origin.y; + } + + _this.ctrlKey = event.ctrlKey; + _this.altKey = event.altKey; + _this.shiftKey = event.shiftKey; + _this.metaKey = event.metaKey; + _this.button = event.button; + _this.buttons = event.buttons; + _this.target = element; + _this.currentTarget = element; + _this.relatedTarget = related || null; + _this.preEnd = preEnd; + _this.type = type || actionName + (phase || ''); + _this.interactable = target; + _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; + _this.x0 = interaction.coords.start.page.x - origin.x; + _this.y0 = interaction.coords.start.page.y - origin.y; + _this.clientX0 = interaction.coords.start.client.x - origin.x; + _this.clientY0 = interaction.coords.start.client.y - origin.y; + + if (starting || ending) { + _this.delta = { + x: 0, + y: 0 + }; + } else { + _this.delta = { + x: _this[deltaSource].x - prevEvent[deltaSource].x, + y: _this[deltaSource].y - prevEvent[deltaSource].y + }; + } + + _this.dt = interaction.coords.delta.timeStamp; + _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second + + _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); + _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); + _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; + return _this; + } + + ___createClass_15(InteractEvent, [{ + key: "getSwipe", + value: function getSwipe() { + var interaction = this._interaction; + + if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { + return null; + } + + var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; + var overlap = 22.5; + + if (angle < 0) { + angle += 360; + } + + var left = 135 - overlap <= angle && angle < 225 + overlap; + var up = 225 - overlap <= angle && angle < 315 + overlap; + var right = !left && (315 - overlap <= angle || angle < 45 + overlap); + var down = !up && 45 - overlap <= angle && angle < 135 + overlap; + return { + up: up, + down: down, + left: left, + right: right, + angle: angle, + speed: interaction.prevEvent.speed, + velocity: { + x: interaction.prevEvent.velocityX, + y: interaction.prevEvent.velocityY + } + }; + } + }, { + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "pageX", + get: function get() { + return this.page.x; + }, + set: function set(value) { + this.page.x = value; + } + }, { + key: "pageY", + get: function get() { + return this.page.y; + }, + set: function set(value) { + this.page.y = value; + } + }, { + key: "clientX", + get: function get() { + return this.client.x; + }, + set: function set(value) { + this.client.x = value; + } + }, { + key: "clientY", + get: function get() { + return this.client.y; + }, + set: function set(value) { + this.client.y = value; + } + }, { + key: "dx", + get: function get() { + return this.delta.x; + }, + set: function set(value) { + this.delta.x = value; + } + }, { + key: "dy", + get: function get() { + return this.delta.y; + }, + set: function set(value) { + this.delta.y = value; + } + }, { + key: "velocityX", + get: function get() { + return this.velocity.x; + }, + set: function set(value) { + this.velocity.x = value; + } + }, { + key: "velocityY", + get: function get() { + return this.velocity.y; + }, + set: function set(value) { + this.velocity.y = value; + } + }]); + + return InteractEvent; +}(_BaseEvent2["default"]); + +_$InteractEvent_15.InteractEvent = InteractEvent; +var ___default_15 = InteractEvent; +_$InteractEvent_15["default"] = ___default_15; + +var _$PointerInfo_19 = {}; +"use strict"; + +Object.defineProperty(_$PointerInfo_19, "__esModule", { + value: true +}); +_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; + +function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/* eslint-disable @typescript-eslint/no-parameter-properties */ +var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { + ___classCallCheck_19(this, PointerInfo); + + this.id = id; + this.pointer = pointer; + this.event = event; + this.downTime = downTime; + this.downTarget = downTarget; +}; + +_$PointerInfo_19.PointerInfo = PointerInfo; +var ___default_19 = PointerInfo; +_$PointerInfo_19["default"] = ___default_19; + +var _$interactionFinder_22 = {}; +"use strict"; + +Object.defineProperty(_$interactionFinder_22, "__esModule", { + value: true +}); +_$interactionFinder_22["default"] = void 0; + +var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); + +function ___getRequireWildcardCache_22() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +var finder = { + methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'], + search: function search(details) { + for (var _i = 0; _i < finder.methodOrder.length; _i++) { + var _ref; + + _ref = finder.methodOrder[_i]; + var method = _ref; + var interaction = finder[method](details); + + if (interaction) { + return interaction; + } + } + }, + // try to resume simulation with a new pointer + simulationResume: function simulationResume(_ref2) { + var pointerType = _ref2.pointerType, + eventType = _ref2.eventType, + eventTarget = _ref2.eventTarget, + scope = _ref2.scope; + + if (!/down|start/i.test(eventType)) { + return null; + } + + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref3; + + _ref3 = scope.interactions.list[_i2]; + var interaction = _ref3; + var element = eventTarget; + + if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { + while (element) { + // if the element is the interaction element + if (element === interaction.element) { + return interaction; + } + + element = __dom_22.parentNode(element); + } + } + } + + return null; + }, + // if it's a mouse or pen interaction + mouseOrPen: function mouseOrPen(_ref4) { + var pointerId = _ref4.pointerId, + pointerType = _ref4.pointerType, + eventType = _ref4.eventType, + scope = _ref4.scope; + + if (pointerType !== 'mouse' && pointerType !== 'pen') { + return null; + } + + var firstNonActive; + + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref5; + + _ref5 = scope.interactions.list[_i3]; + var interaction = _ref5; + + if (interaction.pointerType === pointerType) { + // if it's a down event, skip interactions with running simulations + if (interaction.simulation && !hasPointerId(interaction, pointerId)) { + continue; + } // if the interaction is active, return it immediately + + + if (interaction.interacting()) { + return interaction; + } // otherwise save it and look for another active interaction + else if (!firstNonActive) { + firstNonActive = interaction; + } + } + } // if no active mouse interaction was found use the first inactive mouse + // interaction + + + if (firstNonActive) { + return firstNonActive; + } // find any mouse or pen interaction. + // ignore the interaction if the eventType is a *down, and a simulation + // is active + + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref6; + + _ref6 = scope.interactions.list[_i4]; + var _interaction = _ref6; + + if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { + return _interaction; + } + } + + return null; + }, + // get interaction that has this pointer + hasPointer: function hasPointer(_ref7) { + var pointerId = _ref7.pointerId, + scope = _ref7.scope; + + for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { + var _ref8; + + _ref8 = scope.interactions.list[_i5]; + var interaction = _ref8; + + if (hasPointerId(interaction, pointerId)) { + return interaction; + } + } + + return null; + }, + // get first idle interaction with a matching pointerType + idle: function idle(_ref9) { + var pointerType = _ref9.pointerType, + scope = _ref9.scope; + + for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { + var _ref10; + + _ref10 = scope.interactions.list[_i6]; + var interaction = _ref10; + + // if there's already a pointer held down + if (interaction.pointers.length === 1) { + var target = interaction.interactable; // don't add this pointer if there is a target interactable and it + // isn't gesturable + + if (target && !(target.options.gesture && target.options.gesture.enabled)) { + continue; + } + } // maximum of 2 pointers per interaction + else if (interaction.pointers.length >= 2) { + continue; + } + + if (!interaction.interacting() && pointerType === interaction.pointerType) { + return interaction; + } + } + + return null; + } +}; + +function hasPointerId(interaction, pointerId) { + return interaction.pointers.some(function (_ref11) { + var id = _ref11.id; + return id === pointerId; + }); +} + +var ___default_22 = finder; +_$interactionFinder_22["default"] = ___default_22; + +var _$drag_1 = {}; +"use strict"; + +Object.defineProperty(_$drag_1, "__esModule", { + value: true +}); +_$drag_1["default"] = void 0; + +var ___scope_1 = _$scope_24({}); + +var __arr_1 = ___interopRequireWildcard_1(_$arr_47); + +var __is_1 = ___interopRequireWildcard_1(_$is_57); + +function ___getRequireWildcardCache_1() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +___scope_1.ActionName.Drag = 'drag'; + +function __install_1(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('before-action-move', beforeMove); + interactions.signals.on('action-resume', beforeMove); // dragmove + + interactions.signals.on('action-move', move); + Interactable.prototype.draggable = drag.draggable; + actions[___scope_1.ActionName.Drag] = drag; + actions.names.push(___scope_1.ActionName.Drag); + __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); + actions.methodDict.drag = 'draggable'; + defaults.actions.drag = drag.defaults; +} + +function beforeMove(_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x') { + interaction.coords.cur.page.y = interaction.coords.start.page.y; + interaction.coords.cur.client.y = interaction.coords.start.client.y; + interaction.coords.velocity.client.y = 0; + interaction.coords.velocity.page.y = 0; + } else if (axis === 'y') { + interaction.coords.cur.page.x = interaction.coords.start.page.x; + interaction.coords.cur.client.x = interaction.coords.start.client.x; + interaction.coords.velocity.client.x = 0; + interaction.coords.velocity.page.x = 0; + } +} + +function move(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x' || axis === 'y') { + var opposite = axis === 'x' ? 'y' : 'x'; + iEvent.page[opposite] = interaction.coords.start.page[opposite]; + iEvent.client[opposite] = interaction.coords.start.client[opposite]; + iEvent.delta[opposite] = 0; + } +} +/** + * ```js + * interact(element).draggable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // the axis in which the first movement must be + * // for the drag sequence to start + * // 'xy' by default - any direction + * startAxis: 'x' || 'y' || 'xy', + * + * // 'xy' by default - don't restrict to one axis (move in any direction) + * // 'x' or 'y' to restrict movement to either axis + * // 'start' to restrict movement to the axis the drag started in + * lockAxis: 'x' || 'y' || 'xy' || 'start', + * + * // max number of drags that can happen concurrently + * // with elements of this Interactable. Infinity by default + * max: Infinity, + * + * // max number of drags that can target the same element+Interactable + * // 1 by default + * maxPerElement: 2 + * }) + * + * var isDraggable = interact('element').draggable(); // true + * ``` + * + * Get or set whether drag actions can be performed on the target + * + * @alias Interactable.prototype.draggable + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on drag events (object makes the Interactable + * draggable) + * @return {boolean | Interactable} boolean indicating if this can be the + * target of drag events, or this Interctable + */ + + +var draggable = function draggable(options) { + if (__is_1.object(options)) { + this.options.drag.enabled = options.enabled !== false; + this.setPerAction('drag', options); + this.setOnEvents('drag', options); + + if (/^(xy|x|y|start)$/.test(options.lockAxis)) { + this.options.drag.lockAxis = options.lockAxis; + } + + if (/^(xy|x|y)$/.test(options.startAxis)) { + this.options.drag.startAxis = options.startAxis; + } + + return this; + } + + if (__is_1.bool(options)) { + this.options.drag.enabled = options; + return this; + } + + return this.options.drag; +}; + +var drag = { + id: 'actions/drag', + install: __install_1, + draggable: draggable, + beforeMove: beforeMove, + move: move, + defaults: { + startAxis: 'xy', + lockAxis: 'xy' + }, + checker: function checker(_pointer, _event, interactable) { + var dragOptions = interactable.options.drag; + return dragOptions.enabled ? { + name: 'drag', + axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis + } : null; + }, + getCursor: function getCursor() { + return 'move'; + } +}; +var ___default_1 = drag; +_$drag_1["default"] = ___default_1; + +var _$DropEvent_2 = {}; +"use strict"; + +Object.defineProperty(_$DropEvent_2, "__esModule", { + value: true +}); +_$DropEvent_2["default"] = void 0; + +var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); + +var __arr_2 = ___interopRequireWildcard_2(_$arr_47); + +function ___getRequireWildcardCache_2() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___typeof_2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_2(obj); } + +function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } + +function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } + +function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } + +function ___inherits_2(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); } + +function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } + +var DropEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_2(DropEvent, _BaseEvent); + + /** + * Class of events fired on dropzones during drags with acceptable targets. + */ + function DropEvent(dropState, dragEvent, type) { + var _this; + + ___classCallCheck_2(this, DropEvent); + + _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); + _this.propagationStopped = false; + _this.immediatePropagationStopped = false; + + var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, + element = _ref.element, + dropzone = _ref.dropzone; + + _this.type = type; + _this.target = element; + _this.currentTarget = element; + _this.dropzone = dropzone; + _this.dragEvent = dragEvent; + _this.relatedTarget = dragEvent.target; + _this.draggable = dragEvent.interactable; + _this.timeStamp = dragEvent.timeStamp; + return _this; + } + /** + * If this is a `dropactivate` event, the dropzone element will be + * deactivated. + * + * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the + * dropzone element and more. + */ + + + ___createClass_2(DropEvent, [{ + key: "reject", + value: function reject() { + var _this2 = this; + + var dropState = this._interaction.dropState; + + if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { + return; + } + + dropState.prev.dropzone = this.dropzone; + dropState.prev.element = this.target; + dropState.rejected = true; + dropState.events.enter = null; + this.stopImmediatePropagation(); + + if (this.type === 'dropactivate') { + var activeDrops = dropState.activeDrops; + var index = __arr_2.findIndex(activeDrops, function (_ref2) { + var dropzone = _ref2.dropzone, + element = _ref2.element; + return dropzone === _this2.dropzone && element === _this2.target; + }); + dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); + var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); + deactivateEvent.dropzone = this.dropzone; + deactivateEvent.target = this.target; + this.dropzone.fire(deactivateEvent); + } else { + this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); + } + } + }, { + key: "preventDefault", + value: function preventDefault() {} + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }]); + + return DropEvent; +}(___BaseEvent2_2["default"]); + +var ___default_2 = DropEvent; +_$DropEvent_2["default"] = ___default_2; + +var _$drop_3 = {}; +"use strict"; + +Object.defineProperty(_$drop_3, "__esModule", { + value: true +}); +_$drop_3["default"] = void 0; + +var __utils_3 = ___interopRequireWildcard_3(_$utils_56); + +var _drag = ___interopRequireDefault_3(_$drag_1); + +var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); + +function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_3() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_3(scope) { + var actions = scope.actions, + interact = scope.interact, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_drag["default"]); + interactions.signals.on('before-action-start', function (_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + interaction.dropState = { + cur: { + dropzone: null, + element: null + }, + prev: { + dropzone: null, + element: null + }, + rejected: null, + events: null, + activeDrops: null + }; + }); + interactions.signals.on('after-action-start', function (_ref2) { + var interaction = _ref2.interaction, + event = _ref2.event, + dragEvent = _ref2.iEvent; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; // reset active dropzones + + dropState.activeDrops = null; + dropState.events = null; + dropState.activeDrops = getActiveDrops(scope, interaction.element); + dropState.events = getDropEvents(interaction, event, dragEvent); + + if (dropState.events.activate) { + fireActivationEvents(dropState.activeDrops, dropState.events.activate); + } + }); // FIXME proper signal types + + interactions.signals.on('action-move', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('action-end', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('after-action-move', function (_ref3) { + var interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + interaction.dropState.events = {}; + }); + interactions.signals.on('after-action-end', function (_ref4) { + var interaction = _ref4.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + }); + interactions.signals.on('stop', function (_ref5) { + var interaction = _ref5.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; + + if (dropState) { + dropState.activeDrops = null; + dropState.events = null; + dropState.cur.dropzone = null; + dropState.cur.element = null; + dropState.prev.dropzone = null; + dropState.prev.element = null; + dropState.rejected = false; + } + }); + /** + * + * ```js + * interact('.drop').dropzone({ + * accept: '.can-drop' || document.getElementById('single-drop'), + * overlap: 'pointer' || 'center' || zeroToOne + * } + * ``` + * + * Returns or sets whether draggables can be dropped onto this target to + * trigger drop events + * + * Dropzones can receive the following events: + * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends + * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone + * - `dragmove` when a draggable that has entered the dropzone is moved + * - `drop` when a draggable is dropped into this dropzone + * + * Use the `accept` option to allow only elements that match the given CSS + * selector or element. The value can be: + * + * - **an Element** - only that element can be dropped into this dropzone. + * - **a string**, - the element being dragged must match it as a CSS selector. + * - **`null`** - accept options is cleared - it accepts any element. + * + * Use the `overlap` option to set how drops are checked for. The allowed + * values are: + * + * - `'pointer'`, the pointer must be over the dropzone (default) + * - `'center'`, the draggable element's center must be over the dropzone + * - a number from 0-1 which is the `(intersection area) / (draggable area)`. + * e.g. `0.5` for drop to happen when half of the area of the draggable is + * over the dropzone + * + * Use the `checker` option to specify a function to check if a dragged element + * is over this Interactable. + * + * @param {boolean | object | null} [options] The new options to be set. + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.dropzone = function (options) { + return dropzoneMethod(this, options); + }; + /** + * ```js + * interact(target) + * .dropChecker(function(dragEvent, // related dragmove or dragend event + * event, // TouchEvent/PointerEvent/MouseEvent + * dropped, // bool result of the default checker + * dropzone, // dropzone Interactable + * dropElement, // dropzone elemnt + * draggable, // draggable Interactable + * draggableElement) {// draggable element + * + * return dropped && event.target.hasAttribute('allow-drop') + * } + * ``` + */ + + + Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { + return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); + }; + /** + * Returns or sets whether the dimensions of dropzone elements are calculated + * on every dragmove or only on dragstart for the default dropChecker + * + * @param {boolean} [newValue] True to check on each move. False to check only + * before start + * @return {boolean | interact} The current setting or interact + */ + + + interact.dynamicDrop = function (newValue) { + if (__utils_3.is.bool(newValue)) { + // if (dragging && scope.dynamicDrop !== newValue && !newValue) { + // calcRects(dropzones) + // } + scope.dynamicDrop = newValue; + return interact; + } + + return scope.dynamicDrop; + }; + + __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); + actions.methodDict.drop = 'dropzone'; + scope.dynamicDrop = false; + defaults.actions.drop = drop.defaults; +} + +function collectDrops(_ref6, draggableElement) { + var interactables = _ref6.interactables; + var drops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i = 0; _i < interactables.list.length; _i++) { + var _ref7; + + _ref7 = interactables.list[_i]; + var dropzone = _ref7; + + if (!dropzone.options.drop.enabled) { + continue; + } + + var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting + + if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({ + dropzone: dropzone, + draggableElement: draggableElement + })) { + continue; + } // query for new elements if necessary + + + var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; + + for (var _i2 = 0; _i2 < dropElements.length; _i2++) { + var _ref8; + + _ref8 = dropElements[_i2]; + var dropzoneElement = _ref8; + + if (dropzoneElement !== draggableElement) { + drops.push({ + dropzone: dropzone, + element: dropzoneElement + }); + } + } + } + + return drops; +} + +function fireActivationEvents(activeDrops, event) { + // loop through all active dropzones and trigger event + for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { + var _ref9; + + _ref9 = activeDrops[_i3]; + var _ref10 = _ref9, + dropzone = _ref10.dropzone, + element = _ref10.element; + event.dropzone = dropzone; // set current element as event target + + event.target = element; + dropzone.fire(event); + event.propagationStopped = event.immediatePropagationStopped = false; + } +} // return a new array of possible drops. getActiveDrops should always be +// called when a drag has just started or a drag event happens while +// dynamicDrop is true + + +function getActiveDrops(scope, dragElement) { + // get dropzones and their elements that could receive the draggable + var activeDrops = collectDrops(scope, dragElement); + + for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { + var _ref11; + + _ref11 = activeDrops[_i4]; + var activeDrop = _ref11; + activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); + } + + return activeDrops; +} + +function getDrop(_ref12, dragEvent, pointerEvent) { + var dropState = _ref12.dropState, + draggable = _ref12.interactable, + dragElement = _ref12.element; + var validDrops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { + var _ref13; + + _ref13 = dropState.activeDrops[_i5]; + var _ref14 = _ref13, + dropzone = _ref14.dropzone, + dropzoneElement = _ref14.element, + rect = _ref14.rect; + validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); + } // get the most appropriate dropzone based on DOM depth and order + + + var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); + return dropState.activeDrops[dropIndex] || null; +} + +function getDropEvents(interaction, _pointerEvent, dragEvent) { + var dropState = interaction.dropState; + var dropEvents = { + enter: null, + leave: null, + activate: null, + deactivate: null, + move: null, + drop: null + }; + + if (dragEvent.type === 'dragstart') { + dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); + dropEvents.activate.target = null; + dropEvents.activate.dropzone = null; + } + + if (dragEvent.type === 'dragend') { + dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); + dropEvents.deactivate.target = null; + dropEvents.deactivate.dropzone = null; + } + + if (dropState.rejected) { + return dropEvents; + } + + if (dropState.cur.element !== dropState.prev.element) { + // if there was a previous dropzone, create a dragleave event + if (dropState.prev.dropzone) { + dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); + dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; + dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; + } // if dropzone is not null, create a dragenter event + + + if (dropState.cur.dropzone) { + dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); + dragEvent.dragEnter = dropState.cur.element; + dragEvent.dropzone = dropState.cur.dropzone; + } + } + + if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { + dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); + dragEvent.dropzone = dropState.cur.dropzone; + dragEvent.relatedTarget = dropState.cur.element; + } + + if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { + dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); + dropEvents.move.dragmove = dragEvent; + dragEvent.dropzone = dropState.cur.dropzone; + } + + return dropEvents; +} + +function fireDropEvents(interaction, events) { + var dropState = interaction.dropState; + var activeDrops = dropState.activeDrops, + cur = dropState.cur, + prev = dropState.prev; + + if (events.leave) { + prev.dropzone.fire(events.leave); + } + + if (events.move) { + cur.dropzone.fire(events.move); + } + + if (events.enter) { + cur.dropzone.fire(events.enter); + } + + if (events.drop) { + cur.dropzone.fire(events.drop); + } + + if (events.deactivate) { + fireActivationEvents(activeDrops, events.deactivate); + } + + dropState.prev.dropzone = cur.dropzone; + dropState.prev.element = cur.element; +} + +function onEventCreated(_ref15, scope) { + var interaction = _ref15.interaction, + iEvent = _ref15.iEvent, + event = _ref15.event; + + if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { + return; + } + + var dropState = interaction.dropState; + + if (scope.dynamicDrop) { + dropState.activeDrops = getActiveDrops(scope, interaction.element); + } + + var dragEvent = iEvent; + var dropResult = getDrop(interaction, dragEvent, event); // update rejected status + + dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; + dropState.cur.dropzone = dropResult && dropResult.dropzone; + dropState.cur.element = dropResult && dropResult.element; + dropState.events = getDropEvents(interaction, event, dragEvent); +} + +function dropzoneMethod(interactable, options) { + if (__utils_3.is.object(options)) { + interactable.options.drop.enabled = options.enabled !== false; + + if (options.listeners) { + var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' + + var corrected = Object.keys(normalized).reduce(function (acc, type) { + var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; + acc[correctedType] = normalized[type]; + return acc; + }, {}); + interactable.off(interactable.options.drop.listeners); + interactable.on(corrected); + interactable.options.drop.listeners = corrected; + } + + if (__utils_3.is.func(options.ondrop)) { + interactable.on('drop', options.ondrop); + } + + if (__utils_3.is.func(options.ondropactivate)) { + interactable.on('dropactivate', options.ondropactivate); + } + + if (__utils_3.is.func(options.ondropdeactivate)) { + interactable.on('dropdeactivate', options.ondropdeactivate); + } + + if (__utils_3.is.func(options.ondragenter)) { + interactable.on('dragenter', options.ondragenter); + } + + if (__utils_3.is.func(options.ondragleave)) { + interactable.on('dragleave', options.ondragleave); + } + + if (__utils_3.is.func(options.ondropmove)) { + interactable.on('dropmove', options.ondropmove); + } + + if (/^(pointer|center)$/.test(options.overlap)) { + interactable.options.drop.overlap = options.overlap; + } else if (__utils_3.is.number(options.overlap)) { + interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); + } + + if ('accept' in options) { + interactable.options.drop.accept = options.accept; + } + + if ('checker' in options) { + interactable.options.drop.checker = options.checker; + } + + return interactable; + } + + if (__utils_3.is.bool(options)) { + interactable.options.drop.enabled = options; + return interactable; + } + + return interactable.options.drop; +} + +function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { + var dropped = false; // if the dropzone has no rect (eg. display: none) + // call the custom dropChecker or just return false + + if (!(rect = rect || interactable.getRect(dropElement))) { + return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; + } + + var dropOverlap = interactable.options.drop.overlap; + + if (dropOverlap === 'pointer') { + var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); + var page = __utils_3.pointer.getPageXY(dragEvent); + page.x += origin.x; + page.y += origin.y; + var horizontal = page.x > rect.left && page.x < rect.right; + var vertical = page.y > rect.top && page.y < rect.bottom; + dropped = horizontal && vertical; + } + + var dragRect = draggable.getRect(draggableElement); + + if (dragRect && dropOverlap === 'center') { + var cx = dragRect.left + dragRect.width / 2; + var cy = dragRect.top + dragRect.height / 2; + dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; + } + + if (dragRect && __utils_3.is.number(dropOverlap)) { + var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top)); + var overlapRatio = overlapArea / (dragRect.width * dragRect.height); + dropped = overlapRatio >= dropOverlap; + } + + if (interactable.options.drop.checker) { + dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); + } + + return dropped; +} + +var drop = { + id: 'actions/drop', + install: __install_3, + getActiveDrops: getActiveDrops, + getDrop: getDrop, + getDropEvents: getDropEvents, + fireDropEvents: fireDropEvents, + defaults: { + enabled: false, + accept: null, + overlap: 'pointer' + } +}; +var ___default_3 = drop; +_$drop_3["default"] = ___default_3; + +var _$gesture_4 = {}; +"use strict"; + +Object.defineProperty(_$gesture_4, "__esModule", { + value: true +}); +_$gesture_4["default"] = void 0; + +var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); + +var ___scope_4 = _$scope_24({}); + +var __utils_4 = ___interopRequireWildcard_4(_$utils_56); + +function ___getRequireWildcardCache_4() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +___scope_4.ActionName.Gesture = 'gesture'; + +function __install_4(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + /** + * ```js + * interact(element).gesturable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // limit multiple gestures. + * // See the explanation in {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isGestureable = interact(element).gesturable() + * ``` + * + * Gets or sets whether multitouch gestures can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on gesture events (makes the Interactable gesturable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of gesture events, or this Interactable + */ + + Interactable.prototype.gesturable = function (options) { + if (__utils_4.is.object(options)) { + this.options.gesture.enabled = options.enabled !== false; + this.setPerAction('gesture', options); + this.setOnEvents('gesture', options); + return this; + } + + if (__utils_4.is.bool(options)) { + this.options.gesture.enabled = options; + return this; + } + + return this.options.gesture; + }; + + interactions.signals.on('action-start', updateGestureProps); + interactions.signals.on('action-move', updateGestureProps); + interactions.signals.on('action-end', updateGestureProps); + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.gesture = { + angle: 0, + distance: 0, + scale: 1, + startAngle: 0, + startDistance: 0 + }; + }); + actions[___scope_4.ActionName.Gesture] = gesture; + actions.names.push(___scope_4.ActionName.Gesture); + __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); + actions.methodDict.gesture = 'gesturable'; + defaults.actions.gesture = gesture.defaults; +} + +var gesture = { + id: 'actions/gesture', + install: __install_4, + defaults: {}, + checker: function checker(_pointer, _event, _interactable, _element, interaction) { + if (interaction.pointers.length >= 2) { + return { + name: 'gesture' + }; + } + + return null; + }, + getCursor: function getCursor() { + return ''; + } +}; + +function updateGestureProps(_ref2) { + var interaction = _ref2.interaction, + iEvent = _ref2.iEvent, + event = _ref2.event, + phase = _ref2.phase; + + if (interaction.prepared.name !== 'gesture') { + return; + } + + var pointers = interaction.pointers.map(function (p) { + return p.pointer; + }); + var starting = phase === 'start'; + var ending = phase === 'end'; + var deltaSource = interaction.interactable.options.deltaSource; + iEvent.touches = [pointers[0], pointers[1]]; + + if (starting) { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = 1; + iEvent.ds = 0; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.da = 0; + interaction.gesture.startDistance = iEvent.distance; + interaction.gesture.startAngle = iEvent.angle; + } else if (ending || event instanceof ___InteractEvent_4["default"]) { + var prevEvent = interaction.prevEvent; + iEvent.distance = prevEvent.distance; + iEvent.box = prevEvent.box; + iEvent.scale = prevEvent.scale; + iEvent.ds = 0; + iEvent.angle = prevEvent.angle; + iEvent.da = 0; + } else { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = iEvent.distance / interaction.gesture.startDistance; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.ds = iEvent.scale - interaction.gesture.scale; + iEvent.da = iEvent.angle - interaction.gesture.angle; + } + + interaction.gesture.distance = iEvent.distance; + interaction.gesture.angle = iEvent.angle; + + if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { + interaction.gesture.scale = iEvent.scale; + } +} + +var ___default_4 = gesture; +_$gesture_4["default"] = ___default_4; + +var _$resize_6 = {}; +"use strict"; + +Object.defineProperty(_$resize_6, "__esModule", { + value: true +}); +_$resize_6["default"] = void 0; + +var ___scope_6 = _$scope_24({}); + +var __arr_6 = ___interopRequireWildcard_6(_$arr_47); + +var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); + +var ___extend_6 = ___interopRequireDefault_6(_$extend_53); + +var __is_6 = ___interopRequireWildcard_6(_$is_57); + +function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_6() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +___scope_6.ActionName.Resize = 'resize'; + +function __install_6(scope) { + var actions = scope.actions, + browser = scope.browser, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; // Less Precision with touch input + + interactions.signals.on('new', function (interaction) { + interaction.resizeAxes = 'xy'; + }); + interactions.signals.on('action-start', start); + interactions.signals.on('action-move', __move_6); + interactions.signals.on('action-end', end); + interactions.signals.on('action-start', updateEventAxes); + interactions.signals.on('action-move', updateEventAxes); + resize.cursors = initCursors(browser); + resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; + /** + * ```js + * interact(element).resizable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * edges: { + * top : true, // Use pointer coords to check for resize. + * left : false, // Disable resizing from left edge. + * bottom: '.resize-s',// Resize if pointer target matches selector + * right : handleEl // Resize if pointer target is the given Element + * }, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height are adjusted at a 1:1 ratio. + * square: false, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height maintain the aspect ratio they had when resizing started. + * preserveAspectRatio: false, + * + * // a value of 'none' will limit the resize rect to a minimum of 0x0 + * // 'negate' will allow the rect to have negative width/height + * // 'reposition' will keep the width/height positive by swapping + * // the top and bottom edges and/or swapping the left and right edges + * invert: 'none' || 'negate' || 'reposition' + * + * // limit multiple resizes. + * // See the explanation in the {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isResizeable = interact(element).resizable() + * ``` + * + * Gets or sets whether resize actions can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on resize events (object makes the Interactable + * resizable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of resize elements, or this Interactable + */ + + Interactable.prototype.resizable = function (options) { + return resizable(this, options, scope); + }; + + actions[___scope_6.ActionName.Resize] = resize; + actions.names.push(___scope_6.ActionName.Resize); + __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); + actions.methodDict.resize = 'resizable'; + defaults.actions.resize = resize.defaults; +} + +var resize = { + id: 'actions/resize', + install: __install_6, + defaults: { + square: false, + preserveAspectRatio: false, + axis: 'xy', + // use default margin + margin: NaN, + // object with props left, right, top, bottom which are + // true/false values to resize when the pointer is over that edge, + // CSS selectors to match the handles for each direction + // or the Elements for each handle + edges: null, + // a value of 'none' will limit the resize rect to a minimum of 0x0 + // 'negate' will alow the rect to have negative width/height + // 'reposition' will keep the width/height positive by swapping + // the top and bottom edges and/or swapping the left and right edges + invert: 'none' + }, + checker: function checker(_pointer, _event, interactable, element, interaction, rect) { + if (!rect) { + return null; + } + + var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); + var options = interactable.options; + + if (options.resize.enabled) { + var resizeOptions = options.resize; + var resizeEdges = { + left: false, + right: false, + top: false, + bottom: false + }; // if using resize.edges + + if (__is_6.object(resizeOptions.edges)) { + for (var edge in resizeEdges) { + resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); + } + + resizeEdges.left = resizeEdges.left && !resizeEdges.right; + resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; + + if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { + return { + name: 'resize', + edges: resizeEdges + }; + } + } else { + var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; + var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; + + if (right || bottom) { + return { + name: 'resize', + axes: (right ? 'x' : '') + (bottom ? 'y' : '') + }; + } + } + } + + return null; + }, + cursors: null, + getCursor: function getCursor(_ref) { + var edges = _ref.edges, + axis = _ref.axis, + name = _ref.name; + var cursors = resize.cursors; + var result = null; + + if (axis) { + result = cursors[name + axis]; + } else if (edges) { + var cursorKey = ''; + var _arr = ['top', 'bottom', 'left', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (edges[edge]) { + cursorKey += edge; + } + } + + result = cursors[cursorKey]; + } + + return result; + }, + defaultMargin: null +}; + +function resizable(interactable, options, scope) { + if (__is_6.object(options)) { + interactable.options.resize.enabled = options.enabled !== false; + interactable.setPerAction('resize', options); + interactable.setOnEvents('resize', options); + + if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { + interactable.options.resize.axis = options.axis; + } else if (options.axis === null) { + interactable.options.resize.axis = scope.defaults.actions.resize.axis; + } + + if (__is_6.bool(options.preserveAspectRatio)) { + interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; + } else if (__is_6.bool(options.square)) { + interactable.options.resize.square = options.square; + } + + return interactable; + } + + if (__is_6.bool(options)) { + interactable.options.resize.enabled = options; + return interactable; + } + + return interactable.options.resize; +} + +function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { + // false, '', undefined, null + if (!value) { + return false; + } // true value, use pointer coords and element rect + + + if (value === true) { + // if dimensions are negative, "switch" edges + var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; + var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension + + margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); + + if (width < 0) { + if (name === 'left') { + name = 'right'; + } else if (name === 'right') { + name = 'left'; + } + } + + if (height < 0) { + if (name === 'top') { + name = 'bottom'; + } else if (name === 'bottom') { + name = 'top'; + } + } + + if (name === 'left') { + return page.x < (width >= 0 ? rect.left : rect.right) + margin; + } + + if (name === 'top') { + return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; + } + + if (name === 'right') { + return page.x > (width >= 0 ? rect.right : rect.left) - margin; + } + + if (name === 'bottom') { + return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; + } + } // the remaining checks require an element + + + if (!__is_6.element(element)) { + return false; + } + + return __is_6.element(value) // the value is an element to use as a resize handle + ? value === element // otherwise check if element matches value as selector + : __dom_6.matchesUpTo(element, value, interactableElement); +} + +function initCursors(browser) { + return browser.isIe9 ? { + x: 'e-resize', + y: 's-resize', + xy: 'se-resize', + top: 'n-resize', + left: 'w-resize', + bottom: 's-resize', + right: 'e-resize', + topleft: 'se-resize', + bottomright: 'se-resize', + topright: 'ne-resize', + bottomleft: 'ne-resize' + } : { + x: 'ew-resize', + y: 'ns-resize', + xy: 'nwse-resize', + top: 'ns-resize', + left: 'ew-resize', + bottom: 'ns-resize', + right: 'ew-resize', + topleft: 'nwse-resize', + bottomright: 'nwse-resize', + topright: 'nesw-resize', + bottomleft: 'nesw-resize' + }; +} + +function start(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + var startRect = (0, ___extend_6["default"])({}, interaction.rect); + var resizeOptions = interaction.interactable.options.resize; + /* + * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge + * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make + * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend + * on the active edges and the edge being interacted with. + */ + + if (resizeOptions.square || resizeOptions.preserveAspectRatio) { + var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); + linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; + linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; + linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; + linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; + interaction.prepared._linkedEdges = linkedEdges; + } else { + interaction.prepared._linkedEdges = null; + } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize + + + if (resizeOptions.preserveAspectRatio) { + interaction.resizeStartAspectRatio = startRect.width / startRect.height; + } + + interaction.resizeRects = { + start: startRect, + current: { + left: startRect.left, + right: startRect.right, + top: startRect.top, + bottom: startRect.bottom + }, + inverted: (0, ___extend_6["default"])({}, startRect), + previous: (0, ___extend_6["default"])({}, startRect), + delta: { + left: 0, + right: 0, + width: 0, + top: 0, + bottom: 0, + height: 0 + } + }; + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function __move_6(_ref3) { + var iEvent = _ref3.iEvent, + interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + var resizeOptions = interaction.interactable.options.resize; + var invert = resizeOptions.invert; + var invertible = invert === 'reposition' || invert === 'negate'; + var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow + + var start = interaction.resizeRects.start; + var current = interaction.resizeRects.current; + var inverted = interaction.resizeRects.inverted; + var deltaRect = interaction.resizeRects.delta; + var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); + var originalEdges = edges; + var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); + + if (resizeOptions.preserveAspectRatio || resizeOptions.square) { + // `resize.preserveAspectRatio` takes precedence over `resize.square` + var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; + edges = interaction.prepared._linkedEdges; + + if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { + eventDelta.y = -eventDelta.x / startAspectRatio; + } else if (originalEdges.left || originalEdges.right) { + eventDelta.y = eventDelta.x / startAspectRatio; + } else if (originalEdges.top || originalEdges.bottom) { + eventDelta.x = eventDelta.y * startAspectRatio; + } + } // update the 'current' rect without modifications + + + if (edges.top) { + current.top += eventDelta.y; + } + + if (edges.bottom) { + current.bottom += eventDelta.y; + } + + if (edges.left) { + current.left += eventDelta.x; + } + + if (edges.right) { + current.right += eventDelta.x; + } + + if (invertible) { + // if invertible, copy the current rect + (0, ___extend_6["default"])(inverted, current); + + if (invert === 'reposition') { + // swap edge values if necessary to keep width/height positive + var swap; + + if (inverted.top > inverted.bottom) { + swap = inverted.top; + inverted.top = inverted.bottom; + inverted.bottom = swap; + } + + if (inverted.left > inverted.right) { + swap = inverted.left; + inverted.left = inverted.right; + inverted.right = swap; + } + } + } else { + // if not invertible, restrict to minimum of 0x0 rect + inverted.top = Math.min(current.top, start.bottom); + inverted.bottom = Math.max(current.bottom, start.top); + inverted.left = Math.min(current.left, start.right); + inverted.right = Math.max(current.right, start.left); + } + + inverted.width = inverted.right - inverted.left; + inverted.height = inverted.bottom - inverted.top; + + for (var edge in inverted) { + deltaRect[edge] = inverted[edge] - previous[edge]; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = inverted; + iEvent.deltaRect = deltaRect; +} + +function end(_ref4) { + var iEvent = _ref4.iEvent, + interaction = _ref4.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function updateEventAxes(_ref5) { + var iEvent = _ref5.iEvent, + interaction = _ref5.interaction, + action = _ref5.action; + + if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) { + return; + } + + var options = interaction.interactable.options; + + if (options.resize.square) { + if (interaction.resizeAxes === 'y') { + iEvent.delta.x = iEvent.delta.y; + } else { + iEvent.delta.y = iEvent.delta.x; + } + + iEvent.axes = 'xy'; + } else { + iEvent.axes = interaction.resizeAxes; + + if (interaction.resizeAxes === 'x') { + iEvent.delta.y = 0; + } else if (interaction.resizeAxes === 'y') { + iEvent.delta.x = 0; + } + } +} + +var ___default_6 = resize; +_$resize_6["default"] = ___default_6; + +var _$actions_5 = {}; +"use strict"; + +Object.defineProperty(_$actions_5, "__esModule", { + value: true +}); +_$actions_5.install = __install_5; +Object.defineProperty(_$actions_5, "drag", { + enumerable: true, + get: function get() { + return ___drag_5["default"]; + } +}); +Object.defineProperty(_$actions_5, "drop", { + enumerable: true, + get: function get() { + return _drop["default"]; + } +}); +Object.defineProperty(_$actions_5, "gesture", { + enumerable: true, + get: function get() { + return _gesture["default"]; + } +}); +Object.defineProperty(_$actions_5, "resize", { + enumerable: true, + get: function get() { + return _resize["default"]; + } +}); +_$actions_5.id = void 0; + +var ___drag_5 = ___interopRequireDefault_5(_$drag_1); + +var _drop = ___interopRequireDefault_5(_$drop_3); + +var _gesture = ___interopRequireDefault_5(_$gesture_4); + +var _resize = ___interopRequireDefault_5(_$resize_6); + +function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_5(scope) { + scope.usePlugin(_gesture["default"]); + scope.usePlugin(_resize["default"]); + scope.usePlugin(___drag_5["default"]); + scope.usePlugin(_drop["default"]); +} + +var id = 'actions'; +_$actions_5.id = id; + +var _$autoScroll_7 = {}; +"use strict"; + +Object.defineProperty(_$autoScroll_7, "__esModule", { + value: true +}); +_$autoScroll_7.getContainer = getContainer; +_$autoScroll_7.getScroll = getScroll; +_$autoScroll_7.getScrollSize = getScrollSize; +_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; +_$autoScroll_7["default"] = void 0; + +var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); + +var __is_7 = ___interopRequireWildcard_7(_$is_57); + +var ___raf_7 = ___interopRequireDefault_7(_$raf_62); + +/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_7() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_7(scope) { + var interactions = scope.interactions, + defaults = scope.defaults, + actions = scope.actions; + scope.autoScroll = autoScroll; + + autoScroll.now = function () { + return scope.now(); + }; + + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.autoScroll = null; + }); + interactions.signals.on('destroy', function (_ref2) { + var interaction = _ref2.interaction; + interaction.autoScroll = null; + autoScroll.stop(); + + if (autoScroll.interaction) { + autoScroll.interaction = null; + } + }); + interactions.signals.on('stop', autoScroll.stop); + interactions.signals.on('action-move', function (arg) { + return autoScroll.onInteractionMove(arg); + }); + actions.eventTypes.push('autoscroll'); + defaults.perAction.autoScroll = autoScroll.defaults; +} + +var autoScroll = { + defaults: { + enabled: false, + margin: 60, + // the item that is scrolled (Window or HTMLElement) + container: null, + // the scroll speed in pixels per second + speed: 300 + }, + now: Date.now, + interaction: null, + i: null, + x: 0, + y: 0, + isScrolling: false, + prevTime: 0, + margin: 0, + speed: 0, + start: function start(interaction) { + autoScroll.isScrolling = true; + + ___raf_7["default"].cancel(autoScroll.i); + + interaction.autoScroll = autoScroll; + autoScroll.interaction = interaction; + autoScroll.prevTime = autoScroll.now(); + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + }, + stop: function stop() { + autoScroll.isScrolling = false; + + if (autoScroll.interaction) { + autoScroll.interaction.autoScroll = null; + } + + ___raf_7["default"].cancel(autoScroll.i); + }, + // scroll the window by the values in scroll.x/y + scroll: function scroll() { + var interaction = autoScroll.interaction; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + var now = autoScroll.now(); // change in time in seconds + + var dt = (now - autoScroll.prevTime) / 1000; // displacement + + var s = options.speed * dt; + + if (s >= 1) { + var scrollBy = { + x: autoScroll.x * s, + y: autoScroll.y * s + }; + + if (scrollBy.x || scrollBy.y) { + var prevScroll = getScroll(container); + + if (__is_7.window(container)) { + container.scrollBy(scrollBy.x, scrollBy.y); + } else if (container) { + container.scrollLeft += scrollBy.x; + container.scrollTop += scrollBy.y; + } + + var curScroll = getScroll(container); + var delta = { + x: curScroll.x - prevScroll.x, + y: curScroll.y - prevScroll.y + }; + + if (delta.x || delta.y) { + interactable.fire({ + type: 'autoscroll', + target: element, + interactable: interactable, + delta: delta, + interaction: interaction, + container: container + }); + } + } + + autoScroll.prevTime = now; + } + + if (autoScroll.isScrolling) { + ___raf_7["default"].cancel(autoScroll.i); + + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + } + }, + check: function check(interactable, actionName) { + var options = interactable.options; + return options[actionName].autoScroll && options[actionName].autoScroll.enabled; + }, + onInteractionMove: function onInteractionMove(_ref3) { + var interaction = _ref3.interaction, + pointer = _ref3.pointer; + + if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { + return; + } + + if (interaction.simulation) { + autoScroll.x = autoScroll.y = 0; + return; + } + + var top; + var right; + var bottom; + var left; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + + if (__is_7.window(container)) { + left = pointer.clientX < autoScroll.margin; + top = pointer.clientY < autoScroll.margin; + right = pointer.clientX > container.innerWidth - autoScroll.margin; + bottom = pointer.clientY > container.innerHeight - autoScroll.margin; + } else { + var rect = __domUtils_7.getElementClientRect(container); + left = pointer.clientX < rect.left + autoScroll.margin; + top = pointer.clientY < rect.top + autoScroll.margin; + right = pointer.clientX > rect.right - autoScroll.margin; + bottom = pointer.clientY > rect.bottom - autoScroll.margin; + } + + autoScroll.x = right ? 1 : left ? -1 : 0; + autoScroll.y = bottom ? 1 : top ? -1 : 0; + + if (!autoScroll.isScrolling) { + // set the autoScroll properties to those of the target + autoScroll.margin = options.margin; + autoScroll.speed = options.speed; + autoScroll.start(interaction); + } + } +}; + +function getContainer(value, interactable, element) { + return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); +} + +function getScroll(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollLeft, + y: container.scrollTop + }; +} + +function getScrollSize(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollWidth, + y: container.scrollHeight + }; +} + +function getScrollSizeDelta(_ref4, func) { + var interaction = _ref4.interaction, + element = _ref4.element; + var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; + + if (!scrollOptions || !scrollOptions.enabled) { + func(); + return { + x: 0, + y: 0 + }; + } + + var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); + var prevSize = getScroll(scrollContainer); + func(); + var curSize = getScroll(scrollContainer); + return { + x: curSize.x - prevSize.x, + y: curSize.y - prevSize.y + }; +} + +var ___default_7 = { + id: 'auto-scroll', + install: __install_7 +}; +_$autoScroll_7["default"] = ___default_7; + +var _$InteractableMethods_8 = {}; +"use strict"; + +Object.defineProperty(_$InteractableMethods_8, "__esModule", { + value: true +}); +_$InteractableMethods_8["default"] = void 0; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +var __is_8 = ___interopRequireWildcard_8(_$is_57); + +function ___getRequireWildcardCache_8() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_8(scope) { + var Interactable = scope.Interactable, + actions = scope.actions; + Interactable.prototype.getAction = getAction; + /** + * ```js + * interact(element, { ignoreFrom: document.getElementById('no-action') }) + * // or + * interact(element).ignoreFrom('input, textarea, a') + * ``` + * @deprecated + * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any + * of it's parents match the given CSS selector or Element, no + * drag/resize/gesture is started. + * + * Don't use this method. Instead set the `ignoreFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .draggable({ + * ignoreFrom: 'input, textarea, a[href]'', + * }) + * .pointerEvents({ + * ignoreFrom: '[no-pointer]', + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to not ignore any elements + * @return {string | Element | object} The current ignoreFrom value or this + * Interactable + */ + + Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('ignoreFrom', newValue); + }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); + /** + * @deprecated + * + * A drag/resize/gesture is started only If the target of the `mousedown`, + * `pointerdown` or `touchstart` event or any of it's parents match the given + * CSS selector or Element. + * + * Don't use this method. Instead set the `allowFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .resizable({ + * allowFrom: '.resize-handle', + * .pointerEvents({ + * allowFrom: '.handle',, + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to allow from any element + * @return {string | Element | object} The current allowFrom value or this + * Interactable + */ + + Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('allowFrom', newValue); + }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); + /** + * ```js + * interact('.resize-drag') + * .resizable(true) + * .draggable(true) + * .actionChecker(function (pointer, event, action, interactable, element, interaction) { + * + * if (interact.matchesSelector(event.target, '.drag-handle')) { + * // force drag with handle target + * action.name = drag + * } + * else { + * // resize from the top and right edges + * action.name = 'resize' + * action.edges = { top: true, right: true } + * } + * + * return action + * }) + * ``` + * + * Returns or sets the function used to check action to be performed on + * pointerDown + * + * @param {function | null} [checker] A function which takes a pointer event, + * defaultAction string, interactable, element and interaction as parameters + * and returns an object with name property 'drag' 'resize' or 'gesture' and + * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right + * props. + * @return {Function | Interactable} The checker function or this Interactable + */ + + Interactable.prototype.actionChecker = actionChecker; + /** + * Returns or sets whether the the cursor should be changed depending on the + * action that would be performed if the mouse were pressed and dragged. + * + * @param {boolean} [newValue] + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.styleCursor = styleCursor; + + Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { + return defaultActionChecker(this, pointer, event, interaction, element, actions); + }; +} + +function getAction(pointer, event, interaction, element) { + var action = this.defaultActionChecker(pointer, event, interaction, element); + + if (this.options.actionChecker) { + return this.options.actionChecker(pointer, event, action, this, element, interaction); + } + + return action; +} + +function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { + var rect = interactable.getRect(element); + var buttons = event.buttons || { + 0: 1, + 1: 4, + 3: 8, + 4: 16 + }[event.button]; + var action = null; + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + + // check mouseButton setting if the pointer is down + if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { + continue; + } + + action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); + + if (action) { + return action; + } + } +} + +function styleCursor(newValue) { + if (__is_8.bool(newValue)) { + this.options.styleCursor = newValue; + return this; + } + + if (newValue === null) { + delete this.options.styleCursor; + return this; + } + + return this.options.styleCursor; +} + +function actionChecker(checker) { + if (__is_8.func(checker)) { + this.options.actionChecker = checker; + return this; + } + + if (checker === null) { + delete this.options.actionChecker; + return this; + } + + return this.options.actionChecker; +} + +var ___default_8 = { + id: 'auto-start/interactableMethods', + install: __install_8 +}; +_$InteractableMethods_8["default"] = ___default_8; + +var _$base_9 = {}; +"use strict"; + +Object.defineProperty(_$base_9, "__esModule", { + value: true +}); +_$base_9["default"] = void 0; + +var __utils_9 = ___interopRequireWildcard_9(_$utils_56); + +var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); + +function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_9() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_9(scope) { + var interact = scope.interact, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown + + interactions.signals.on('down', function (_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget; + + if (interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); // set cursor style on mousemove + + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + pointer = _ref2.pointer, + event = _ref2.event, + eventTarget = _ref2.eventTarget; + + if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); + interactions.signals.on('move', function (arg) { + var interaction = arg.interaction; + + if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { + return; + } + + scope.autoStart.signals.fire('before-start', arg); + var interactable = interaction.interactable; + + if (interaction.prepared.name && interactable) { + // check manualStart and interaction limit + if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { + interaction.stop(); + } else { + interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); + } + } + }); + interactions.signals.on('stop', function (_ref3) { + var interaction = _ref3.interaction; + var interactable = interaction.interactable; + + if (interactable && interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + }); + defaults.base.actionChecker = null; + defaults.base.styleCursor = true; + __utils_9.extend(defaults.perAction, { + manualStart: false, + max: Infinity, + maxPerElement: 1, + allowFrom: null, + ignoreFrom: null, + // only allow left button by default + // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value + mouseButtons: 1 + }); + /** + * Returns or sets the maximum number of concurrent interactions allowed. By + * default only 1 interaction is allowed at a time (for backwards + * compatibility). To allow multiple interactions on the same Interactables and + * elements, you need to enable it in the draggable, resizable and gesturable + * `'max'` and `'maxPerElement'` options. + * + * @alias module:interact.maxInteractions + * + * @param {number} [newValue] Any number. newValue <= 0 means no interactions. + */ + + interact.maxInteractions = function (newValue) { + return maxInteractions(newValue, scope); + }; + + scope.autoStart = { + // Allow this many interactions to happen simultaneously + maxInteractions: Infinity, + withinInteractionLimit: withinInteractionLimit, + cursorElement: null, + signals: new __utils_9.Signals() + }; +} // Check if the current interactable supports the action. +// If so, return the validated action. Otherwise, return null + + +function validateAction(action, interactable, element, eventTarget, scope) { + if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { + return action; + } + + return null; +} + +function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { + for (var i = 0, len = matches.length; i < len; i++) { + var match = matches[i]; + var matchElement = matchElements[i]; + var matchAction = match.getAction(pointer, event, interaction, matchElement); + + if (!matchAction) { + continue; + } + + var action = validateAction(matchAction, match, matchElement, eventTarget, scope); + + if (action) { + return { + action: action, + interactable: match, + element: matchElement + }; + } + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function getActionInfo(interaction, pointer, event, eventTarget, scope) { + var matches = []; + var matchElements = []; + var element = eventTarget; + + function pushMatches(interactable) { + matches.push(interactable); + matchElements.push(element); + } + + while (__utils_9.is.element(element)) { + matches = []; + matchElements = []; + scope.interactables.forEachMatch(element, pushMatches); + var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); + + if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { + return actionInfo; + } + + element = __utils_9.dom.parentNode(element); + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function prepare(interaction, _ref4, scope) { + var action = _ref4.action, + interactable = _ref4.interactable, + element = _ref4.element; + action = action || { + name: null + }; // clear previous target element cursor + + if (interaction.interactable && interaction.interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + + interaction.interactable = interactable; + interaction.element = element; + __utils_9.copyAction(interaction.prepared, action); + interaction.rect = interactable && action.name ? interactable.getRect(element) : null; + setInteractionCursor(interaction, scope); + scope.autoStart.signals.fire('prepared', { + interaction: interaction + }); +} + +function withinInteractionLimit(interactable, element, action, scope) { + var options = interactable.options; + var maxActions = options[action.name].max; + var maxPerElement = options[action.name].maxPerElement; + var autoStartMax = scope.autoStart.maxInteractions; + var activeInteractions = 0; + var interactableCount = 0; + var elementCount = 0; // no actions if any of these values == 0 + + if (!(maxActions && maxPerElement && autoStartMax)) { + return false; + } + + for (var _i = 0; _i < scope.interactions.list.length; _i++) { + var _ref5; + + _ref5 = scope.interactions.list[_i]; + var interaction = _ref5; + var otherAction = interaction.prepared.name; + + if (!interaction.interacting()) { + continue; + } + + activeInteractions++; + + if (activeInteractions >= autoStartMax) { + return false; + } + + if (interaction.interactable !== interactable) { + continue; + } + + interactableCount += otherAction === action.name ? 1 : 0; + + if (interactableCount >= maxActions) { + return false; + } + + if (interaction.element === element) { + elementCount++; + + if (otherAction === action.name && elementCount >= maxPerElement) { + return false; + } + } + } + + return autoStartMax > 0; +} + +function maxInteractions(newValue, scope) { + if (__utils_9.is.number(newValue)) { + scope.autoStart.maxInteractions = newValue; + return this; + } + + return scope.autoStart.maxInteractions; +} + +function setCursor(element, cursor, scope) { + if (scope.autoStart.cursorElement) { + scope.autoStart.cursorElement.style.cursor = ''; + } + + element.ownerDocument.documentElement.style.cursor = cursor; + element.style.cursor = cursor; + scope.autoStart.cursorElement = cursor ? element : null; +} + +function setInteractionCursor(interaction, scope) { + var interactable = interaction.interactable, + element = interaction.element, + prepared = interaction.prepared; + + if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) { + return; + } + + var cursor = ''; + + if (prepared.name) { + var cursorChecker = interactable.options[prepared.name].cursorChecker; + + if (__utils_9.is.func(cursorChecker)) { + cursor = cursorChecker(prepared, interactable, element, interaction._interacting); + } else { + cursor = scope.actions[prepared.name].getCursor(prepared); + } + } + + setCursor(interaction.element, cursor || '', scope); +} + +var ___default_9 = { + id: 'auto-start/base', + install: __install_9, + maxInteractions: maxInteractions, + withinInteractionLimit: withinInteractionLimit, + validateAction: validateAction +}; +_$base_9["default"] = ___default_9; + +var _$dragAxis_10 = {}; +"use strict"; + +Object.defineProperty(_$dragAxis_10, "__esModule", { + value: true +}); +_$dragAxis_10["default"] = void 0; + +var ___scope_10 = _$scope_24({}); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var __is_10 = ___interopRequireWildcard_10(_$is_57); + +var _base = ___interopRequireDefault_10(_$base_9); + +function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_10() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_10(scope) { + scope.autoStart.signals.on('before-start', function (_ref) { + var interaction = _ref.interaction, + eventTarget = _ref.eventTarget, + dx = _ref.dx, + dy = _ref.dy; + + if (interaction.prepared.name !== 'drag') { + return; + } // check if a drag is in the correct axis + + + var absX = Math.abs(dx); + var absY = Math.abs(dy); + var targetOptions = interaction.interactable.options.drag; + var startAxis = targetOptions.startAxis; + var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; + interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' + : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable + + if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { + // cancel the prepared action + interaction.prepared.name = null; // then try to get a drag from another ineractable + + var element = eventTarget; + + var getDraggable = function getDraggable(interactable) { + if (interactable === interaction.interactable) { + return; + } + + var options = interaction.interactable.options.drag; + + if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { + var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); + + if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { + return interactable; + } + } + }; // check all interactables + + + while (__is_10.element(element)) { + var interactable = scope.interactables.forEachMatch(element, getDraggable); + + if (interactable) { + interaction.prepared.name = ___scope_10.ActionName.Drag; + interaction.interactable = interactable; + interaction.element = element; + break; + } + + element = (0, _$domUtils_51.parentNode)(element); + } + } + }); + + function checkStartAxis(startAxis, interactable) { + if (!interactable) { + return false; + } + + var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; + return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; + } +} + +var ___default_10 = { + id: 'auto-start/dragAxis', + install: __install_10 +}; +_$dragAxis_10["default"] = ___default_10; + +var _$hold_11 = {}; +"use strict"; + +Object.defineProperty(_$hold_11, "__esModule", { + value: true +}); +_$hold_11["default"] = void 0; + +var ___base_11 = ___interopRequireDefault_11(_$base_9); + +function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_11(scope) { + var autoStart = scope.autoStart, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(___base_11["default"]); + defaults.perAction.hold = 0; + defaults.perAction.delay = 0; + interactions.signals.on('new', function (interaction) { + interaction.autoStartHoldTimer = null; + }); + autoStart.signals.on('prepared', function (_ref) { + var interaction = _ref.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.autoStartHoldTimer = setTimeout(function () { + interaction.start(interaction.prepared, interaction.interactable, interaction.element); + }, hold); + } + }); + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + duplicate = _ref2.duplicate; + + if (interaction.pointerWasMoved && !duplicate) { + clearTimeout(interaction.autoStartHoldTimer); + } + }); // prevent regular down->move autoStart + + autoStart.signals.on('before-start', function (_ref3) { + var interaction = _ref3.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.prepared.name = null; + } + }); +} + +function getHoldDuration(interaction) { + var actionName = interaction.prepared && interaction.prepared.name; + + if (!actionName) { + return null; + } + + var options = interaction.interactable.options; + return options[actionName].hold || options[actionName].delay; +} + +var ___default_11 = { + id: 'auto-start/hold', + install: __install_11, + getHoldDuration: getHoldDuration +}; +_$hold_11["default"] = ___default_11; + +var _$autoStart_12 = {}; +"use strict"; + +Object.defineProperty(_$autoStart_12, "__esModule", { + value: true +}); +_$autoStart_12.install = __install_12; +Object.defineProperty(_$autoStart_12, "autoStart", { + enumerable: true, + get: function get() { + return ___base_12["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "dragAxis", { + enumerable: true, + get: function get() { + return _dragAxis["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "hold", { + enumerable: true, + get: function get() { + return _hold["default"]; + } +}); +_$autoStart_12.id = void 0; + +var ___base_12 = ___interopRequireDefault_12(_$base_9); + +var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); + +var _hold = ___interopRequireDefault_12(_$hold_11); + +function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_12(scope) { + scope.usePlugin(___base_12["default"]); + scope.usePlugin(_hold["default"]); + scope.usePlugin(_dragAxis["default"]); +} + +var __id_12 = 'auto-start'; +_$autoStart_12.id = __id_12; + +var _$interactablePreventDefault_21 = {}; +"use strict"; + +Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { + value: true +}); +_$interactablePreventDefault_21.install = __install_21; +_$interactablePreventDefault_21["default"] = void 0; + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_21 = ___interopRequireDefault_21(_$events_52); + +var __is_21 = ___interopRequireWildcard_21(_$is_57); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +function ___getRequireWildcardCache_21() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function preventDefault(newValue) { + if (/^(always|never|auto)$/.test(newValue)) { + this.options.preventDefault = newValue; + return this; + } + + if (__is_21.bool(newValue)) { + this.options.preventDefault = newValue ? 'always' : 'never'; + return this; + } + + return this.options.preventDefault; +} + +function checkAndPreventDefault(interactable, scope, event) { + var setting = interactable.options.preventDefault; + + if (setting === 'never') { + return; + } + + if (setting === 'always') { + event.preventDefault(); + return; + } // setting === 'auto' + // if the browser supports passive event listeners and isn't running on iOS, + // don't preventDefault of touch{start,move} events. CSS touch-action and + // user-select should be used instead of calling event.preventDefault(). + + + if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { + var doc = (0, _$window_66.getWindow)(event.target).document; + var docOptions = scope.getDocOptions(doc); + + if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { + return; + } + } // don't preventDefault of pointerdown events + + + if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { + return; + } // don't preventDefault on editable elements + + + if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { + return; + } + + event.preventDefault(); +} + +function onInteractionEvent(_ref) { + var interaction = _ref.interaction, + event = _ref.event; + + if (interaction.interactable) { + interaction.interactable.checkAndPreventDefault(event); + } +} + +function __install_21(scope) { + /** @lends Interactable */ + var Interactable = scope.Interactable; + /** + * Returns or sets whether to prevent the browser's default behaviour in + * response to pointer events. Can be set to: + * - `'always'` to always prevent + * - `'never'` to never prevent + * - `'auto'` to let interact.js try to determine what would be best + * + * @param {string} [newValue] `'always'`, `'never'` or `'auto'` + * @return {string | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.preventDefault = preventDefault; + + Interactable.prototype.checkAndPreventDefault = function (event) { + return checkAndPreventDefault(this, scope, event); + }; + + var _arr = ['down', 'move', 'up', 'cancel']; + + for (var _i = 0; _i < _arr.length; _i++) { + var eventSignal = _arr[_i]; + scope.interactions.signals.on(eventSignal, onInteractionEvent); + } // prevent native HTML5 drag on interact.js target elements + + + scope.interactions.docEvents.push({ + type: 'dragstart', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + + if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { + interaction.interactable.checkAndPreventDefault(event); + return; + } + } + } + }); +} + +var ___default_21 = { + id: 'core/interactablePreventDefault', + install: __install_21 +}; +_$interactablePreventDefault_21["default"] = ___default_21; + +var _$devTools_25 = {}; +"use strict"; + +Object.defineProperty(_$devTools_25, "__esModule", { + value: true +}); +_$devTools_25["default"] = void 0; + +var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___extend_25 = ___interopRequireDefault_25(_$extend_53); + +var __is_25 = ___interopRequireWildcard_25(_$is_57); + +var ___window_25 = ___interopRequireDefault_25(_$window_66); + +function ___getRequireWildcardCache_25() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } + +function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +var CheckName; + +(function (CheckName) { + CheckName["touchAction"] = ""; + CheckName["boxSizing"] = ""; + CheckName["noListeners"] = ""; +})(CheckName || (CheckName = {})); + +var prefix = '[interact.js] '; +var links = { + touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', + boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' +}; +var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax + +function __install_25(scope) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + logger = _ref.logger; + + var interactions = scope.interactions, + Interactable = scope.Interactable, + defaults = scope.defaults; + logger = logger || console; + interactions.signals.on('action-start', function (_ref2) { + var interaction = _ref2.interaction; + + for (var _i = 0; _i < checks.length; _i++) { + var _ref3; + + _ref3 = checks[_i]; + var check = _ref3; + var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; + + if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { + var _logger; + + (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); + } + } + }); + defaults.base.devTools = { + ignore: {} + }; + + Interactable.prototype.devTools = function (options) { + if (options) { + (0, ___extend_25["default"])(this.options.devTools, options); + return this; + } + + return this.options.devTools; + }; +} + +var checks = [{ + name: 'touchAction', + perform: function perform(_ref4) { + var element = _ref4.element; + return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); + }, + getInfo: function getInfo(_ref5) { + var element = _ref5.element; + return [element, links.touchAction]; + }, + text: 'Consider adding CSS "touch-action: none" to this element\n' +}, { + name: 'boxSizing', + perform: function perform(interaction) { + var element = interaction.element; + return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); + }, + text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', + getInfo: function getInfo(_ref6) { + var element = _ref6.element; + return [element, links.boxSizing]; + } +}, { + name: 'noListeners', + perform: function perform(interaction) { + var actionName = interaction.prepared.name; + var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; + return !moveListeners.length; + }, + getInfo: function getInfo(interaction) { + return [interaction.prepared.name, interaction.interactable]; + }, + text: 'There are no listeners set for this action' +}]; + +function hasStyle(element, prop, styleRe) { + return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); +} + +function parentHasStyle(element, prop, styleRe) { + var parent = element; + + while (__is_25.element(parent)) { + if (hasStyle(parent, prop, styleRe)) { + return true; + } + + parent = (0, _$domUtils_51.parentNode)(parent); + } + + return false; +} + +var __id_25 = 'dev-tools'; +var defaultExport = isProduction ? { + id: __id_25, + install: function install() {} +} : { + id: __id_25, + install: __install_25, + checks: checks, + CheckName: CheckName, + links: links, + prefix: prefix +}; +var ___default_25 = defaultExport; +_$devTools_25["default"] = ___default_25; + +var _$base_30 = {}; +"use strict"; + +Object.defineProperty(_$base_30, "__esModule", { + value: true +}); +_$base_30.startAll = startAll; +_$base_30.setAll = setAll; +_$base_30.prepareStates = prepareStates; +_$base_30.setCoords = setCoords; +_$base_30.restoreCoords = restoreCoords; +_$base_30.makeModifier = makeModifier; +_$base_30["default"] = void 0; + +var ___extend_30 = ___interopRequireDefault_30(_$extend_53); + +function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } + +function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; } + +function __install_30(scope) { + var interactions = scope.interactions; + scope.defaults.perAction.modifiers = []; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.modifiers = { + startOffset: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + offsets: {}, + states: null, + result: null, + endPrevented: false, + startDelta: null + }; + }); + interactions.signals.on('before-action-start', function (arg) { + __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page); + }); + interactions.signals.on('action-resume', function (arg) { + stop(arg); + __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords); + __beforeMove_30(arg); + }); + interactions.signals.on('after-action-move', restoreCoords); + interactions.signals.on('before-action-move', __beforeMove_30); + interactions.signals.on('before-action-start', setCoords); + interactions.signals.on('after-action-start', restoreCoords); + interactions.signals.on('before-action-end', beforeEnd); + interactions.signals.on('stop', stop); +} + +function __start_30(_ref2, pageCoords, prevCoords) { + var interaction = _ref2.interaction, + phase = _ref2.phase; + var interactable = interaction.interactable, + element = interaction.element; + var modifierList = getModifierList(interaction); + var states = prepareStates(modifierList); + var rect = (0, ___extend_30["default"])({}, interaction.rect); + + if (!('width' in rect)) { + rect.width = rect.right - rect.left; + } + + if (!('height' in rect)) { + rect.height = rect.bottom - rect.top; + } + + var startOffset = getRectOffset(rect, pageCoords); + interaction.modifiers.startOffset = startOffset; + interaction.modifiers.startDelta = { + x: 0, + y: 0 + }; + var arg = { + interaction: interaction, + interactable: interactable, + element: element, + pageCoords: pageCoords, + phase: phase, + rect: rect, + startOffset: startOffset, + states: states, + preEnd: false, + requireEndOnly: false, + prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page) + }; + interaction.modifiers.states = states; + interaction.modifiers.result = null; + startAll(arg); + var result = interaction.modifiers.result = setAll(arg); + return result; +} + +function startAll(arg) { + var states = arg.states; + + for (var _i = 0; _i < states.length; _i++) { + var _ref3; + + _ref3 = states[_i]; + var state = _ref3; + + if (state.methods.start) { + arg.state = state; + state.methods.start(arg); + } + } +} + +function setAll(arg) { + var prevCoords = arg.prevCoords, + phase = arg.phase, + preEnd = arg.preEnd, + requireEndOnly = arg.requireEndOnly, + rect = arg.rect, + states = arg.states; + arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); + arg.rect = (0, ___extend_30["default"])({}, rect); + var result = { + delta: { + x: 0, + y: 0 + }, + rectDelta: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + coords: arg.coords, + changed: true + }; + + for (var _i2 = 0; _i2 < states.length; _i2++) { + var _ref4; + + _ref4 = states[_i2]; + var state = _ref4; + var options = state.options; + + if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { + continue; + } + + arg.state = state; + state.methods.set(arg); + } + + result.delta.x = arg.coords.x - arg.pageCoords.x; + result.delta.y = arg.coords.y - arg.pageCoords.y; + var rectChanged = false; + + if (rect) { + result.rectDelta.left = arg.rect.left - rect.left; + result.rectDelta.right = arg.rect.right - rect.right; + result.rectDelta.top = arg.rect.top - rect.top; + result.rectDelta.bottom = arg.rect.bottom - rect.bottom; + rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; + } + + result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; + return result; +} + +function __beforeMove_30(arg) { + var interaction = arg.interaction, + phase = arg.phase, + preEnd = arg.preEnd, + skipModifiers = arg.skipModifiers; + var interactable = interaction.interactable, + element = interaction.element; + var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states; + var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page); + var modifierResult = setAll({ + interaction: interaction, + interactable: interactable, + element: element, + preEnd: preEnd, + phase: phase, + pageCoords: arg.modifiedCoords || interaction.coords.cur.page, + prevCoords: prevCoords, + rect: interaction.rect, + states: states, + requireEndOnly: false + }); + interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same + // cordinates as before + + if (!modifierResult.changed && interaction.interacting()) { + return false; + } + + if (arg.modifiedCoords) { + var page = interaction.coords.cur.page; + var adjustment = { + x: arg.modifiedCoords.x - page.x, + y: arg.modifiedCoords.y - page.y + }; + modifierResult.coords.x += adjustment.x; + modifierResult.coords.y += adjustment.y; + modifierResult.delta.x += adjustment.x; + modifierResult.delta.y += adjustment.y; + } + + setCoords(arg); +} + +function beforeEnd(arg) { + var interaction = arg.interaction, + event = arg.event, + noPreEnd = arg.noPreEnd; + var states = interaction.modifiers.states; + + if (noPreEnd || !states || !states.length) { + return; + } + + var didPreEnd = false; + + for (var _i3 = 0; _i3 < states.length; _i3++) { + var _ref5; + + _ref5 = states[_i3]; + var state = _ref5; + arg.state = state; + var options = state.options, + methods = state.methods; + var endResult = methods.beforeEnd && methods.beforeEnd(arg); + + if (endResult === false) { + interaction.modifiers.endPrevented = true; + return false; + } // if the endOnly option is true for any modifier + + + if (!didPreEnd && shouldDo(options, true, true)) { + // fire a move event at the modified coordinates + interaction.move({ + event: event, + preEnd: true + }); + didPreEnd = true; + } + } +} + +function stop(arg) { + var interaction = arg.interaction; + var states = interaction.modifiers.states; + + if (!states || !states.length) { + return; + } + + var modifierArg = (0, ___extend_30["default"])({ + states: states, + interactable: interaction.interactable, + element: interaction.element, + rect: null + }, arg); + + for (var _i4 = 0; _i4 < states.length; _i4++) { + var _ref6; + + _ref6 = states[_i4]; + var state = _ref6; + modifierArg.state = state; + + if (state.methods.stop) { + state.methods.stop(modifierArg); + } + } + + arg.interaction.modifiers.states = null; + arg.interaction.modifiers.endPrevented = false; +} + +function getModifierList(interaction) { + var actionOptions = interaction.interactable.options[interaction.prepared.name]; + var actionModifiers = actionOptions.modifiers; + + if (actionModifiers && actionModifiers.length) { + return actionModifiers.filter(function (modifier) { + return !modifier.options || modifier.options.enabled !== false; + }); + } + + return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { + var options = actionOptions[type]; + return options && options.enabled && { + options: options, + methods: options._methods + }; + }).filter(function (m) { + return !!m; + }); +} + +function prepareStates(modifierList) { + var states = []; + + for (var index = 0; index < modifierList.length; index++) { + var _modifierList$index = modifierList[index], + options = _modifierList$index.options, + methods = _modifierList$index.methods, + name = _modifierList$index.name; + + if (options && options.enabled === false) { + continue; + } + + states.push({ + options: options, + methods: methods, + index: index, + name: name + }); + } + + return states; +} + +function setCoords(arg) { + var interaction = arg.interaction, + phase = arg.phase; + var curCoords = interaction.coords.cur; + var startCoords = interaction.coords.start; + var _interaction$modifier = interaction.modifiers, + result = _interaction$modifier.result, + startDelta = _interaction$modifier.startDelta; + var curDelta = result.delta; + + if (phase === 'start') { + (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); + } + + var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; + + for (var _i5 = 0; _i5 < _arr.length; _i5++) { + var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), + coordsSet = _arr$_i[0], + delta = _arr$_i[1]; + + coordsSet.page.x += delta.x; + coordsSet.page.y += delta.y; + coordsSet.client.x += delta.x; + coordsSet.client.y += delta.y; + } + + var rectDelta = interaction.modifiers.result.rectDelta; + var rect = arg.rect || interaction.rect; + rect.left += rectDelta.left; + rect.right += rectDelta.right; + rect.top += rectDelta.top; + rect.bottom += rectDelta.bottom; + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; +} + +function restoreCoords(_ref7) { + var _ref7$interaction = _ref7.interaction, + coords = _ref7$interaction.coords, + rect = _ref7$interaction.rect, + modifiers = _ref7$interaction.modifiers; + + if (!modifiers.result) { + return; + } + + var startDelta = modifiers.startDelta; + var _modifiers$result = modifiers.result, + curDelta = _modifiers$result.delta, + rectDelta = _modifiers$result.rectDelta; + var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; + + for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { + var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), + coordsSet = _coordsAndDeltas$_i[0], + delta = _coordsAndDeltas$_i[1]; + + coordsSet.page.x -= delta.x; + coordsSet.page.y -= delta.y; + coordsSet.client.x -= delta.x; + coordsSet.client.y -= delta.y; + } + + rect.left -= rectDelta.left; + rect.right -= rectDelta.right; + rect.top -= rectDelta.top; + rect.bottom -= rectDelta.bottom; +} + +function shouldDo(options, preEnd, requireEndOnly, phase) { + return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; +} + +function getRectOffset(rect, coords) { + return rect ? { + left: coords.x - rect.left, + top: coords.y - rect.top, + right: rect.right - coords.x, + bottom: rect.bottom - coords.y + } : { + left: 0, + top: 0, + right: 0, + bottom: 0 + }; +} + +function makeModifier(module, name) { + var defaults = module.defaults; + var methods = { + start: module.start, + set: module.set, + beforeEnd: module.beforeEnd, + stop: module.stop + }; + + var modifier = function modifier(_options) { + var options = _options || {}; + options.enabled = options.enabled !== false; // add missing defaults to options + + for (var prop in defaults) { + if (!(prop in options)) { + options[prop] = defaults[prop]; + } + } + + var m = { + options: options, + methods: methods, + name: name + }; + return m; + }; + + if (name && typeof name === 'string') { + // for backwrads compatibility + modifier._defaults = defaults; + modifier._methods = methods; + } + + return modifier; +} + +var ___default_30 = { + id: 'modifiers/base', + install: __install_30, + startAll: startAll, + setAll: setAll, + prepareStates: prepareStates, + start: __start_30, + beforeMove: __beforeMove_30, + beforeEnd: beforeEnd, + stop: stop, + shouldDo: shouldDo, + getModifierList: getModifierList, + getRectOffset: getRectOffset, + makeModifier: makeModifier +}; +_$base_30["default"] = ___default_30; + +var _$inertia_26 = {}; +"use strict"; + +Object.defineProperty(_$inertia_26, "__esModule", { + value: true +}); +_$inertia_26["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +var ___base_26 = ___interopRequireWildcard_26(_$base_30); + +var __utils_26 = ___interopRequireWildcard_26(_$utils_56); + +var ___raf_26 = ___interopRequireDefault_26(_$raf_62); + +function ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_26() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +_$InteractEvent_15.EventPhase.Resume = 'resume'; +_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart'; + +function __install_26(scope) { + var interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.inertia = { + active: false, + smoothEnd: false, + allowResume: false, + upCoords: {}, + timeout: null + }; + }); + interactions.signals.on('before-action-end', function (arg) { + return release(arg, scope); + }); + interactions.signals.on('down', function (arg) { + return resume(arg, scope); + }); + interactions.signals.on('stop', __stop_26); + defaults.perAction.inertia = { + enabled: false, + resistance: 10, + minSpeed: 100, + endSpeed: 10, + allowResume: true, + smoothEndDuration: 300 + }; + scope.usePlugin(___base_26["default"]); +} + +function resume(_ref2, scope) { + var interaction = _ref2.interaction, + event = _ref2.event, + pointer = _ref2.pointer, + eventTarget = _ref2.eventTarget; + var state = interaction.inertia; // Check if the down event hits the current inertia target + + if (state.active) { + var element = eventTarget; // climb up the DOM tree from the event target + + while (__utils_26.is.element(element)) { + // if interaction element is the current inertia target element + if (element === interaction.element) { + // stop inertia + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; // update pointers to the down event's coordinates + + interaction.updatePointer(pointer, event, eventTarget, true); + __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { + return p.pointer; + }), interaction._now()); // fire appropriate signals + + var signalArg = { + interaction: interaction, + phase: _$InteractEvent_15.EventPhase.Resume + }; + scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event + + var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); + + interaction._fireEvent(resumeEvent); + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); + break; + } + + element = __utils_26.dom.parentNode(element); + } + } +} + +function release(_ref3, scope) { + var interaction = _ref3.interaction, + event = _ref3.event, + noPreEnd = _ref3.noPreEnd; + var state = interaction.inertia; + + if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { + return null; + } + + var options = __getOptions_26(interaction); + + var now = interaction._now(); + + var velocityClient = interaction.coords.velocity.client; + var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); + var smoothEnd = false; + var modifierResult; // check if inertia should be started + + var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; + var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; + var modifierArg = { + interaction: interaction, + pageCoords: interaction.coords.cur.page, + states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { + return __utils_26.extend({}, modifierStatus); + }), + preEnd: true, + prevCoords: null, + requireEndOnly: null, + phase: _$InteractEvent_15.EventPhase.InertiaStart + }; // smoothEnd + + if (inertiaPossible && !inertia) { + modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; + modifierArg.requireEndOnly = false; + modifierResult = ___base_26["default"].setAll(modifierArg); + + if (modifierResult.changed) { + smoothEnd = true; + } + } + + if (!(inertia || smoothEnd)) { + return null; + } + + __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur); + (0, ___base_26.setCoords)(modifierArg); + interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name + interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element); + (0, ___base_26.restoreCoords)(modifierArg); + state.t0 = now; + state.active = true; + state.allowResume = options.allowResume; + interaction.simulation = state; + interaction.interactable.fire(state.startEvent); + + if (inertia) { + state.vx0 = interaction.coords.velocity.client.x; + state.vy0 = interaction.coords.velocity.client.y; + state.v0 = pointerSpeed; + calcInertia(interaction, state); + __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); + modifierArg.pageCoords.x += state.xe; + modifierArg.pageCoords.y += state.ye; + modifierArg.prevCoords = null; + modifierArg.requireEndOnly = true; + modifierResult = ___base_26["default"].setAll(modifierArg); + state.modifiedXe += modifierResult.delta.x; + state.modifiedYe += modifierResult.delta.y; + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.smoothEnd = true; + state.xe = modifierResult.delta.x; + state.ye = modifierResult.delta.y; + state.sx = state.sy = 0; + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } + + return false; +} + +function __stop_26(_ref4) { + var interaction = _ref4.interaction; + var state = interaction.inertia; + + if (state.active) { + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; + } +} + +function calcInertia(interaction, state) { + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; + state.x0 = interaction.prevEvent.page.x; + state.y0 = interaction.prevEvent.page.y; + state.t0 = state.startEvent.timeStamp / 1000; + state.sx = state.sy = 0; + state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; + state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; + state.te = inertiaDur; + state.lambda_v0 = lambda / state.v0; + state.one_ve_v0 = 1 - options.endSpeed / state.v0; +} + +function inertiaTick(interaction) { + updateInertiaCoords(interaction); + __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); + __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); + var state = interaction.inertia; + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var t = interaction._now() / 1000 - state.t0; + + if (t < state.te) { + var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; + + if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { + state.sx = state.xe * progress; + state.sy = state.ye * progress; + } else { + var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); + state.sx = quadPoint.x; + state.sy = quadPoint.y; + } + + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.sx = state.modifiedXe; + state.sy = state.modifiedYe; + interaction.move(); + interaction.end(state.startEvent); + state.active = false; + interaction.simulation = null; + } + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); +} + +function smothEndTick(interaction) { + updateInertiaCoords(interaction); + var state = interaction.inertia; + var t = interaction._now() - state.t0; + + var _getOptions = __getOptions_26(interaction), + duration = _getOptions.smoothEndDuration; + + if (t < duration) { + state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); + state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } else { + state.sx = state.xe; + state.sy = state.ye; + interaction.move(); + interaction.end(state.startEvent); + state.smoothEnd = state.active = false; + interaction.simulation = null; + } +} + +function updateInertiaCoords(interaction) { + var state = interaction.inertia; // return if inertia isn't running + + if (!state.active) { + return; + } + + var pageUp = state.upCoords.page; + var clientUp = state.upCoords.client; + __utils_26.pointer.setCoords(interaction.coords.cur, [{ + pageX: pageUp.x + state.sx, + pageY: pageUp.y + state.sy, + clientX: clientUp.x + state.sx, + clientY: clientUp.y + state.sy + }], interaction._now()); +} + +function __getOptions_26(_ref5) { + var interactable = _ref5.interactable, + prepared = _ref5.prepared; + return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; +} + +var ___default_26 = { + id: 'inertia', + install: __install_26, + calcInertia: calcInertia, + inertiaTick: inertiaTick, + smothEndTick: smothEndTick, + updateInertiaCoords: updateInertiaCoords +}; +_$inertia_26["default"] = ___default_26; + +var _$pointer_33 = {}; +"use strict"; + +Object.defineProperty(_$pointer_33, "__esModule", { + value: true +}); +_$pointer_33["default"] = void 0; + +var ___extend_33 = ___interopRequireDefault_33(_$extend_53); + +var __is_33 = ___interopRequireWildcard_33(_$is_57); + +var ___rect_33 = ___interopRequireDefault_33(_$rect_63); + +function ___getRequireWildcardCache_33() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __start_33(_ref) { + var rect = _ref.rect, + startOffset = _ref.startOffset, + state = _ref.state, + interaction = _ref.interaction, + pageCoords = _ref.pageCoords; + var options = state.options; + var elementRect = options.elementRect; + var offset = (0, ___extend_33["default"])({ + left: 0, + top: 0, + right: 0, + bottom: 0 + }, options.offset || {}); + + if (rect && elementRect) { + var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); + + if (restriction) { + var widthDiff = restriction.right - restriction.left - rect.width; + var heightDiff = restriction.bottom - restriction.top - rect.height; + + if (widthDiff < 0) { + offset.left += widthDiff; + offset.right += widthDiff; + } + + if (heightDiff < 0) { + offset.top += heightDiff; + offset.bottom += heightDiff; + } + } + + offset.left += startOffset.left - rect.width * elementRect.left; + offset.top += startOffset.top - rect.height * elementRect.top; + offset.right += startOffset.right - rect.width * (1 - elementRect.right); + offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); + } + + state.offset = offset; +} + +function set(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var options = state.options, + offset = state.offset; + var restriction = getRestrictionRect(options.restriction, interaction, coords); + + if (!restriction) { + return; + } + + var rect = ___rect_33["default"].xywhToTlbr(restriction); + + coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); + coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); +} + +function getRestrictionRect(value, interaction, coords) { + if (__is_33.func(value)) { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); + } else { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); + } +} + +var __defaults_33 = { + restriction: null, + elementRect: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrict = { + start: __start_33, + set: set, + getRestrictionRect: getRestrictionRect, + defaults: __defaults_33 +}; +var ___default_33 = restrict; +_$pointer_33["default"] = ___default_33; + +var _$edges_32 = {}; +"use strict"; + +Object.defineProperty(_$edges_32, "__esModule", { + value: true +}); +_$edges_32["default"] = void 0; + +var ___extend_32 = ___interopRequireDefault_32(_$extend_53); + +var ___rect_32 = ___interopRequireDefault_32(_$rect_63); + +var _pointer = ___interopRequireDefault_32(_$pointer_33); + +function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +// This module adds the options.resize.restrictEdges setting which sets min and +// max for the top, left, bottom and right edges of the target being resized. +// +// interact(target).resize({ +// edges: { top: true, left: true }, +// restrictEdges: { +// inner: { top: 200, left: 200, right: 400, bottom: 400 }, +// outer: { top: 0, left: 0, right: 600, bottom: 600 }, +// }, +// }) +var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; +var noInner = { + top: +Infinity, + left: +Infinity, + bottom: -Infinity, + right: -Infinity +}; +var noOuter = { + top: -Infinity, + left: -Infinity, + bottom: +Infinity, + right: +Infinity +}; + +function __start_32(_ref) { + var interaction = _ref.interaction, + state = _ref.state; + var options = state.options; + var startOffset = interaction.modifiers.startOffset; + var offset; + + if (options) { + var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); + offset = ___rect_32["default"].rectToXY(offsetRect); + } + + offset = offset || { + x: 0, + y: 0 + }; + state.offset = { + top: offset.y + startOffset.top, + left: offset.x + startOffset.left, + bottom: offset.y - startOffset.bottom, + right: offset.x - startOffset.right + }; +} + +function __set_32(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var offset = state.offset, + options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var page = (0, ___extend_32["default"])({}, coords); + var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; + var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; + fixRect(inner, noInner); + fixRect(outer, noOuter); + + if (edges.top) { + coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); + } else if (edges.bottom) { + coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); + } + + if (edges.left) { + coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); + } else if (edges.right) { + coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); + } +} + +function fixRect(rect, defaults) { + var _arr = ['top', 'left', 'bottom', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (!(edge in rect)) { + rect[edge] = defaults[edge]; + } + } + + return rect; +} + +var __defaults_32 = { + inner: null, + outer: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrictEdges = { + noInner: noInner, + noOuter: noOuter, + getRestrictionRect: __getRestrictionRect_32, + start: __start_32, + set: __set_32, + defaults: __defaults_32 +}; +var ___default_32 = restrictEdges; +_$edges_32["default"] = ___default_32; + +var _$rect_34 = {}; +"use strict"; + +Object.defineProperty(_$rect_34, "__esModule", { + value: true +}); +_$rect_34["default"] = void 0; + +var ___extend_34 = ___interopRequireDefault_34(_$extend_53); + +var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); + +function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __defaults_34 = (0, ___extend_34["default"])({ + get elementRect() { + return { + top: 0, + left: 0, + bottom: 1, + right: 1 + }; + }, + + set elementRect(_) {} + +}, ___pointer_34["default"].defaults); +var restrictRect = { + start: ___pointer_34["default"].start, + set: ___pointer_34["default"].set, + defaults: __defaults_34 +}; +var ___default_34 = restrictRect; +_$rect_34["default"] = ___default_34; + +var _$size_35 = {}; +"use strict"; + +Object.defineProperty(_$size_35, "__esModule", { + value: true +}); +_$size_35["default"] = void 0; + +var ___extend_35 = ___interopRequireDefault_35(_$extend_53); + +var ___rect_35 = ___interopRequireDefault_35(_$rect_63); + +var _edges = ___interopRequireDefault_35(_$edges_32); + +function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var noMin = { + width: -Infinity, + height: -Infinity +}; +var noMax = { + width: +Infinity, + height: +Infinity +}; + +function __start_35(arg) { + return _edges["default"].start(arg); +} + +function __set_35(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); + + var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; + var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; + state.options = { + endOnly: options.endOnly, + inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), + outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) + }; + + if (edges.top) { + state.options.inner.top = rect.bottom - minSize.height; + state.options.outer.top = rect.bottom - maxSize.height; + } else if (edges.bottom) { + state.options.inner.bottom = rect.top + minSize.height; + state.options.outer.bottom = rect.top + maxSize.height; + } + + if (edges.left) { + state.options.inner.left = rect.right - minSize.width; + state.options.outer.left = rect.right - maxSize.width; + } else if (edges.right) { + state.options.inner.right = rect.left + minSize.width; + state.options.outer.right = rect.left + maxSize.width; + } + + _edges["default"].set(arg); + + state.options = options; +} + +var __defaults_35 = { + min: null, + max: null, + endOnly: false, + enabled: false +}; +var restrictSize = { + start: __start_35, + set: __set_35, + defaults: __defaults_35 +}; +var ___default_35 = restrictSize; +_$size_35["default"] = ___default_35; + +var _$pointer_37 = {}; +"use strict"; + +Object.defineProperty(_$pointer_37, "__esModule", { + value: true +}); +_$pointer_37["default"] = void 0; + +var __utils_37 = ___interopRequireWildcard_37(_$utils_56); + +function ___getRequireWildcardCache_37() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __start_37(arg) { + var interaction = arg.interaction, + interactable = arg.interactable, + element = arg.element, + rect = arg.rect, + state = arg.state, + startOffset = arg.startOffset; + var options = state.options; + var offsets = []; + var origin = options.offsetWithOrigin ? getOrigin(arg) : { + x: 0, + y: 0 + }; + var snapOffset; + + if (options.offset === 'startCoords') { + snapOffset = { + x: interaction.coords.start.page.x, + y: interaction.coords.start.page.y + }; + } else { + var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); + snapOffset = __utils_37.rect.rectToXY(offsetRect) || { + x: 0, + y: 0 + }; + snapOffset.x += origin.x; + snapOffset.y += origin.y; + } + + var relativePoints = options.relativePoints || []; + + if (rect && options.relativePoints && options.relativePoints.length) { + for (var index = 0; index < relativePoints.length; index++) { + var relativePoint = relativePoints[index]; + offsets.push({ + index: index, + relativePoint: relativePoint, + x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, + y: startOffset.top - rect.height * relativePoint.y + snapOffset.y + }); + } + } else { + offsets.push(__utils_37.extend({ + index: 0, + relativePoint: null + }, snapOffset)); + } + + state.offsets = offsets; +} + +function __set_37(arg) { + var interaction = arg.interaction, + coords = arg.coords, + state = arg.state; + var options = state.options, + offsets = state.offsets; + var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); + var page = __utils_37.extend({}, coords); + var targets = []; + var target; + + if (!options.offsetWithOrigin) { + page.x -= origin.x; + page.y -= origin.y; + } + + state.realX = page.x; + state.realY = page.y; + + for (var _i = 0; _i < offsets.length; _i++) { + var _ref; + + _ref = offsets[_i]; + var offset = _ref; + var relativeX = page.x - offset.x; + var relativeY = page.y - offset.y; + + for (var index = 0, _len = options.targets.length; index < _len; index++) { + var snapTarget = options.targets[index]; + + if (__utils_37.is.func(snapTarget)) { + target = snapTarget(relativeX, relativeY, interaction, offset, index); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + targets.push({ + x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, + y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, + range: __utils_37.is.number(target.range) ? target.range : options.range + }); + } + } + + var closest = { + target: null, + inRange: false, + distance: 0, + range: 0, + dx: 0, + dy: 0 + }; + + for (var i = 0, len = targets.length; i < len; i++) { + target = targets[i]; + var range = target.range; + var dx = target.x - page.x; + var dy = target.y - page.y; + var distance = __utils_37.hypot(dx, dy); + var inRange = distance <= range; // Infinite targets count as being out of range + // compared to non infinite ones that are in range + + if (range === Infinity && closest.inRange && closest.range !== Infinity) { + inRange = false; + } + + if (!closest.target || (inRange // is the closest target in range? + ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target + ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't + : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest + distance < closest.distance : // The other is not in range and the pointer is closer to this target + !closest.inRange && distance < closest.distance)) { + closest.target = target; + closest.distance = distance; + closest.range = range; + closest.inRange = inRange; + closest.dx = dx; + closest.dy = dy; + state.range = range; + } + } + + if (closest.inRange) { + coords.x = closest.target.x; + coords.y = closest.target.y; + } + + state.closest = closest; +} + +function getOrigin(arg) { + var element = arg.interaction.element; + var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element])); + var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name); + return origin; +} + +var __defaults_37 = { + range: Infinity, + targets: null, + offset: null, + offsetWithOrigin: true, + origin: null, + relativePoints: null, + endOnly: false, + enabled: false +}; +var snap = { + start: __start_37, + set: __set_37, + defaults: __defaults_37 +}; +var ___default_37 = snap; +_$pointer_37["default"] = ___default_37; + +var _$size_38 = {}; +"use strict"; + +Object.defineProperty(_$size_38, "__esModule", { + value: true +}); +_$size_38["default"] = void 0; + +var ___extend_38 = ___interopRequireDefault_38(_$extend_53); + +var __is_38 = ___interopRequireWildcard_38(_$is_57); + +var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); + +function ___getRequireWildcardCache_38() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } + +function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; } + +function __start_38(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state = { + options: { + targets: null, + relativePoints: [{ + x: edges.left ? 0 : 1, + y: edges.top ? 0 : 1 + }], + offset: options.offset || 'self', + origin: { + x: 0, + y: 0 + }, + range: options.range + } + }; + state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; + + ___pointer_38["default"].start(arg); + + state.offsets = arg.state.offsets; + arg.state = state; +} + +function __set_38(arg) { + var interaction = arg.interaction, + state = arg.state, + coords = arg.coords; + var options = state.options, + offsets = state.offsets; + var relative = { + x: coords.x - offsets[0].x, + y: coords.y - offsets[0].y + }; + state.options = (0, ___extend_38["default"])({}, options); + state.options.targets = []; + + for (var _i = 0; _i < (options.targets || []).length; _i++) { + var _ref; + + _ref = (options.targets || [])[_i]; + var snapTarget = _ref; + var target = void 0; + + if (__is_38.func(snapTarget)) { + target = snapTarget(relative.x, relative.y, interaction); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { + var _ref2; + + _ref2 = state.targetFields[_i2]; + + var _ref3 = _ref2, + _ref4 = ___slicedToArray_38(_ref3, 2), + xField = _ref4[0], + yField = _ref4[1]; + + if (xField in target || yField in target) { + target.x = target[xField]; + target.y = target[yField]; + break; + } + } + + state.options.targets.push(target); + } + + ___pointer_38["default"].set(arg); + + state.options = options; +} + +var __defaults_38 = { + range: Infinity, + targets: null, + offset: null, + endOnly: false, + enabled: false +}; +var snapSize = { + start: __start_38, + set: __set_38, + defaults: __defaults_38 +}; +var ___default_38 = snapSize; +_$size_38["default"] = ___default_38; + +var _$edges_36 = {}; +"use strict"; + +Object.defineProperty(_$edges_36, "__esModule", { + value: true +}); +_$edges_36["default"] = void 0; + +var ___clone_36 = ___interopRequireDefault_36(_$clone_49); + +var ___extend_36 = ___interopRequireDefault_36(_$extend_53); + +var _size = ___interopRequireDefault_36(_$size_38); + +function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +/** + * @module modifiers/snapEdges + * + * @description + * This module allows snapping of the edges of targets during resize + * interactions. + * + * @example + * interact(target).resizable({ + * snapEdges: { + * targets: [interact.snappers.grid({ x: 100, y: 50 })], + * }, + * }) + * + * interact(target).resizable({ + * snapEdges: { + * targets: [ + * interact.snappers.grid({ + * top: 50, + * left: 50, + * bottom: 100, + * right: 100, + * }), + * ], + * }, + * }) + */ +function __start_36(arg) { + var edges = arg.interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; + return _size["default"].start(arg); +} + +function __set_36(arg) { + return _size["default"].set(arg); +} + +var snapEdges = { + start: __start_36, + set: __set_36, + defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { + offset: { + x: 0, + y: 0 + } + }) +}; +var ___default_36 = snapEdges; +_$edges_36["default"] = ___default_36; + +var _$modifiers_31 = {}; +"use strict"; + +Object.defineProperty(_$modifiers_31, "__esModule", { + value: true +}); +_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; + +var ___base_31 = ___interopRequireDefault_31(_$base_30); + +var ___edges_31 = ___interopRequireDefault_31(_$edges_32); + +var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); + +var ___rect_31 = ___interopRequireDefault_31(_$rect_34); + +var ___size_31 = ___interopRequireDefault_31(_$size_35); + +var _edges2 = ___interopRequireDefault_31(_$edges_36); + +var _pointer2 = ___interopRequireDefault_31(_$pointer_37); + +var _size2 = ___interopRequireDefault_31(_$size_38); + +function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __makeModifier_31 = ___base_31["default"].makeModifier; +var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); +_$modifiers_31.snap = __snap_31; +var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); +_$modifiers_31.snapSize = __snapSize_31; +var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); +_$modifiers_31.snapEdges = __snapEdges_31; +var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); +_$modifiers_31.restrict = __restrict_31; +var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); +_$modifiers_31.restrictRect = __restrictRect_31; +var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); +_$modifiers_31.restrictEdges = __restrictEdges_31; +var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); +_$modifiers_31.restrictSize = __restrictSize_31; + +var _$PointerEvent_39 = {}; +"use strict"; + +Object.defineProperty(_$PointerEvent_39, "__esModule", { + value: true +}); +_$PointerEvent_39["default"] = void 0; + +var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); + +var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); + +function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___typeof_39(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_39(obj); } + +function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } + +function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } + +function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___inherits_39(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); } + +function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } + +/** */ +var PointerEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_39(PointerEvent, _BaseEvent); + + /** */ + function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { + var _this; + + ___classCallCheck_39(this, PointerEvent); + + _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); + + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); + + if (event !== pointer) { + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); + } + + _this.timeStamp = timeStamp; + _this.originalEvent = event; + _this.type = type; + _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); + _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); + _this.target = eventTarget; + _this.currentTarget = null; + + if (type === 'tap') { + var pointerIndex = interaction.getPointerIndex(pointer); + _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; + var interval = _this.timeStamp - interaction.tapTime; + _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); + } else if (type === 'doubletap') { + _this.dt = pointer.timeStamp - interaction.tapTime; + } + + return _this; + } + + ___createClass_39(PointerEvent, [{ + key: "_subtractOrigin", + value: function _subtractOrigin(_ref) { + var originX = _ref.x, + originY = _ref.y; + this.pageX -= originX; + this.pageY -= originY; + this.clientX -= originX; + this.clientY -= originY; + return this; + } + }, { + key: "_addOrigin", + value: function _addOrigin(_ref2) { + var originX = _ref2.x, + originY = _ref2.y; + this.pageX += originX; + this.pageY += originY; + this.clientX += originX; + this.clientY += originY; + return this; + } + /** + * Prevent the default behaviour of the original Event + */ + + }, { + key: "preventDefault", + value: function preventDefault() { + this.originalEvent.preventDefault(); + } + }]); + + return PointerEvent; +}(___BaseEvent2_39["default"]); + +_$PointerEvent_39["default"] = PointerEvent; + +var _$base_40 = {}; +"use strict"; + +Object.defineProperty(_$base_40, "__esModule", { + value: true +}); +_$base_40["default"] = void 0; + +var __utils_40 = ___interopRequireWildcard_40(_$utils_56); + +var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); + +function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_40() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +var signals = new __utils_40.Signals(); +var simpleSignals = ['down', 'up', 'cancel']; +var simpleEvents = ['down', 'up', 'cancel']; +var __defaults_40 = { + holdDuration: 600, + ignoreFrom: null, + allowFrom: null, + origin: { + x: 0, + y: 0 + } +}; +var pointerEvents = { + id: 'pointer-events/base', + install: __install_40, + signals: signals, + PointerEvent: _PointerEvent["default"], + fire: fire, + collectEventTargets: collectEventTargets, + createSignalListener: createSignalListener, + defaults: __defaults_40, + types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] +}; + +function fire(arg, scope) { + var interaction = arg.interaction, + pointer = arg.pointer, + event = arg.event, + eventTarget = arg.eventTarget, + _arg$type = arg.type, + type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, + _arg$targets = arg.targets, + targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; + var _arg$pointerEvent = arg.pointerEvent, + pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + targets: targets, + type: type, + pointerEvent: pointerEvent + }; + + for (var i = 0; i < targets.length; i++) { + var target = targets[i]; + + for (var prop in target.props || {}) { + pointerEvent[prop] = target.props[prop]; + } + + var origin = __utils_40.getOriginXY(target.eventable, target.node); + + pointerEvent._subtractOrigin(origin); + + pointerEvent.eventable = target.eventable; + pointerEvent.currentTarget = target.node; + target.eventable.fire(pointerEvent); + + pointerEvent._addOrigin(origin); + + if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { + break; + } + } + + signals.fire('fired', signalArg); + + if (type === 'tap') { + // if pointerEvent should make a double tap, create and fire a doubletap + // PointerEvent and use that as the prevTap + var prevTap = pointerEvent["double"] ? fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'doubletap' + }, scope) : pointerEvent; + interaction.prevTap = prevTap; + interaction.tapTime = prevTap.timeStamp; + } + + return pointerEvent; +} + +function collectEventTargets(_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget, + type = _ref.type; + var pointerIndex = interaction.getPointerIndex(pointer); + var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted + + if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target + !(pointerInfo && pointerInfo.downTarget === eventTarget))) { + return []; + } + + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: type, + path: path, + targets: [], + node: null + }; + + for (var _i = 0; _i < path.length; _i++) { + var _ref2; + + _ref2 = path[_i]; + var node = _ref2; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (type === 'hold') { + signalArg.targets = signalArg.targets.filter(function (target) { + return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; + }); + } + + return signalArg.targets; +} + +function __install_40(scope) { + var interactions = scope.interactions; + scope.pointerEvents = pointerEvents; + scope.defaults.actions.pointerEvents = pointerEvents.defaults; + interactions.signals.on('new', function (_ref3) { + var interaction = _ref3.interaction; + interaction.prevTap = null; // the most recent tap event on this interaction + + interaction.tapTime = 0; // time of the most recent tap event + }); + interactions.signals.on('update-pointer', function (_ref4) { + var down = _ref4.down, + pointerInfo = _ref4.pointerInfo; + + if (!down && pointerInfo.hold) { + return; + } + + pointerInfo.hold = { + duration: Infinity, + timeout: null + }; + }); + interactions.signals.on('move', function (_ref5) { + var interaction = _ref5.interaction, + pointer = _ref5.pointer, + event = _ref5.event, + eventTarget = _ref5.eventTarget, + duplicateMove = _ref5.duplicateMove; + var pointerIndex = interaction.getPointerIndex(pointer); + + if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { + if (interaction.pointerIsDown) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + + fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'move' + }, scope); + } + }); + interactions.signals.on('down', function (_ref6) { + var interaction = _ref6.interaction, + pointer = _ref6.pointer, + event = _ref6.event, + eventTarget = _ref6.eventTarget, + pointerIndex = _ref6.pointerIndex; + var timer = interaction.pointers[pointerIndex].hold; + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'hold', + targets: [], + path: path, + node: null + }; + + for (var _i2 = 0; _i2 < path.length; _i2++) { + var _ref7; + + _ref7 = path[_i2]; + var node = _ref7; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (!signalArg.targets.length) { + return; + } + + var minDuration = Infinity; + + for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { + var _ref8; + + _ref8 = signalArg.targets[_i3]; + var target = _ref8; + var holdDuration = target.eventable.options.holdDuration; + + if (holdDuration < minDuration) { + minDuration = holdDuration; + } + } + + timer.duration = minDuration; + timer.timeout = setTimeout(function () { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'hold' + }, scope); + }, minDuration); + }); + var _arr = ['up', 'cancel']; + + for (var _i4 = 0; _i4 < _arr.length; _i4++) { + var signalName = _arr[_i4]; + interactions.signals.on(signalName, function (_ref10) { + var interaction = _ref10.interaction, + pointerIndex = _ref10.pointerIndex; + + if (interaction.pointers[pointerIndex].hold) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + }); + } + + for (var i = 0; i < simpleSignals.length; i++) { + interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); + } + + interactions.signals.on('up', function (_ref9) { + var interaction = _ref9.interaction, + pointer = _ref9.pointer, + event = _ref9.event, + eventTarget = _ref9.eventTarget; + + if (!interaction.pointerWasMoved) { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'tap' + }, scope); + } + }); +} + +function createSignalListener(type, scope) { + return function (_ref11) { + var interaction = _ref11.interaction, + pointer = _ref11.pointer, + event = _ref11.event, + eventTarget = _ref11.eventTarget; + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: type + }, scope); + }; +} + +var ___default_40 = pointerEvents; +_$base_40["default"] = ___default_40; + +var _$holdRepeat_41 = {}; +"use strict"; + +Object.defineProperty(_$holdRepeat_41, "__esModule", { + value: true +}); +_$holdRepeat_41["default"] = void 0; + +var ___base_41 = ___interopRequireDefault_41(_$base_40); + +function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_41(scope) { + var pointerEvents = scope.pointerEvents, + interactions = scope.interactions; + scope.usePlugin(___base_41["default"]); + pointerEvents.signals.on('new', onNew); + pointerEvents.signals.on('fired', function (arg) { + return onFired(arg, scope); + }); + var _arr = ['move', 'up', 'cancel', 'endall']; + + for (var _i = 0; _i < _arr.length; _i++) { + var signal = _arr[_i]; + interactions.signals.on(signal, endHoldRepeat); + } // don't repeat by default + + + pointerEvents.defaults.holdRepeatInterval = 0; + pointerEvents.types.push('holdrepeat'); +} + +function onNew(_ref) { + var pointerEvent = _ref.pointerEvent; + + if (pointerEvent.type !== 'hold') { + return; + } + + pointerEvent.count = (pointerEvent.count || 0) + 1; +} + +function onFired(_ref2, scope) { + var interaction = _ref2.interaction, + pointerEvent = _ref2.pointerEvent, + eventTarget = _ref2.eventTarget, + targets = _ref2.targets; + + if (pointerEvent.type !== 'hold' || !targets.length) { + return; + } // get the repeat interval from the first eventable + + + var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less + + if (interval <= 0) { + return; + } // set a timeout to fire the holdrepeat event + + + interaction.holdIntervalHandle = setTimeout(function () { + scope.pointerEvents.fire({ + interaction: interaction, + eventTarget: eventTarget, + type: 'hold', + pointer: pointerEvent, + event: pointerEvent + }, scope); + }, interval); +} + +function endHoldRepeat(_ref3) { + var interaction = _ref3.interaction; + + // set the interaction's holdStopTime property + // to stop further holdRepeat events + if (interaction.holdIntervalHandle) { + clearInterval(interaction.holdIntervalHandle); + interaction.holdIntervalHandle = null; + } +} + +var ___default_41 = { + id: 'pointer-events/holdRepeat', + install: __install_41 +}; +_$holdRepeat_41["default"] = ___default_41; + +var _$interactableTargets_43 = {}; +"use strict"; + +Object.defineProperty(_$interactableTargets_43, "__esModule", { + value: true +}); +_$interactableTargets_43["default"] = void 0; + +/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; + +var ___extend_43 = ___interopRequireDefault_43(_$extend_53); + +function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_43(scope) { + var pointerEvents = scope.pointerEvents, + actions = scope.actions, + Interactable = scope.Interactable, + interactables = scope.interactables; + pointerEvents.signals.on('collect-targets', function (_ref) { + var targets = _ref.targets, + node = _ref.node, + type = _ref.type, + eventTarget = _ref.eventTarget; + scope.interactables.forEachMatch(node, function (interactable) { + var eventable = interactable.events; + var options = eventable.options; + + if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { + targets.push({ + node: node, + eventable: eventable, + props: { + interactable: interactable + } + }); + } + }); + }); + interactables.signals.on('new', function (_ref2) { + var interactable = _ref2.interactable; + + interactable.events.getRect = function (element) { + return interactable.getRect(element); + }; + }); + interactables.signals.on('set', function (_ref3) { + var interactable = _ref3.interactable, + options = _ref3.options; + (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); + (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); + }); + (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); + Interactable.prototype.pointerEvents = pointerEventsMethod; + var __backCompatOption = Interactable.prototype._backCompatOption; + + Interactable.prototype._backCompatOption = function (optionName, newValue) { + var ret = __backCompatOption.call(this, optionName, newValue); + + if (ret === this) { + this.events.options[optionName] = newValue; + } + + return ret; + }; +} + +function pointerEventsMethod(options) { + (0, ___extend_43["default"])(this.events.options, options); + return this; +} + +var ___default_43 = { + id: 'pointer-events/interactableTargets', + install: __install_43 +}; +_$interactableTargets_43["default"] = ___default_43; + +var _$pointerEvents_42 = {}; +"use strict"; + +Object.defineProperty(_$pointerEvents_42, "__esModule", { + value: true +}); +_$pointerEvents_42.install = __install_42; +Object.defineProperty(_$pointerEvents_42, "pointerEvents", { + enumerable: true, + get: function get() { + return ___base_42["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "holdRepeat", { + enumerable: true, + get: function get() { + return _holdRepeat["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "interactableTargets", { + enumerable: true, + get: function get() { + return _interactableTargets["default"]; + } +}); +_$pointerEvents_42.id = void 0; + +var ___base_42 = ___interopRequireDefault_42(_$base_40); + +var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); + +var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); + +function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_42(scope) { + scope.usePlugin(___base_42["default"]); + scope.usePlugin(_holdRepeat["default"]); + scope.usePlugin(_interactableTargets["default"]); +} + +var __id_42 = 'pointer-events'; +_$pointerEvents_42.id = __id_42; + +var _$reflow_44 = {}; +"use strict"; + +Object.defineProperty(_$reflow_44, "__esModule", { + value: true +}); +_$reflow_44.install = __install_44; +_$reflow_44["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +_$InteractEvent_15.EventPhase.Reflow = 'reflow'; + +function __install_44(scope) { + var actions = scope.actions, + interactions = scope.interactions, + Interactable = scope.Interactable; // add action reflow event types + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + actions.eventTypes.push("".concat(actionName, "reflow")); + } // remove completed reflow interactions + + + interactions.signals.on('stop', function (_ref2) { + var interaction = _ref2.interaction; + + if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { + if (interaction._reflowResolve) { + interaction._reflowResolve(); + } + + _$utils_56.arr.remove(scope.interactions.list, interaction); + } + }); + /** + * ```js + * const interactable = interact(target) + * const drag = { name: drag, axis: 'x' } + * const resize = { name: resize, edges: { left: true, bottom: true } + * + * interactable.reflow(drag) + * interactable.reflow(resize) + * ``` + * + * Start an action sequence to re-apply modifiers, check drops, etc. + * + * @param { Object } action The action to begin + * @param { string } action.name The name of the action + * @returns { Promise } + */ + + Interactable.prototype.reflow = function (action) { + return reflow(this, action, scope); + }; +} + +function reflow(interactable, action, scope) { + var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name + + var Promise = _$utils_56.win.window.Promise; + var promises = Promise ? [] : null; + + var _loop = function _loop() { + _ref3 = elements[_i2]; + var element = _ref3; + var rect = interactable.getRect(element); + + if (!rect) { + return "break"; + } + + var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { + return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; + }); + + var reflowPromise = void 0; + + if (runningInteraction) { + runningInteraction.move(); + + if (promises) { + reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { + runningInteraction._reflowResolve = resolve; + }); + } + } else { + var xywh = _$utils_56.rect.tlbrToXywh(rect); + + var coords = { + page: { + x: xywh.x, + y: xywh.y + }, + client: { + x: xywh.x, + y: xywh.y + }, + timeStamp: scope.now() + }; + + var event = _$utils_56.pointer.coordsToEvent(coords); + + reflowPromise = startReflow(scope, interactable, element, action, event); + } + + if (promises) { + promises.push(reflowPromise); + } + }; + + for (var _i2 = 0; _i2 < elements.length; _i2++) { + var _ref3; + + var _ret = _loop(); + + if (_ret === "break") break; + } + + return promises && Promise.all(promises).then(function () { + return interactable; + }); +} + +function startReflow(scope, interactable, element, action, event) { + var interaction = scope.interactions["new"]({ + pointerType: 'reflow' + }); + var signalArg = { + interaction: interaction, + event: event, + pointer: event, + eventTarget: element, + phase: _$InteractEvent_15.EventPhase.Reflow + }; + interaction.interactable = interactable; + interaction.element = element; + interaction.prepared = (0, _$utils_56.extend)({}, action); + interaction.prevEvent = event; + interaction.updatePointer(event, event, element, true); + + interaction._doPhase(signalArg); + + var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { + interaction._reflowResolve = resolve; + }) : null; + interaction._reflowPromise = reflowPromise; + interaction.start(action, interactable, element); + + if (interaction._interacting) { + interaction.move(signalArg); + interaction.end(event); + } else { + interaction.stop(); + } + + interaction.removePointer(event, event); + interaction.pointerIsDown = false; + return reflowPromise; +} + +var ___default_44 = { + id: 'reflow', + install: __install_44 +}; +_$reflow_44["default"] = ___default_44; + +var _$interact_28 = {}; +"use strict"; + +Object.defineProperty(_$interact_28, "__esModule", { + value: true +}); +_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; + +var ___scope_28 = _$scope_24({}); + +var __utils_28 = ___interopRequireWildcard_28(_$utils_56); + +var ___browser_28 = ___interopRequireDefault_28(_$browser_48); + +var ___events_28 = ___interopRequireDefault_28(_$events_52); + +function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_28() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +/** @module interact */ +var globalEvents = {}; +var scope = new ___scope_28.Scope(); +/** + * ```js + * interact('#draggable').draggable(true) + * + * var rectables = interact('rect') + * rectables + * .gesturable(true) + * .on('gesturemove', function (event) { + * // ... + * }) + * ``` + * + * The methods of this variable can be used to set elements as interactables + * and also to change various default settings. + * + * Calling it as a function and passing an element or a valid CSS selector + * string returns an Interactable object which has various methods to configure + * it. + * + * @global + * + * @param {Element | string} target The HTML or SVG Element to interact with + * or CSS selector + * @return {Interactable} + */ + +_$interact_28.scope = scope; + +var interact = function interact(target, options) { + var interactable = scope.interactables.get(target, options); + + if (!interactable) { + interactable = scope.interactables["new"](target, options); + interactable.events.global = globalEvents; + } + + return interactable; +}; +/** + * Use a plugin + * + * @alias module:interact.use + * + * @param {Object} plugin + * @param {function} plugin.install + * @return {interact} + */ + + +_$interact_28.interact = interact; +interact.use = use; + +function use(plugin, options) { + scope.usePlugin(plugin, options); + return interact; +} +/** + * Check if an element or selector has been set with the {@link interact} + * function + * + * @alias module:interact.isSet + * + * @param {Element} element The Element being searched for + * @return {boolean} Indicates if the element or CSS selector was previously + * passed to interact + */ + + +interact.isSet = isSet; + +function isSet(target, options) { + return !!scope.interactables.get(target, options && options.context); +} +/** + * Add a global listener for an InteractEvent or adds a DOM event to `document` + * + * @alias module:interact.on + * + * @param {string | array | object} type The types of events to listen for + * @param {function} listener The function event (s) + * @param {object | boolean} [options] object or useCapture flag for + * addEventListener + * @return {object} interact + */ + + +interact.on = on; + +function on(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i = 0; _i < type.length; _i++) { + var _ref; + + _ref = type[_i]; + var eventType = _ref; + interact.on(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.on(prop, type[prop], listener); + } + + return interact; + } // if it is an InteractEvent type, add listener to globalEvents + + + if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { + // if this type of event was never bound + if (!globalEvents[type]) { + globalEvents[type] = [listener]; + } else { + globalEvents[type].push(listener); + } + } // If non InteractEvent type, addEventListener to document + else { + ___events_28["default"].add(scope.document, type, listener, { + options: options + }); + } + + return interact; +} +/** + * Removes a global InteractEvent listener or DOM event from `document` + * + * @alias module:interact.off + * + * @param {string | array | object} type The types of events that were listened + * for + * @param {function} listener The listener function to be removed + * @param {object | boolean} options [options] object or useCapture flag for + * removeEventListener + * @return {object} interact + */ + + +interact.off = off; + +function off(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i2 = 0; _i2 < type.length; _i2++) { + var _ref2; + + _ref2 = type[_i2]; + var eventType = _ref2; + interact.off(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.off(prop, type[prop], listener); + } + + return interact; + } + + if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { + ___events_28["default"].remove(scope.document, type, listener, options); + } else { + var index; + + if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { + globalEvents[type].splice(index, 1); + } + } + + return interact; +} +/** + * Returns an object which exposes internal data + * @alias module:interact.debug + * + * @return {object} An object with properties that outline the current state + * and expose internal functions and variables + */ + + +interact.debug = debug; + +function debug() { + return scope; +} // expose the functions used to calculate multi-touch properties + + +interact.getPointerAverage = __utils_28.pointer.pointerAverage; +interact.getTouchBBox = __utils_28.pointer.touchBBox; +interact.getTouchDistance = __utils_28.pointer.touchDistance; +interact.getTouchAngle = __utils_28.pointer.touchAngle; +interact.getElementRect = __utils_28.dom.getElementRect; +interact.getElementClientRect = __utils_28.dom.getElementClientRect; +interact.matchesSelector = __utils_28.dom.matchesSelector; +interact.closest = __utils_28.dom.closest; +/** + * @alias module:interact.supportsTouch + * + * @return {boolean} Whether or not the browser supports touch input + */ + +interact.supportsTouch = supportsTouch; + +function supportsTouch() { + return ___browser_28["default"].supportsTouch; +} +/** + * @alias module:interact.supportsPointerEvent + * + * @return {boolean} Whether or not the browser supports PointerEvents + */ + + +interact.supportsPointerEvent = supportsPointerEvent; + +function supportsPointerEvent() { + return ___browser_28["default"].supportsPointerEvent; +} +/** + * Cancels all interactions (end events are not fired) + * + * @alias module:interact.stop + * + * @return {object} interact + */ + + +interact.stop = __stop_28; + +function __stop_28() { + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + interaction.stop(); + } + + return interact; +} +/** + * Returns or sets the distance the pointer must be moved before an action + * sequence occurs. This also affects tolerance for tap events. + * + * @alias module:interact.pointerMoveTolerance + * + * @param {number} [newValue] The movement from the start position must be greater than this value + * @return {interact | number} + */ + + +interact.pointerMoveTolerance = pointerMoveTolerance; + +function pointerMoveTolerance(newValue) { + if (__utils_28.is.number(newValue)) { + scope.interactions.pointerMoveTolerance = newValue; + return interact; + } + + return scope.interactions.pointerMoveTolerance; +} + +scope.interactables.signals.on('unset', function (_ref4) { + var interactable = _ref4.interactable; + scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref5; + + _ref5 = scope.interactions.list[_i4]; + var interaction = _ref5; + + if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { + interaction.stop(); + } + } +}); + +interact.addDocument = function (doc, options) { + return scope.addDocument(doc, options); +}; + +interact.removeDocument = function (doc) { + return scope.removeDocument(doc); +}; + +scope.interact = interact; +var ___default_28 = interact; +_$interact_28["default"] = ___default_28; + +var _$interact_27 = {}; +"use strict"; + +Object.defineProperty(_$interact_27, "__esModule", { + value: true +}); +_$interact_27.init = __init_27; +Object.defineProperty(_$interact_27, "autoScroll", { + enumerable: true, + get: function get() { + return _autoScroll["default"]; + } +}); +Object.defineProperty(_$interact_27, "interactablePreventDefault", { + enumerable: true, + get: function get() { + return _interactablePreventDefault["default"]; + } +}); +Object.defineProperty(_$interact_27, "inertia", { + enumerable: true, + get: function get() { + return _inertia["default"]; + } +}); +Object.defineProperty(_$interact_27, "modifiers", { + enumerable: true, + get: function get() { + return ___base_27["default"]; + } +}); +Object.defineProperty(_$interact_27, "reflow", { + enumerable: true, + get: function get() { + return _reflow["default"]; + } +}); +Object.defineProperty(_$interact_27, "interact", { + enumerable: true, + get: function get() { + return _interact["default"]; + } +}); +_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; + +var actions = ___interopRequireWildcard_27(_$actions_5); + +_$interact_27.actions = actions; + +var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); + +var autoStart = ___interopRequireWildcard_27(_$autoStart_12); + +var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); + +var _devTools = ___interopRequireDefault_27(_$devTools_25); + +var _inertia = ___interopRequireDefault_27(_$inertia_26); + +var modifiers = ___interopRequireWildcard_27(_$modifiers_31); + +var ___base_27 = ___interopRequireDefault_27(_$base_30); + +var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); + +_$interact_27.pointerEvents = __pointerEvents_27; + +var _reflow = ___interopRequireDefault_27(_$reflow_44); + +var _interact = ___interopRequireWildcard_27(_$interact_28); + +function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_27() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __init_27(window) { + _interact.scope.init(window); + + _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents + + + _interact["default"].use(__pointerEvents_27); // inertia + + + _interact["default"].use(_inertia["default"]); // autoStart, hold + + + _interact["default"].use(autoStart); // drag and drop, resize, gesture + + + _interact["default"].use(actions); // snap, resize, etc. + + + _interact["default"].use(___base_27["default"]); // for backwrads compatibility + + + for (var type in modifiers) { + var _modifiers$type = modifiers[type], + _defaults = _modifiers$type._defaults, + _methods = _modifiers$type._methods; + _defaults._methods = _methods; + _interact.scope.defaults.perAction[type] = _defaults; + } // autoScroll + + + _interact["default"].use(_autoScroll["default"]); // reflow + + + _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef + + + if (false) {} + + return _interact["default"]; +} // eslint-disable-next-line no-undef + + +_interact["default"].version = "1.6.3"; +var ___default_27 = _interact["default"]; +_$interact_27["default"] = ___default_27; + +var _$types_45 = {}; +/// +"use strict"; + +var _$grid_64 = {}; +"use strict"; + +Object.defineProperty(_$grid_64, "__esModule", { + value: true +}); +_$grid_64["default"] = void 0; + +function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } + +function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; } + +function createGrid(grid) { + var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { + var _ref2 = ___slicedToArray_64(_ref, 2), + xField = _ref2[0], + yField = _ref2[1]; + + return xField in grid || yField in grid; + }); + return function (x, y) { + var range = grid.range, + _grid$limits = grid.limits, + limits = _grid$limits === void 0 ? { + left: -Infinity, + right: Infinity, + top: -Infinity, + bottom: Infinity + } : _grid$limits, + _grid$offset = grid.offset, + offset = _grid$offset === void 0 ? { + x: 0, + y: 0 + } : _grid$offset; + var result = { + range: range + }; + + for (var _i2 = 0; _i2 < coordFields.length; _i2++) { + var _ref3; + + _ref3 = coordFields[_i2]; + + var _ref4 = _ref3, + _ref5 = ___slicedToArray_64(_ref4, 2), + xField = _ref5[0], + yField = _ref5[1]; + + var gridx = Math.round((x - offset.x) / grid[xField]); + var gridy = Math.round((y - offset.y) / grid[yField]); + result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); + result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); + } + + return result; + }; +} + +var ___default_64 = createGrid; +_$grid_64["default"] = ___default_64; + +var _$snappers_65 = {}; +"use strict"; + +Object.defineProperty(_$snappers_65, "__esModule", { + value: true +}); +Object.defineProperty(_$snappers_65, "grid", { + enumerable: true, + get: function get() { + return _grid["default"]; + } +}); + +var _grid = ___interopRequireDefault_65(_$grid_64); + +function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var _$index_29 = { exports: {} }; +"use strict"; + +Object.defineProperty(_$index_29.exports, "__esModule", { + value: true +}); +_$index_29.exports.init = __init_29; +_$index_29.exports["default"] = void 0; + +var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); + +var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); + +_$types_45; + +var ___extend_29 = ___interopRequireDefault_29(_$extend_53); + +var snappers = ___interopRequireWildcard_29(_$snappers_65); + +function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_29() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___typeof_29(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_29(obj); } + +if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { + __init_29(window); +} + +function __init_29(win) { + (0, ___interact_29.init)(win); + return ___interact_29["default"].use({ + id: 'interactjs', + install: function install() { + ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); + ___interact_29["default"].snappers = snappers; + ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; + } + }); +} + +var ___default_29 = ___interact_29["default"]; +_$index_29.exports["default"] = ___default_29; +___interact_29["default"]["default"] = ___interact_29["default"] // tslint:disable-line no-string-literal +; +___interact_29["default"].init = __init_29; // tslint:disable-line no-string-literal + +if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { + _$index_29.exports = ___interact_29["default"]; +} + +_$index_29 = _$index_29.exports +return _$index_29; + +}); + + +//# sourceMappingURL=interact.js.map + + /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.common.js.map b/dist/vue-grid-layout.common.js.map index e9a0e75b..bbf56035 100644 --- a/dist/vue-grid-layout.common.js.map +++ b/dist/vue-grid-layout.common.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.min.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?a8b6","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?d677","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"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A;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAC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AO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;ACJA;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,0CAA0C,OAAO,oDAAoD,cAAc,eAAe,oCAAoC,iGAAiG,cAAc,oEAAoE,oFAAoF,QAAQ,YAAY,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,eAAe,2BAA2B,IAAI,mBAAmB,8CAA8C,qBAAqB,6BAA6B,oCAAoC,yBAAyB,kB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A;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzIA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,YAAY,mBAAO,CAAC,MAAU;AAC9B,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,SAAS,mBAAO,CAAC,MAAc;AAC/B,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,MAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA,oEAAoE,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAa;AACvB;;;;;;;;ACpEA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;;ACFD;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,MAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACppBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACvUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mB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iDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AAjEA,GA3NA;AA8RA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GA9RA;AA+TA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,wBA9CA,kCA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAraA;AA/TA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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A,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KA5BA;AA6BA;AACA;AACA;AADA;AAGA,KAjCA;AAkCA;AACA;AACA;AACA;;AACA;AACA,KAvCA;AAwCA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,6CADA,CAEA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;;AACA;AACA;AAAA;AAAA;AAAA,mBACA;AAAA;AAAA,SADA;AAGA,8CAJA,CAMA;;AACA;AACA;AACA;AAAA,cACA,iBADA;AAEA;AACA;AACA;AACA,WAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AAEA,OAZA,MAYA;AACA;AACA;AACA,SAFA;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACA,KAzIA;AA2IA;AACA,wBA5IA,kCA4IA;AAEA;AACA,oEAHA,CAKA;;AACA,6EACA,6DAPA,CASA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EAVA,CAoBA;;AACA,2CArBA,CAuBA;;AACA;AAEA;AACA;AACA,KAxKA;AA0KA;AACA,0BA3KA,oCA2KA;AACA;AACA;AACA,KA9KA;AAgLA;AACA,kBAjLA,0BAiLA,MAjLA,EAiLA,cAjLA,EAiLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AAnMA;AArNA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,8CAAM;AACR,EAAE,uDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;;;;;ACnBxB;AACA;CAEA;;AAGA,IAAMsH,aAAa,GAAG;AAClB;AACAC,YAAU,EAAVA,UAFkB;AAGlBC,UAAQ,EAARA,QAAQA;AAHU,CAAtB,C,CAMA;;AAEAvG,MAAM,CAACD,IAAP,CAAYsG,aAAZ,EAA2B3G,OAA3B,CAAmC,UAAAwC,IAAI,EAAI;AACvCsE,wDAAG,CAACC,SAAJ,CAAcvE,IAAd,EAAoBmE,aAAa,CAACnE,IAAD,CAAjC;AACH,CAFD;AAIemE,4DAAf;;;AClBwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,gBAAgB,mBAAO,CAAC,MAAW;;AAEnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA","file":"vue-grid-layout.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=c806aad8&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=5a186489&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_object-assign.js","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.assign.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?a307","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?f4e6","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"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e,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,oBAAoB,QAAQ,SAAS,aAAa,cAAc,cAAc,YAAY,WAAW,YAAY,gBAAgB,sBAAsB;;AAEtM;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtNa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;;AC3EA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA,2BAA2B,kBAAkB,EAAE;;AAE/C;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtBA;;;;;;;;ACAA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;ACNA,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAuB;AAC/C;AACA;;AAEA,mBAAO,CAAC,MAAS;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;AC9BD;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,UAAU,mBAAO,CAAC,MAAe;AACjC,kBAAkB,mBAAO,CAAC,MAAkB;AAC5C,eAAe,mBAAO,CAAC,MAAe;AACtC,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,eAAe,mBAAO,CAAC,MAAe;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAS;AACnB,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;;;;;;;ACxCA,YAAY,mBAAO,CAAC,MAAW;AAC/B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,aAAa,mBAAO,CAAC,MAAW;AAChC;;AAEA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACVa;;AAEb;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjBA;;;;;;;;ACAA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;ACJa;AACb,YAAY,mBAAO,CAAC,MAAU;;AAE9B;AACA;AACA;AACA,yCAAyC,cAAc;AACvD,GAAG;AACH;;;;;;;;ACRA,SAAS,mBAAO,CAAC,MAAc;AAC/B,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;;;;;;;;ACPA,SAAS,mBAAO,CAAC,MAAc;AAC/B,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA,CAAC;AACD;AACA;AACA;;;;;;;;ACPA;AACA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAe;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,MAAkB;AACvC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD;;AAEA;AACA,mBAAO,CAAC,MAAS,qBAAqB,mBAAO,CAAC,MAAQ,4BAA4B,aAAa,EAAE;;AAEjG;AACA,qDAAqD,4BAA4B;AACjF;AACA;;;;;;;;ACZA,mBAAO,CAAC,MAA0C;AAClD,cAAc,mBAAO,CAAC,MAAqB;AAC3C;AACA;AACA;;;;;;;;ACJA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC,YAAY,mBAAO,CAAC,MAAgB;;AAEpC,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACPA,cAAc,mBAAO,CAAC,MAAW;AACjC;AACA,iCAAiC,mBAAO,CAAC,MAAgB,cAAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACda;;AAEb,kBAAkB,mBAAO,CAAC,MAAU;;AAEpC;AACA;AACA;AACA;AACA;;A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A;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAE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AiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,iBAAiB,YAAY,aAAa,aAAa,kBAAkB,WAAW,YAAY;AAClK;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kBAAkB,sBAAsB,wBAAwB;AAC3G;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc,WAAW,UAAU;AAC7K,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB;AAC7H,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,SAAS,QAAQ;AAC/E,8DAA8D,aAAa,cAAc;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtoBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,eAAe;AACxE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAAW;;AAEjC,0CAA0C,SAAS,mBAAO,CAAC,MAAkB,GAAG;;;;;;;;ACHhF;AACA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,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,KAVA;AAWA;AACA;AACA,KAbA;AAcA;AACA;AACA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA,KAzBA;AA0BA;AACA;AACA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA;AACA;AACA,yBAFA,CAGA;AACA,KA3CA;AA4CA;AACA;AACA,yBAFA,CAGA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GAxSA;AAyUA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,wBA9CA,kCA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAraA;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;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FA;;AAIA;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KAjFA;AAkFA;AACA,6CADA,CAEA;;AACA;AACA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A;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,0DAA0D,QAAQ;AAClE;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,OAAO;AACP,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;;AAEA;AACA;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;;AAE1B,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,2DAA2D;;AAE5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,6BAA6B;;AAE7B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,MAAM;;AAEN,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ,eAAe;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;;AAEA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,aAAa;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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D,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;;AAEA;AACA,KAAK;AACL,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,qBAAqB,wBAAwB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,8CAA8C,YAAY;AAC1D;AACA;AACA,iDAAiD;;AAEjD,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA,mBAAmB,gCAAgC;AACnD;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kCAAkC,iFAAiF;;AAEnH,+BAA+B,wEAAwE;;AAEvG,iCAAiC,+HAA+H;;AAEhK,kCAAkC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEpK;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,uBAAuB;AAC3C;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,6BAA6B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA,kBAAkB,uBAAuB;AACzC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,eAAe;AACjE;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA;;AAEA,kEAAkE;;AAElE;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA,oGAAoG,4CAA4C;;AAEhJ;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,wBAAwB,iCAAiC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,yCAAyC,aAAa;AACtD;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,mBAAmB;AACnB,gBAAgB,gBAAgB;AAChC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,gBAAgB;AAChB,qBAAqB;AACrB;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA,sBAAsB,uBAAuB;AAC7C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,4DAA4D;;AAE7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO,iDAAiD,+EAA+E,aAAa,EAAE,qCAAqC;;AAEpL,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC,0EAA0E;;AAE3E;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,gDAAgD;AAChD,kDAAkD;AAClD,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W,sCAAsC,6FAA6F;;AAEnI,mCAAmC,wEAAwE;;AAE3G,qCAAqC,+HAA+H;;AAEpK,sCAAsC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAExK,qDAAqD,0CAA0C,0DAA0D,EAAE;;AAE3J,+CAA+C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE/T,iEAAiE,0EAA0E,kEAAkE,oBAAoB;;AAEjO,qDAAqD,8EAA8E,aAAa,EAAE,yCAAyC;;AAE3L,2CAA2C,uBAAuB,uFAAuF,EAAE,aAAa;;AAExK,iCAAiC,oGAAoG,gDAAgD,GAAG,+BAA+B;;AAEvN,8CAA8C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,2DAA2D;;AAEvY,oCAAoC,gFAAgF,iBAAiB,UAAU,GAAG,kCAAkC;;AAEpL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB,kBAAkB,gCAAgC;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;;AAEA,qBAAqB,2BAA2B;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB,mBAAmB,oCAAoC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,mFAAmF;;AAEnF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8DAA8D;;AAE9D,kEAAkE;;AAElE,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gDAAgD;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,sEAAsE;;AAEtE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;A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EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE/gB,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,8BAA8B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+EAA+E;;AAE/E;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,SAAS,uBAAuB;;AAEhC;AACA;AACA;AACA;AACA,oEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,sBAAsB;;AAEzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,cAAc;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;;AAEA,uCAAuC;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iEAAiE;;AAEjE;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4DAA4D;;AAE5D;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yFAAyF;AACzF,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,+EAA+E;;AAE/E,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB;AACnB,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sKAAsK;;AAEtK;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qFAAqF;;AAErF,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA,mEAAmE;;;AAGnE,+CAA+C;;;AAG/C,gDAAgD;;;AAGhD,sCAAsC;;;AAGtC,oCAAoC;;;AAGpC,kDAAkD;;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH,mDAAmD;;;AAGnD,+CAA+C;;;AAG/C,MAAM,KAA6B,EAAE,EAElC;;AAEH;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sCAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE/gB,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,qBAAqB,0BAA0B;AAC/C;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kBAAkB,YAAY;AAC9B;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,4BAA4B,2EAA2E,uCAAuC,mBAAmB,GAAG,EAAE,OAAO,uCAAuC,8HAA8H,GAAG,EAAE,0BAA0B;;AAEjX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C,KAAK,MAAwB,GAAG,SAAW;AAC3C;AACA;;AAEA;AACA;;AAEA,CAAC;;;AAGD;;;;;;;;ACryTA;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,gBAAgB,mBAAO,CAAC,MAAW;;AAEnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA","file":"vue-grid-layout.common.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=6594d2a5&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.6.3\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var _ref;\n\n _ref = methodNames[_i];\n var method = _ref;\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref4 = interaction.pointers[_i4];\n var pointer = _ref4;\n\n if (!scope.documents.some(function (_ref5) {\n var doc = _ref5.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref4;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref6;\n\n _ref6 = event.changedTouches[_i5];\n var changedTouch = _ref6;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, signalName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref8;\n\n _ref8 = docEvents[_i7];\n var _ref9 = _ref8,\n type = _ref9.type,\n listener = _ref9.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(_key) {\n Object.defineProperty(_this._proxy, _key, {\n value: function value() {\n return that[_key].apply(that, arguments);\n }\n });\n };\n\n for (var _key in _ProxyMethods) {\n _loop2(_key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireWildcard_51(_$window_66);\n\nfunction ___getRequireWildcardCache_51() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n var dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (dropzone.parentNode === deepestZone.parentNode) {\n var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;\n\n if (dropzoneZIndex >= deepestZIndex) {\n deepestZone = dropzone;\n index = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest dropzone\n\n\n if (!deepestZoneParents.length) {\n var _parent = deepestZone;\n var parentParent = void 0;\n\n while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) {\n deepestZoneParents.unshift(_parent);\n _parent = parentParent;\n }\n }\n\n var parent = void 0; // if this element is an svg element and the current deepest is an\n // HTMLElement\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n var dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n var child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = dropzoneParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___getRequireWildcardCache_49() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___getRequireWildcardCache_61() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_52() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var _ref;\n\n _ref = documents[_i2];\n var doc = _ref;\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref2;\n\n _ref2 = listeners[_i3];\n\n var _ref3 = _ref2,\n _ref4 = _slicedToArray(_ref3, 3),\n fn = _ref4[0],\n capture = _ref4[1],\n passive = _ref4[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___getRequireWildcardCache_63() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___getRequireWildcardCache_59() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_56() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_14() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }, {\n key: \"getRect\",\n value: function getRect(_element) {\n return null;\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_16() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_17() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___getRequireWildcardCache_22() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___getRequireWildcardCache_1() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___getRequireWildcardCache_2() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_3() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___getRequireWildcardCache_4() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_6() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-end', end);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = (0, ___extend_6[\"default\"])({}, interaction.rect);\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: {\n left: startRect.left,\n right: startRect.right,\n top: startRect.top,\n bottom: startRect.bottom\n },\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction end(_ref4) {\n var iEvent = _ref4.iEvent,\n interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction updateEventAxes(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.interaction,\n action = _ref5.action;\n\n if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_7() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___getRequireWildcardCache_8() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_9() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {\n name: null\n }; // clear previous target element cursor\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n var interactable = interaction.interactable,\n element = interaction.element,\n prepared = interaction.prepared;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n return;\n }\n\n var cursor = '';\n\n if (prepared.name) {\n var cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_10() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___getRequireWildcardCache_21() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___getRequireWildcardCache_25() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.setCoords = setCoords;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords, prevCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page)\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var prevCoords = arg.prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n states = arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states;\n var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page);\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords: prevCoords,\n rect: interaction.rect,\n states: states,\n requireEndOnly: false\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n if (arg.modifiedCoords) {\n var page = interaction.coords.cur.page;\n var adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y\n };\n modifierResult.coords.x += adjustment.x;\n modifierResult.coords.y += adjustment.y;\n modifierResult.delta.x += adjustment.x;\n modifierResult.delta.y += adjustment.y;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null\n }, arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = interaction.coords.cur;\n var startCoords = interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_26() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n });\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', __stop_26);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction,\n phase: _$InteractEvent_15.EventPhase.Resume\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: interaction.coords.cur.page,\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: null,\n requireEndOnly: null,\n phase: _$InteractEvent_15.EventPhase.InertiaStart\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n (0, ___base_26.setCoords)(modifierArg);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n (0, ___base_26.restoreCoords)(modifierArg);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = null;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___getRequireWildcardCache_33() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___getRequireWildcardCache_37() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var element = arg.interaction.element;\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___getRequireWildcardCache_38() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_40() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_28() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_27() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.6.3\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_29() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"][\"default\"] = ___interact_29[\"default\"] // tslint:disable-line no-string-literal\n;\n___interact_29[\"default\"].init = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.js b/dist/vue-grid-layout.umd.js index 639ef276..6621e010 100644 --- a/dist/vue-grid-layout.umd.js +++ b/dist/vue-grid-layout.umd.js @@ -347,6 +347,10 @@ module.exports = function(options) { * @param {function} listener The listener callback to be called for each resize event of the element. The element will be given as a parameter to the listener callback. */ function addListener(element, listener) { + if(!getObject(element)) { + throw new Error("Element is not detectable by this strategy."); + } + function listenerProxy() { listener(element); } @@ -359,21 +363,10 @@ module.exports = function(options) { element.attachEvent("onresize", listenerProxy); } else { var object = getObject(element); - - if(!object) { - throw new Error("Element is not detectable by this strategy."); - } - object.contentDocument.defaultView.addEventListener("resize", listenerProxy); } } - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } - /** * Makes an element detectable and ready to be listened for resize events. Will call the callback when the element is ready to be listened for resize changes. * @private @@ -392,7 +385,7 @@ module.exports = function(options) { var debug = options.debug; function injectObject(element, callback) { - var OBJECT_STYLE = buildCssTextString(["display: block", "position: absolute", "top: 0", "left: 0", "width: 100%", "height: 100%", "border: none", "padding: 0", "margin: 0", "opacity: 0", "z-index: -1000", "pointer-events: none"]); + var OBJECT_STYLE = "display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; padding: 0; margin: 0; opacity: 0; z-index: -1000; pointer-events: none;"; //The target element needs to be positioned (everything except static) so the absolute positioned object will be positioned relative to the target element. @@ -413,7 +406,7 @@ module.exports = function(options) { function mutateDom() { function alterPositionStyles() { if(style.position === "static") { - element.style.setProperty("position", "relative", options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -424,7 +417,7 @@ module.exports = function(options) { if(value !== "auto" && getNumericalValue(value) !== "0") { reporter.warn("An element that is positioned static has style." + property + "=" + value + " which is ignored due to the static positioning. The element will need to be positioned relative, so the style." + property + " will be set to 0. Element: ", element); - element.style.setProperty(property, "0", options.important ? "important" : ""); + element.style[property] = 0; } }; @@ -450,12 +443,7 @@ module.exports = function(options) { //So if it is not present, poll it with an timeout until it is present. //TODO: Could maybe be handled better with object.onreadystatechange or similar. if(!element.contentDocument) { - var state = getState(element); - if (state.checkForObjectDocumentTimeoutId) { - window.clearTimeout(state.checkForObjectDocumentTimeoutId); - } - state.checkForObjectDocumentTimeoutId = setTimeout(function checkForObjectDocument() { - state.checkForObjectDocumentTimeoutId = 0; + setTimeout(function checkForObjectDocument() { getDocument(element, callback); }, 100); @@ -497,11 +485,6 @@ module.exports = function(options) { object.data = "about:blank"; } - if (!getState(element)) { - // The element has been uninstalled before the actual loading happened. - return; - } - element.appendChild(object); getState(element).object = object; @@ -539,26 +522,11 @@ module.exports = function(options) { } function uninstall(element) { - if (!getState(element)) { - return; - } - - var object = getObject(element); - - if (!object) { - return; - } - - if (browserDetector.isIE(8)) { - element.detachEvent("onresize", object.proxy); + if(browserDetector.isIE(8)) { + element.detachEvent("onresize", getState(element).object.proxy); } else { - element.removeChild(object); + element.removeChild(getObject(element)); } - - if (getState(element).checkForObjectDocumentTimeoutId) { - window.clearTimeout(getState(element).checkForObjectDocumentTimeoutId); - } - delete getState(element).object; } @@ -1261,12 +1229,8 @@ __webpack_require__("214f")('match', 1, function (defined, MATCH, $match, maybeC /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "default", function() { return /* binding */ addStylesClient; }); - // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/listToStyles.js /** * Translates the list format produced by css-loader into something @@ -1297,6 +1261,7 @@ function listToStyles (parentId, list) { } // CONCATENATED MODULE: ./node_modules/vue-style-loader/lib/addStylesClient.js +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return addStylesClient; }); /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra @@ -1601,16 +1566,6 @@ module.exports = function (it) { }; -/***/ }), - -/***/ "5014": -/***/ (function(module, exports, __webpack_require__) { - -/* interact.js 1.9.20 | https://raw.github.com/taye/interact.js/master/LICENSE */ -!function(t){if(true)module.exports=t();else {}}((function(){var t={};Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default=function(t){return!(!t||!t.Window)&&t instanceof t.Window};var e={};Object.defineProperty(e,"__esModule",{value:!0}),e.init=r,e.getWindow=o,e.default=void 0;var n={realWindow:void 0,window:void 0,getWindow:o,init:r};function r(t){n.realWindow=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&"function"==typeof t.wrap&&t.wrap(e)===e&&(t=t.wrap(t)),n.window=t}function o(e){return(0,t.default)(e)?e:(e.ownerDocument||e).defaultView||n.window}"undefined"==typeof window?(n.window=void 0,n.realWindow=void 0):r(window),n.init=r;var i=n;e.default=i;var a={};function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var l=function(t){return!!t&&"object"===s(t)},u=function(t){return"function"==typeof t},c={window:function(n){return n===e.default.window||(0,t.default)(n)},docFrag:function(t){return l(t)&&11===t.nodeType},object:l,func:u,number:function(t){return"number"==typeof t},bool:function(t){return"boolean"==typeof t},string:function(t){return"string"==typeof t},element:function(t){if(!t||"object"!==s(t))return!1;var n=e.default.getWindow(t)||e.default.window;return/object|function/.test(s(n.Element))?t instanceof n.Element:1===t.nodeType&&"string"==typeof t.nodeName},plainObject:function(t){return l(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return l(t)&&void 0!==t.length&&u(t.splice)}};a.default=c;var f={};function d(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.prepared.axis;"x"===n?(e.coords.cur.page.y=e.coords.start.page.y,e.coords.cur.client.y=e.coords.start.client.y,e.coords.velocity.client.y=0,e.coords.velocity.page.y=0):"y"===n&&(e.coords.cur.page.x=e.coords.start.page.x,e.coords.cur.client.x=e.coords.start.client.x,e.coords.velocity.client.x=0,e.coords.velocity.page.x=0)}}function p(t){var e=t.iEvent,n=t.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var o="x"===r?"y":"x";e.page[o]=n.coords.start.page[o],e.client[o]=n.coords.start.client[o],e.delta[o]=0}}}Object.defineProperty(f,"__esModule",{value:!0}),f.default=void 0;var v={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=v.draggable,e.map.drag=v,e.methodDict.drag="draggable",r.actions.drag=v.defaults},listeners:{"interactions:before-action-move":d,"interactions:action-resume":d,"interactions:action-move":p,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,o=n.options.drag;if(o&&o.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(r&n.options.drag.mouseButtons)))return t.action={name:"drag",axis:"start"===o.lockAxis?o.startAxis:o.lockAxis},!1}},draggable:function(t){return a.default.object(t)?(this.options.drag.enabled=!1!==t.enabled,this.setPerAction("drag",t),this.setOnEvents("drag",t),/^(xy|x|y|start)$/.test(t.lockAxis)&&(this.options.drag.lockAxis=t.lockAxis),/^(xy|x|y)$/.test(t.startAxis)&&(this.options.drag.startAxis=t.startAxis),this):a.default.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:d,move:p,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"}},h=v;f.default=h;var g={};Object.defineProperty(g,"__esModule",{value:!0}),g.default=void 0;var y={init:function(t){var e=t;y.document=e.document,y.DocumentFragment=e.DocumentFragment||m,y.SVGElement=e.SVGElement||m,y.SVGSVGElement=e.SVGSVGElement||m,y.SVGElementInstance=e.SVGElementInstance||m,y.Element=e.Element||m,y.HTMLElement=e.HTMLElement||y.Element,y.Event=e.Event,y.Touch=e.Touch||m,y.PointerEvent=e.PointerEvent||e.MSPointerEvent},document:null,DocumentFragment:null,SVGElement:null,SVGSVGElement:null,SVGElementInstance:null,Element:null,HTMLElement:null,Event:null,Touch:null,PointerEvent:null};function m(){}var b=y;g.default=b;var x={};Object.defineProperty(x,"__esModule",{value:!0}),x.default=void 0;var w={init:function(t){var n=g.default.Element,r=e.default.window.navigator;w.supportsTouch="ontouchstart"in t||a.default.func(t.DocumentTouch)&&g.default.document instanceof t.DocumentTouch,w.supportsPointerEvent=!1!==r.pointerEnabled&&!!g.default.PointerEvent,w.isIOS=/iP(hone|od|ad)/.test(r.platform),w.isIOS7=/iP(hone|od|ad)/.test(r.platform)&&/OS 7[^\d]/.test(r.appVersion),w.isIe9=/MSIE 9/.test(r.userAgent),w.isOperaMobile="Opera"===r.appName&&w.supportsTouch&&/Presto/.test(r.userAgent),w.prefixedMatchesSelector="matches"in n.prototype?"matches":"webkitMatchesSelector"in n.prototype?"webkitMatchesSelector":"mozMatchesSelector"in n.prototype?"mozMatchesSelector":"oMatchesSelector"in n.prototype?"oMatchesSelector":"msMatchesSelector",w.pEventTypes=w.supportsPointerEvent?g.default.PointerEvent===t.MSPointerEvent?{up:"MSPointerUp",down:"MSPointerDown",over:"mouseover",out:"mouseout",move:"MSPointerMove",cancel:"MSPointerCancel"}:{up:"pointerup",down:"pointerdown",over:"pointerover",out:"pointerout",move:"pointermove",cancel:"pointercancel"}:null,w.wheelEvent="onmousewheel"in g.default.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null};var _=w;x.default=_;var S={};function P(t){var e=t.parentNode;if(a.default.docFrag(e)){for(;(e=e.host)&&a.default.docFrag(e););return e}return e}function O(t,n){return e.default.window!==e.default.realWindow&&(n=n.replace(/\/deep\//g," ")),t[x.default.prefixedMatchesSelector](n)}Object.defineProperty(S,"__esModule",{value:!0}),S.nodeContains=function(t,e){for(;e;){if(e===t)return!0;e=e.parentNode}return!1},S.closest=function(t,e){for(;a.default.element(t);){if(O(t,e))return t;t=P(t)}return null},S.parentNode=P,S.matchesSelector=O,S.indexOfDeepestElement=function(t){for(var n,r=[],o=0;o=m&&(n=o);else n=o}else n=o}var v,h,y,m;return n},S.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=P(t))===n)return O(t,e)}return!1},S.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},S.getScrollXY=M,S.getElementClientRect=j,S.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},S.getPath=function(t){var e=[];for(;t;)e.push(t),t=P(t);return e},S.trySelector=function(t){if(!a.default.string(t))return!1;return g.default.document.querySelector(t),!0};var E=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],o=t;(n=E(o))&&o!==e&&n!==o.ownerDocument;)r.unshift(o),o=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var I={};function D(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?$(e):e[0],o={};V(r,o),t.page.x=o.x,t.page.y=o.y,q(r,o),t.client.x=o.x,t.client.y=o.y,t.timeStamp=n},L.getTouchPair=N,L.pointerAverage=$,L.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=N(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),o=Math.max(e[0].pageX,e[1].pageX),i=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:o,bottom:i,width:o-n,height:i-r}},L.touchDistance=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[0][n]-o[1][n],a=o[0][r]-o[1][r];return(0,F.default)(i,a)},L.touchAngle=function(t,e){var n=e+"X",r=e+"Y",o=N(t),i=o[1][n]-o[0][n],a=o[1][r]-o[0][r];return 180*Math.atan2(a,i)/Math.PI},L.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},L.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[S.getActualElement(e?e[0]:t.target),S.getActualElement(t.currentTarget)]},L.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},L.coordsToEvent=function(t){return{coords:t,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons},preventDefault:function(){}}},Object.defineProperty(L,"pointerExtend",{enumerable:!0,get:function(){return X.default}});var G={};function H(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&h<=s.right&&g>=s.top&&g<=s.bottom}if(v&&a.default.number(u)){var y=Math.max(0,Math.min(s.right,v.right)-Math.max(s.left,v.left))*Math.max(0,Math.min(s.bottom,v.bottom)-Math.max(s.top,v.top))/(v.width*v.height);l=y>=u}t.options.drop.checker&&(l=t.options.drop.checker(e,n,l,t,i,r,o));return l}(this,t,e,n,r,o,i)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,o.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var o=n.dropState;o.activeDrops=null,o.events=null,o.activeDrops=ft(e,n.element),o.events=pt(n,0,r),o.events.activate&&(ct(o.activeDrops,o.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":ht,"interactions:action-end":ht,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(vt(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:vt,defaults:{enabled:!1,accept:null,overlap:"pointer"}},yt=gt;ut.default=yt;var mt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var o=e.pointers.map((function(t){return t.pointer})),i="start"===r,s="end"===r,l=e.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],i)n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=1,n.ds=0,n.angle=L.touchAngle(o,l),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var u=e.prevEvent;n.distance=u.distance,n.box=u.box,n.scale=u.scale,n.ds=0,n.angle=u.angle,n.da=0}else n.distance=L.touchDistance(o,l),n.box=L.touchBBox(o),n.scale=n.distance/e.gesture.startDistance,n.angle=L.touchAngle(o,l),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(mt,"__esModule",{value:!0}),mt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;mt.default=wt;var _t={};function St(t,e,n,r,o,i,s){if(!e)return!1;if(!0===e){var l=a.default.number(i.width)?i.width:i.right-i.left,u=a.default.number(i.height)?i.height:i.bottom-i.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?l:u)/2)),l<0&&("left"===t?t="right":"right"===t&&(t="left")),u<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(l>=0?i.left:i.right)+s;if("top"===t)return n.y<(u>=0?i.top:i.bottom)+s;if("right"===t)return n.x>(l>=0?i.right:i.left)-s;if("bottom"===t)return n.y>(u>=0?i.bottom:i.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:S.matchesUpTo(r,e,o))}function Pt(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(_t,"__esModule",{value:!0}),_t.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,o=t.defaults;Ot.cursors=function(t){return t.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){if(a.default.object(e))return t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t;if(a.default.bool(e))return t.options.resize.enabled=e,t;return t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",o.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.rect;n._rects={start:(0,k.default)({},o),corrected:(0,k.default)({},o),previous:(0,k.default)({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Pt(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,o=n.interactable.options.resize.invert,i="reposition"===o||"negate"===o,a=n.rect,s=n._rects,l=s.start,u=s.corrected,c=s.delta,f=s.previous;if((0,k.default)(f,u),i){if((0,k.default)(u,a),"reposition"===o){if(u.top>u.bottom){var d=u.top;u.top=u.bottom,u.bottom=d}if(u.left>u.right){var p=u.left;u.left=u.right,u.right=p}}}else u.top=Math.min(a.top,l.bottom),u.bottom=Math.max(a.bottom,l.top),u.left=Math.min(a.left,l.right),u.right=Math.max(a.right,l.left);for(var v in u.width=u.right-u.left,u.height=u.bottom-u.top,u)c[v]=u[v]-f[v];r.edges=n.prepared.edges,r.rect=u,r.deltaRect=c}}(t),Pt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,o=t.rect,i=t.buttons;if(o){var s=(0,k.default)({},e.coords.cur.page),l=n.options.resize;if(l&&l.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(i&l.mouseButtons))){if(a.default.object(l.edges)){var u={left:!1,right:!1,top:!1,bottom:!1};for(var c in u)u[c]=St(c,l.edges[c],s,e._latestPointer.eventTarget,r,o,l.margin||Ot.defaultMargin);u.left=u.left&&!u.right,u.top=u.top&&!u.bottom,(u.left||u.right||u.top||u.bottom)&&(t.action={name:"resize",edges:u})}else{var f="y"!==l.axis&&s.x>o.right-Ot.defaultMargin,d="x"!==l.axis&&s.y>o.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,o=Ot.cursors,i=null;if(n)i=o[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],l=0;l=1){var c={x:Rt.x*u,y:Rt.y*u};if(c.x||c.y){var f=Xt(i);a.default.window(i)?i.scrollBy(c.x,c.y):i&&(i.scrollLeft+=c.x,i.scrollTop+=c.y);var d=Xt(i),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:i})}Rt.prevTime=s}Rt.isScrolling&&(kt.default.cancel(Rt.i),Rt.i=kt.default.request(Rt.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Rt.check(e.interactable,e.prepared.name))if(e.simulation)Rt.x=Rt.y=0;else{var r,o,i,s,l=e.interactable,u=e.element,c=e.prepared.name,f=l.options[c].autoScroll,d=Ft(f.container,l,u);if(a.default.window(d))s=n.clientXd.innerWidth-Rt.margin,i=n.clientY>d.innerHeight-Rt.margin;else{var p=S.getElementClientRect(d);s=n.clientXp.right-Rt.margin,i=n.clientY>p.bottom-Rt.margin}Rt.x=o?1:s?-1:0,Rt.y=i?1:r?-1:0,Rt.isScrolling||(Rt.margin=f.margin,Rt.speed=f.speed,Rt.start(e))}}};function Ft(t,n,r){return(a.default.string(t)?(0,I.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Xt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Rt,Rt.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Rt.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Rt.stop(),Rt.interaction&&(Rt.interaction=null)},"interactions:stop":Rt.stop,"interactions:action-move":function(t){return Rt.onInteractionMove(t)}}};Ct.default=Yt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Lt={};function Bt(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ut(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Lt,"__esModule",{value:!0}),Lt.default=void 0;var Vt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,o){var i=function(t,e,n,r,o){var i=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:i,buttons:a};return o.fire("auto-start:check",s),s.action}(this,n,r,o,t);return this.options.actionChecker?this.options.actionChecker(e,n,i,this,o,r):i},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ut,e.prototype.styleCursor=Bt}};Lt.default=Vt;var qt={};function Nt(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Kt(e,n,t,o)?t:null}function $t(t,e,n,r,o,i,a){for(var s=0,l=r.length;s=s)return!1;if(d.interactable===t){if((u+=p===n.name?1:0)>=i)return!1;if(d.element===e&&(c++,p===n.name&&c>=a))return!1}}}return s>0}function Zt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,o=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var i="";if(o.name){var s=n.options[o.name].cursorChecker;i=a.default.func(s)?s(o,n,r,t._interacting):e.actions.map[o.name].getCursor(o)}Jt(t.element,i||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(qt,"__esModule",{value:!0}),qt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Lt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Zt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Kt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;n.interacting()||Ht(n,Gt(n,r,o,i,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,o=t.event,i=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ht(n,Gt(n,r,o,i,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!Kt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Zt,withinInteractionLimit:Kt,validateAction:Nt};qt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,o=t.dx,i=t.dy;if("drag"===n.prepared.name){var s=Math.abs(o),l=Math.abs(i),u=n.interactable.options.drag,c=u.startAxis,f=s>l?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;oe(e)>0&&(e.prepared.name=null)}},getHoldDuration:oe};re.default=ie;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(qt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var le={};Object.defineProperty(le,"__esModule",{value:!0}),le.default=void 0;le.default={};var ue={};function ce(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=ce,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var o=t.options.preventDefault;if("never"!==o)if("always"!==o){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var i=(0,e.getWindow)(r.target).document,s=n.getDocOptions(i);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,S.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,o=t.defaults;t.logger=n||console,o.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Xe(e.prototype,n),r&&Xe(e,r),i}(G.BaseEvent);Re.InteractEvent=Ve,Object.defineProperties(Ve.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var qe={};Object.defineProperty(qe,"__esModule",{value:!0}),qe.PointerInfo=void 0;qe.PointerInfo=function t(e,n,r,o,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=o,this.downTarget=i};var Ne,$e,Ge={};function He(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:o,duplicate:i,interaction:this};i||L.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),i||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&L.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||L.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,n,!1));var i=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(i),{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:n,type:i,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=L.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var o=L.getPointerId(t),i=this.getPointerIndex(t),a=this.pointers[i];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new qe.PointerInfo(o,t,e,null,null),i=this.pointers.length,this.pointers.push(a)),L.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),L.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,L.pointerExtend(this.downPointer,t),this.interacting()||(L.copyCoords(this.coords.start,this.coords.cur),L.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:i,interaction:this}),i}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Re.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,o=t.type,i=this.rect;if(i&&"move"===n&&(I.addEdges(this.edges,i,this.coords.delta[this.interactable.options.deltaSource]),i.width=i.right-i.left,i.height=i.bottom-i.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,o);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();Ge.Interaction=Je;var Qe=Je;Ge.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),I.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,o=e.x,i=e.y;n.x+=o,n.y+=i,r.x+=o,r.y+=i}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,Ge._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var ln={};function un(t,e){for(var n=0;nn.minSpeed&&o>n.endSpeed)this.startInertia();else{if(i.result=i.setAll(this.modifierArg),!i.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,o=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-o)/r,y:(e.y-o)/r},this.te=o,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var i=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},i.result=i.setAll(a),i.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+i.result.delta.x,y:this.targetOffset.y+i.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,o,i,a,s=this,l=this.interaction,u=fn(l).resistance,c=(l._now()-this.t0)/1e3;if(c=0;n--){var r=e[n],o=r.selector,i=r.context,s=r.listeners;o===this.target&&i===this._context&&e.splice(n,1);for(var l=s.length-1;l>=0;l--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[l][0],s[l][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=Sn;var Pn={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var v=p.listeners,h=v.length-1;h>=0;h--){var g=jn(v[h],2),y=g[0],m=g[1],b=m.capture,x=m.passive;if(y===o&&b===c.capture&&x===c.passive){v.splice(h,1),v.length||(f.splice(a,1),s(e,r,l),s(e,r,u,!0)),d=!0;break}}if(d)break}}},delegateListener:l,delegateUseCapture:u,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function i(t,n,r,i){var a=Dn(i),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,o.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,i){var a=Dn(i),l=J.findIndex(e,(function(e){return e.eventTarget===t})),u=e[l];if(u&&u.events)if("all"!==n){var c=!1,f=u.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!o.interacting()&&e===o.pointerType)return o}return null}};function Fn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Xn=Rn;Cn.default=Xn;var Yn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Ln(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){o=!0,i=t}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return Bn(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Bn(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Bn(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var o=e.interactions.list[r];o.interactable===n&&(o.stop(),e.fire("interactions:destroy",{interaction:o}),o.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Kn,methodNames:Hn};Yn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function or(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var o=ar(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ir(this,n)}}function ir(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function lr(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(l.y),s.coords,s.rect),(0,k.default)(r,s.coords));return s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function Ir(t,e,n){var r=t.startCoords,o=t.edgeSign;e?n.y=r.y+(n.x-r.x)*o:n.x=r.x+(n.y-r.y)*o}function Dr(t,e,n,r){var o=t.startRect,i=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var l=r.width/a;n.y=i.y+(l-o.height)*s}else{var u=r.height*a;n.x=i.x+(u-o.width)*s}}Er.aspectRatio=kr;var Ar=(0,De.makeModifier)(kr,"aspectRatio");Er.default=Ar;var zr={};Object.defineProperty(zr,"__esModule",{value:!0}),zr.default=void 0;var Cr=function(){};Cr._defaults={};var Rr=Cr;zr.default=Rr;var Fr={};Object.defineProperty(Fr,"__esModule",{value:!0}),Object.defineProperty(Fr,"default",{enumerable:!0,get:function(){return zr.default}});var Xr={};function Yr(t,e,n){return a.default.func(t)?I.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):I.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Xr,"__esModule",{value:!0}),Xr.getRestrictionRect=Yr,Xr.restrict=Xr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,o=t.interaction,i=t.pageCoords,a=r.options,s=a.elementRect,l=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var u=Yr(a.restriction,o,i);if(u){var c=u.right-u.left-e.width,f=u.bottom-u.top-e.height;c<0&&(l.left+=c,l.right+=c),f<0&&(l.top+=f,l.bottom+=f)}l.left+=n.left-e.width*s.left,l.top+=n.top-e.height*s.top,l.right+=n.right-e.width*(1-s.right),l.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=l},set:function(t){var e=t.coords,n=t.interaction,r=t.state,o=r.options,i=r.offset,a=Yr(o.restriction,n,e);if(a){var s=I.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-i.right,e.x),s.left+i.left),e.y=Math.max(Math.min(s.bottom-i.bottom,e.y),s.top+i.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Xr.restrict=Wr;var Lr=(0,De.makeModifier)(Wr,"restrict");Xr.default=Lr;var Br={};Object.defineProperty(Br,"__esModule",{value:!0}),Br.restrictEdges=Br.default=void 0;var Ur={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Vr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function qr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key]; + } + } return T; +} : $assign; + + /***/ }), /***/ "7726": @@ -2261,7 +2262,7 @@ NAME in FProto || __webpack_require__("9e1e") && dP(FProto, NAME, { /***/ "8378": /***/ (function(module, exports) { -var core = module.exports = { version: '2.6.11' }; +var core = module.exports = { version: '2.6.10' }; if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef @@ -3154,32 +3155,21 @@ module.exports = function(options) { //TODO: Could this perhaps be done at installation time? var scrollbarSizes = getScrollbarSizes(); + // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. + // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). var styleId = "erd_scroll_detection_scrollbar_style"; var detectionContainerClass = "erd_scroll_detection_container"; - - function initDocument(targetDocument) { - // Inject the scrollbar styling that prevents them from appearing sometimes in Chrome. - // The injected container needs to have a class, so that it may be styled with CSS (pseudo elements). - injectScrollStyle(targetDocument, styleId, detectionContainerClass); - } - - initDocument(window.document); - - function buildCssTextString(rules) { - var seperator = options.important ? " !important; " : "; "; - - return (rules.join(seperator) + seperator).trim(); - } + injectScrollStyle(styleId, detectionContainerClass); function getScrollbarSizes() { var width = 500; var height = 500; var child = document.createElement("div"); - child.style.cssText = buildCssTextString(["position: absolute", "width: " + width*2 + "px", "height: " + height*2 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + child.style.cssText = "position: absolute; width: " + width*2 + "px; height: " + height*2 + "px; visibility: hidden; margin: 0; padding: 0;"; var container = document.createElement("div"); - container.style.cssText = buildCssTextString(["position: absolute", "width: " + width + "px", "height: " + height + "px", "overflow: scroll", "visibility: none", "top: " + -width*3 + "px", "left: " + -height*3 + "px", "visibility: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "position: absolute; width: " + width + "px; height: " + height + "px; overflow: scroll; visibility: none; top: " + -width*3 + "px; left: " + -height*3 + "px; visibility: hidden; margin: 0; padding: 0;"; container.appendChild(child); @@ -3196,25 +3186,25 @@ module.exports = function(options) { }; } - function injectScrollStyle(targetDocument, styleId, containerClass) { + function injectScrollStyle(styleId, containerClass) { function injectStyle(style, method) { method = method || function (element) { - targetDocument.head.appendChild(element); + document.head.appendChild(element); }; - var styleElement = targetDocument.createElement("style"); + var styleElement = document.createElement("style"); styleElement.innerHTML = style; styleElement.id = styleId; method(styleElement); return styleElement; } - if (!targetDocument.getElementById(styleId)) { + if (!document.getElementById(styleId)) { var containerAnimationClass = containerClass + "_animation"; var containerAnimationActiveClass = containerClass + "_animation_active"; var style = "/* Created by the element-resize-detector library. */\n"; - style += "." + containerClass + " > div::-webkit-scrollbar { " + buildCssTextString(["display: none"]) + " }\n\n"; - style += "." + containerAnimationActiveClass + " { " + buildCssTextString(["-webkit-animation-duration: 0.1s", "animation-duration: 0.1s", "-webkit-animation-name: " + containerAnimationClass, "animation-name: " + containerAnimationClass]) + " }\n"; + style += "." + containerClass + " > div::-webkit-scrollbar { display: none; }\n\n"; + style += "." + containerAnimationActiveClass + " { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: " + containerAnimationClass + "; animation-name: " + containerAnimationClass + "; }\n"; style += "@-webkit-keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n"; style += "@keyframes " + containerAnimationClass + " { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }"; injectStyle(style); @@ -3416,7 +3406,7 @@ module.exports = function(options) { if (!container) { container = document.createElement("div"); container.className = detectionContainerClass; - container.style.cssText = buildCssTextString(["visibility: hidden", "display: inline", "width: 0px", "height: 0px", "z-index: -1", "overflow: hidden", "margin: 0", "padding: 0"]); + container.style.cssText = "visibility: hidden; display: inline; width: 0px; height: 0px; z-index: -1; overflow: hidden; margin: 0; padding: 0;"; getState(element).container = container; addAnimationClass(container); element.appendChild(container); @@ -3440,7 +3430,7 @@ module.exports = function(options) { var style = getState(element).style; if(style.position === "static") { - element.style.setProperty("position", "relative",options.important ? "important" : ""); + element.style.position = "relative"; var removeRelativeStyles = function(reporter, element, style, property) { function getNumericalValue(value) { @@ -3470,7 +3460,7 @@ module.exports = function(options) { bottom = (!bottom ? "0" : (bottom + "px")); right = (!right ? "0" : (right + "px")); - return ["left: " + left, "top: " + top, "right: " + right, "bottom: " + bottom]; + return "left: " + left + "; top: " + top + "; right: " + right + "; bottom: " + bottom + ";"; } debug("Injecting elements"); @@ -3498,12 +3488,12 @@ module.exports = function(options) { var scrollbarWidth = scrollbarSizes.width; var scrollbarHeight = scrollbarSizes.height; - var containerContainerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%", "left: 0px", "top: 0px"]); - var containerStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: hidden", "z-index: -1", "visibility: hidden"].concat(getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth))); - var expandStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var shrinkStyle = buildCssTextString(["position: absolute", "flex: none", "overflow: scroll", "z-index: -1", "visibility: hidden", "width: 100%", "height: 100%"]); - var expandChildStyle = buildCssTextString(["position: absolute", "left: 0", "top: 0"]); - var shrinkChildStyle = buildCssTextString(["position: absolute", "width: 200%", "height: 200%"]); + var containerContainerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; width: 100%; height: 100%; left: 0px; top: 0px;"; + var containerStyle = "position: absolute; flex: none; overflow: hidden; z-index: -1; visibility: hidden; " + getLeftTopBottomRightCssText(-(1 + scrollbarWidth), -(1 + scrollbarHeight), -scrollbarHeight, -scrollbarWidth); + var expandStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var shrinkStyle = "position: absolute; flex: none; overflow: scroll; z-index: -1; visibility: hidden; width: 100%; height: 100%;"; + var expandChildStyle = "position: absolute; left: 0; top: 0;"; + var shrinkChildStyle = "position: absolute; width: 200%; height: 200%;"; var containerContainer = document.createElement("div"); var container = document.createElement("div"); @@ -3554,17 +3544,14 @@ module.exports = function(options) { var expandChild = getExpandChildElement(element); var expandWidth = getExpandWidth(width); var expandHeight = getExpandHeight(height); - expandChild.style.setProperty("width", expandWidth + "px", options.important ? "important" : ""); - expandChild.style.setProperty("height", expandHeight + "px", options.important ? "important" : ""); + expandChild.style.width = expandWidth + "px"; + expandChild.style.height = expandHeight + "px"; } function updateDetectorElements(done) { var width = element.offsetWidth; var height = element.offsetHeight; - // Check whether the size has actually changed since last time the algorithm ran. If not, some steps may be skipped. - var sizeChanged = width !== getState(element).lastWidth || height !== getState(element).lastHeight; - debug("Storing current size", width, height); // Store the size of the element sync here, so that multiple scroll events may be ignored in the event listeners. @@ -3575,10 +3562,6 @@ module.exports = function(options) { // Since there is no way to cancel the fn executions, we need to add an uninstall guard to all fns of the batch. batchProcessor.add(0, function performUpdateChildSizes() { - if (!sizeChanged) { - return; - } - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3602,9 +3585,6 @@ module.exports = function(options) { }); batchProcessor.add(1, function updateScrollbars() { - // This function needs to be invoked event though the size is unchanged. The element could have been resized very quickly and then - // been restored to the original size, which will have changed the scrollbar positions. - if (!getState(element)) { debug("Aborting because element has been uninstalled"); return; @@ -3618,7 +3598,7 @@ module.exports = function(options) { positionScrollbars(element, width, height); }); - if (sizeChanged && done) { + if (done) { batchProcessor.add(2, function () { if (!getState(element)) { debug("Aborting because element has been uninstalled"); @@ -3648,7 +3628,7 @@ module.exports = function(options) { var state = getState(element); - // Don't notify if the current size is the start size, and this is the first notification. + // Don't notify the if the current size is the start size, and this is the first notification. if (isFirstNotify() && state.lastWidth === state.startSize.width && state.lastHeight === state.startSize.height) { return debug("Not notifying: Size is the same as the start size, and there has been no notification yet."); } @@ -3693,7 +3673,15 @@ module.exports = function(options) { return; } - updateDetectorElements(notifyListenersIfNeeded); + var width = element.offsetWidth; + var height = element.offsetHeight; + + if (width !== getState(element).lastWidth || height !== getState(element).lastHeight) { + debug("Element size changed."); + updateDetectorElements(notifyListenersIfNeeded); + } else { + debug("Element size has not changed (" + width + "x" + height + ")."); + } } debug("registerListenersAndPositionElements invoked."); @@ -3783,8 +3771,7 @@ module.exports = function(options) { return { makeDetectable: makeDetectable, addListener: addListener, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4152,13 +4139,11 @@ module.exports = function(options) { //The detection strategy to be used. var detectionStrategy; var desiredStrategy = getOption(options, "strategy", "object"); - var importantCssRules = getOption(options, "important", false); var strategyOptions = { reporter: reporter, batchProcessor: batchProcessor, stateHandler: stateHandler, - idHandler: idHandler, - important: importantCssRules + idHandler: idHandler }; if(desiredStrategy === "scroll") { @@ -4273,7 +4258,7 @@ module.exports = function(options) { debug && reporter.log(id, "Making detectable..."); //The element is not prepared to be detectable, so do prepare it and add a listener to it. elementUtils.markBusy(element, true); - return detectionStrategy.makeDetectable({ debug: debug, important: importantCssRules }, element, function onElementDetectable(element) { + return detectionStrategy.makeDetectable({ debug: debug }, element, function onElementDetectable(element) { debug && reporter.log(id, "onElementDetectable"); if (stateHandler.getState(element)) { @@ -4349,16 +4334,11 @@ module.exports = function(options) { }); } - function initDocument(targetDocument) { - detectionStrategy.initDocument && detectionStrategy.initDocument(targetDocument); - } - return { listenTo: listenTo, removeListener: eventListenerHandler.removeListener, removeAllListeners: eventListenerHandler.removeAllListeners, - uninstall: uninstall, - initDocument: initDocument + uninstall: uninstall }; }; @@ -4432,6 +4412,17 @@ module.exports = function (object, index, value) { })(document); +/***/ }), + +/***/ "f751": +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.3.1 Object.assign(target, source) +var $export = __webpack_require__("5ca1"); + +$export($export.S + $export.F, 'Object', { assign: __webpack_require__("7333") }); + + /***/ }), /***/ "f772": @@ -4465,13 +4456,8 @@ module.exports = document && document.documentElement; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -// ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); -// EXPORTS -__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return /* reexport */ GridLayout; }); -__webpack_require__.d(__webpack_exports__, "GridItem", function() { return /* reexport */ GridItem; }); - // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js // This file is imported into lib/wc client bundles. @@ -4505,12 +4491,12 @@ var web_dom_iterable = __webpack_require__("ac6a"); var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__("8bbf"); var external_commonjs_vue_commonjs2_vue_root_Vue_default = /*#__PURE__*/__webpack_require__.n(external_commonjs_vue_commonjs2_vue_root_Vue_); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=c806aad8& +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridItem.vue?vue&type=template&id=58da2a1f& var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-item",class:_vm.classObj,style:(_vm.style)},[_vm._t("default"),(_vm.resizableAndNotStatic)?_c('span',{ref:"handle",class:_vm.resizableHandleClass}):_vm._e()],2)} var staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=c806aad8& +// CONCATENATED MODULE: ./src/components/GridItem.vue?vue&type=template&id=58da2a1f& // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.regexp.match.js var es6_regexp_match = __webpack_require__("4917"); @@ -4529,6 +4515,7 @@ var es6_array_sort = __webpack_require__("55dd"); + // @flow /*:: export type LayoutItemRequired = {w: number, h: number, x: number, y: number, i: string};*/ @@ -5444,7 +5431,7 @@ function removeWindowEventListener(event // var eventBus = require('./eventBus'); -var interact = __webpack_require__("5014"); +var interact = __webpack_require__("fb3a"); /* harmony default export */ var GridItemvue_type_script_lang_js_ = ({ name: "GridItem", @@ -5643,7 +5630,10 @@ var interact = __webpack_require__("5014"); this.eventBus.$off('setMaxRows', self.setMaxRowsHandler); this.eventBus.$off('directionchange', self.directionchangeHandler); this.eventBus.$off('setColNum', self.setColNum); - this.interactObj.unset(); // destroy interact intance + + if (this.interactObj) { + this.interactObj.unset(); // destroy interact intance + } }, mounted: function mounted() { this.cols = this.$parent.colNum; @@ -5730,6 +5720,17 @@ var interact = __webpack_require__("5014"); }, maxW: function maxW() { this.tryMakeResizable(); + }, + "$parent.margin": function $parentMargin(margin) { + if (!margin || margin[0] == this.margin[0] && margin[1] == this.margin[1]) { + return; + } + + this.margin = margin.map(function (m) { + return Number(m); + }); + this.createStyle(); + this.emitContainerResized(); } }, computed: { @@ -6307,12 +6308,7 @@ function normalizeComponent ( options._ssrRegister = hook } else if (injectStyles) { hook = shadowMode - ? function () { - injectStyles.call( - this, - (options.functional ? this.parent : this).$root.$options.shadowRoot - ) - } + ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) } : injectStyles } @@ -6321,7 +6317,7 @@ function normalizeComponent ( // for template-only hot-reload because in that case the render fn doesn't // go through the normalizer options._injectStyles = hook - // register for functional component in vue file + // register for functioal component in vue file var originalRender = options.render options.render = function renderWithStyleInjection (h, context) { hook.call(context) @@ -6363,16 +6359,19 @@ var component = normalizeComponent( ) /* harmony default export */ var GridItem = (component.exports); -// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0ce4569b-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=5a186489& -var GridLayoutvue_type_template_id_5a186489_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} -var GridLayoutvue_type_template_id_5a186489_staticRenderFns = [] +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"0156aa68-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& +var GridLayoutvue_type_template_id_6594d2a5_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"item",staticClass:"vue-grid-layout",style:(_vm.mergedStyle)},[_vm._t("default"),_c('grid-item',{directives:[{name:"show",rawName:"v-show",value:(_vm.isDragging),expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{"x":_vm.placeholder.x,"y":_vm.placeholder.y,"w":_vm.placeholder.w,"h":_vm.placeholder.h,"i":_vm.placeholder.i}})],2)} +var GridLayoutvue_type_template_id_6594d2a5_staticRenderFns = [] -// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=5a186489& +// CONCATENATED MODULE: ./src/components/GridLayout.vue?vue&type=template&id=6594d2a5& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); +// EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.assign.js +var es6_object_assign = __webpack_require__("f751"); + // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.number.is-finite.js var es6_number_is_finite = __webpack_require__("fca0"); @@ -6400,6 +6399,7 @@ function _defineProperty(obj, key, value) { + // @flow @@ -6575,9 +6575,11 @@ function sortBreakpoints(breakpoints + + function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } // // @@ -6668,6 +6670,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); type: Boolean, default: false }, + responsiveLayouts: { + type: Object, + default: function _default() { + return {}; + } + }, breakpoints: { type: Object, default: function _default() { @@ -6758,6 +6766,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); addWindowEventListener('resize', self.onWindowResize); compact(self.layout, self.verticalCompact); + self.$emit('layout-updated', self.layout); self.updateHeight(); self.$nextTick(function () { this.erd = elementResizeDetectorMaker({ @@ -6834,6 +6843,9 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); }, maxRows: function maxRows() { this.eventBus.$emit("setMaxRows", this.maxRows); + }, + margin: function margin() { + this.updateHeight(); } }, methods: { @@ -6863,6 +6875,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); compact(this.layout, this.verticalCompact); this.eventBus.$emit("updateWidth", this.width); this.updateHeight(); + this.$emit('layout-updated', this.layout); } }, updateHeight: function updateHeight() { @@ -6878,8 +6891,11 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); this.eventBus.$emit("resizeEvent"); }, containerHeight: function containerHeight() { - if (!this.autoSize) return; - return bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + if (!this.autoSize) return; // console.log("bottom: " + bottom(this.layout)) + // console.log("rowHeight + margins: " + (this.rowHeight + this.margin[1]) + this.margin[1]) + + var containerHeight = bottom(this.layout) * (this.rowHeight + this.margin[1]) + this.margin[1] + 'px'; + return containerHeight; }, dragEvent: function dragEvent(eventName, id, x, y, h, w) { //console.log(eventName + " id=" + id + ", x=" + x + ", y=" + y); @@ -6930,7 +6946,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var hasCollisions; if (this.preventCollision) { - var collisions = getAllCollisions(this.layout, _objectSpread(_objectSpread({}, l), {}, { + var collisions = getAllCollisions(this.layout, _objectSpread({}, l, { w: w, h: h })).filter(function (layoutItem) { @@ -6989,7 +7005,12 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); var layout = findOrGenerateResponsiveLayout(this.originalLayout, this.layouts, this.breakpoints, newBreakpoint, this.lastBreakpoint, newCols, this.verticalCompact); // Store the new layout. - this.layouts[newBreakpoint] = layout; // new prop sync + this.layouts[newBreakpoint] = layout; + + if (this.lastBreakpoint !== newBreakpoint) { + this.$emit('breakpoint-changed', newBreakpoint, layout); + } // new prop sync + this.$emit('update:layout', layout); this.lastBreakpoint = newBreakpoint; @@ -6998,7 +7019,7 @@ var elementResizeDetectorMaker = __webpack_require__("eec4"); // clear all responsive layouts initResponsiveFeatures: function initResponsiveFeatures() { // clear layouts - this.layouts = {}; + this.layouts = Object.assign({}, this.responsiveLayouts); }, // find difference in layouts findDifference: function findDifference(layout, originalLayout) { @@ -7035,8 +7056,8 @@ var GridLayoutvue_type_style_index_0_lang_css_ = __webpack_require__("e279"); var GridLayout_component = normalizeComponent( components_GridLayoutvue_type_script_lang_js_, - GridLayoutvue_type_template_id_5a186489_render, - GridLayoutvue_type_template_id_5a186489_staticRenderFns, + GridLayoutvue_type_template_id_6594d2a5_render, + GridLayoutvue_type_template_id_6594d2a5_staticRenderFns, false, null, null, @@ -7066,12 +7087,10041 @@ Object.keys(VueGridLayout).forEach(function (name) { /* harmony default export */ var components = (VueGridLayout); // CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js +/* concated harmony reexport GridLayout */__webpack_require__.d(__webpack_exports__, "GridLayout", function() { return GridLayout; }); +/* concated harmony reexport GridItem */__webpack_require__.d(__webpack_exports__, "GridItem", function() { return GridItem; }); /* harmony default export */ var entry_lib = __webpack_exports__["default"] = (components); +/***/ }), + +/***/ "fb3a": +/***/ (function(module, exports, __webpack_require__) { + +/** + * interact.js 1.6.3 + * + * Copyright (c) 2012-2019 Taye Adeyemi + * Released under the MIT License. + * https://raw.github.com/taye/interact.js/master/LICENSE + */ +(function(f){if(true){module.exports=f()}else { var g; }})(function(){var define,module,exports; +var createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}}; +var _$scope_24 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +/* common-shake removed: exports.createScope = */ void createScope; +/* common-shake removed: exports.initScope = */ void initScope; +exports.Scope = exports.ActionName = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +var _defaultOptions = _interopRequireDefault(_$defaultOptions_20); + +var _Eventable = _interopRequireDefault(_$Eventable_14); + +var _Interactable = _interopRequireDefault(_$Interactable_16); + +var _InteractableSet = _interopRequireDefault(_$InteractableSet_17); + +var _InteractEvent = _interopRequireDefault(_$InteractEvent_15); + +var _interactions = _interopRequireDefault(_$interactions_23({})); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var win = utils.win, + browser = utils.browser, + raf = utils.raf, + Signals = utils.Signals, + events = utils.events; +var ActionName; +exports.ActionName = ActionName; + +(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {})); + +function createScope() { + return new Scope(); +} + +var Scope = +/*#__PURE__*/ +function () { + function Scope() { + var _this = this; + + _classCallCheck(this, Scope); + + this.id = "__interact_scope_".concat(Math.floor(Math.random() * 100)); + this.signals = new Signals(); + this.browser = browser; + this.events = events; + this.utils = utils; + this.defaults = utils.clone(_defaultOptions["default"]); + this.Eventable = _Eventable["default"]; + this.actions = { + names: [], + methodDict: {}, + eventTypes: [] + }; + this.InteractEvent = _InteractEvent["default"]; + this.interactables = new _InteractableSet["default"](this); // all documents being listened to + + this.documents = []; + this._plugins = []; + this._pluginMap = {}; + + this.onWindowUnload = function (event) { + return _this.removeDocument(event.target); + }; + + var scope = this; + + this.Interactable = + /*#__PURE__*/ + function (_InteractableBase) { + _inherits(Interactable, _InteractableBase); + + function Interactable() { + _classCallCheck(this, Interactable); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments)); + } + + _createClass(Interactable, [{ + key: "set", + value: function set(options) { + _get(_getPrototypeOf(Interactable.prototype), "set", this).call(this, options); + + scope.interactables.signals.fire('set', { + options: options, + interactable: this + }); + return this; + } + }, { + key: "unset", + value: function unset() { + _get(_getPrototypeOf(Interactable.prototype), "unset", this).call(this); + + for (var i = scope.interactions.list.length - 1; i >= 0; i--) { + var interaction = scope.interactions.list[i]; + + if (interaction.interactable === this) { + interaction.stop(); + scope.interactions.signals.fire('destroy', { + interaction: interaction + }); + interaction.destroy(); + + if (scope.interactions.list.length > 2) { + scope.interactions.list.splice(i, 1); + } + } + } + + scope.interactables.signals.fire('unset', { + interactable: this + }); + } + }, { + key: "_defaults", + get: function get() { + return scope.defaults; + } + }]); + + return Interactable; + }(_Interactable["default"]); + } + + _createClass(Scope, [{ + key: "init", + value: function init(window) { + return initScope(this, window); + } + }, { + key: "pluginIsInstalled", + value: function pluginIsInstalled(plugin) { + return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1; + } + }, { + key: "usePlugin", + value: function usePlugin(plugin, options) { + if (this.pluginIsInstalled(plugin)) { + return this; + } + + if (plugin.id) { + this._pluginMap[plugin.id] = plugin; + } + + plugin.install(this, options); + + this._plugins.push(plugin); + + return this; + } + }, { + key: "addDocument", + value: function addDocument(doc, options) { + // do nothing if document is already known + if (this.getDocIndex(doc) !== -1) { + return false; + } + + var window = win.getWindow(doc); + options = options ? utils.extend({}, options) : {}; + this.documents.push({ + doc: doc, + options: options + }); + events.documents.push(doc); // don't add an unload event for the main document + // so that the page may be cached in browser history + + if (doc !== this.document) { + events.add(window, 'unload', this.onWindowUnload); + } + + this.signals.fire('add-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "removeDocument", + value: function removeDocument(doc) { + var index = this.getDocIndex(doc); + var window = win.getWindow(doc); + var options = this.documents[index].options; + events.remove(window, 'unload', this.onWindowUnload); + this.documents.splice(index, 1); + events.documents.splice(index, 1); + this.signals.fire('remove-document', { + doc: doc, + window: window, + scope: this, + options: options + }); + } + }, { + key: "getDocIndex", + value: function getDocIndex(doc) { + for (var i = 0; i < this.documents.length; i++) { + if (this.documents[i].doc === doc) { + return i; + } + } + + return -1; + } + }, { + key: "getDocOptions", + value: function getDocOptions(doc) { + var docIndex = this.getDocIndex(doc); + return docIndex === -1 ? null : this.documents[docIndex].options; + } + }, { + key: "now", + value: function now() { + return (this.window.Date || Date).now(); + } + }]); + + return Scope; +}(); + +exports.Scope = Scope; + +function initScope(scope, window) { + win.init(window); + + _domObjects["default"].init(window); + + browser.init(window); + raf.init(window); + events.init(window); + scope.usePlugin(_interactions["default"]); + scope.document = window.document; + scope.window = window; + return scope; +} + +}); +var _$interactions_23 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports["default"] = void 0; + +var _browser = _interopRequireDefault(_$browser_48); + +var _domObjects = _interopRequireDefault(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var _events = _interopRequireDefault(_$events_52); + +var _pointerUtils = _interopRequireDefault(_$pointerUtils_61); + +var _Signals = _interopRequireDefault(_$Signals_46); + +var _Interaction = _interopRequireDefault(_$Interaction_18({})); + +var _interactionFinder = _interopRequireDefault(_$interactionFinder_22); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur']; + +function install(scope) { + var signals = new _Signals["default"](); + var listeners = {}; + + for (var _i = 0; _i < methodNames.length; _i++) { + var _ref; + + _ref = methodNames[_i]; + var method = _ref; + listeners[method] = doOnInteractions(method, scope); + } + + var pEventTypes = _browser["default"].pEventTypes; + var docEvents; + + if (_domObjects["default"].PointerEvent) { + docEvents = [{ + type: pEventTypes.down, + listener: releasePointersOnRemovedEls + }, { + type: pEventTypes.down, + listener: listeners.pointerDown + }, { + type: pEventTypes.move, + listener: listeners.pointerMove + }, { + type: pEventTypes.up, + listener: listeners.pointerUp + }, { + type: pEventTypes.cancel, + listener: listeners.pointerUp + }]; + } else { + docEvents = [{ + type: 'mousedown', + listener: listeners.pointerDown + }, { + type: 'mousemove', + listener: listeners.pointerMove + }, { + type: 'mouseup', + listener: listeners.pointerUp + }, { + type: 'touchstart', + listener: releasePointersOnRemovedEls + }, { + type: 'touchstart', + listener: listeners.pointerDown + }, { + type: 'touchmove', + listener: listeners.pointerMove + }, { + type: 'touchend', + listener: listeners.pointerUp + }, { + type: 'touchcancel', + listener: listeners.pointerUp + }]; + } + + docEvents.push({ + type: 'blur', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + interaction.documentBlur(event); + } + } + }); + scope.signals.on('add-document', onDocSignal); + scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events + + scope.prevTouchTime = 0; + + scope.Interaction = + /*#__PURE__*/ + function (_InteractionBase) { + _inherits(Interaction, _InteractionBase); + + function Interaction() { + _classCallCheck(this, Interaction); + + return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments)); + } + + _createClass(Interaction, [{ + key: "_now", + value: function _now() { + return scope.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return scope.interactions.pointerMoveTolerance; + }, + set: function set(value) { + scope.interactions.pointerMoveTolerance = value; + } + }]); + + return Interaction; + }(_Interaction["default"]); + + scope.interactions = { + signals: signals, + // all active and idle interactions + list: [], + "new": function _new(options) { + options.signals = signals; + var interaction = new scope.Interaction(options); + scope.interactions.list.push(interaction); + return interaction; + }, + listeners: listeners, + docEvents: docEvents, + pointerMoveTolerance: 1 + }; + + function releasePointersOnRemovedEls() { + // for all inactive touch interactions with pointers down + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + + if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) { + continue; + } // if a pointer is down on an element that is no longer in the DOM tree + + + var _loop = function _loop() { + _ref4 = interaction.pointers[_i4]; + var pointer = _ref4; + + if (!scope.documents.some(function (_ref5) { + var doc = _ref5.doc; + return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget); + })) { + // remove the pointer from the interaction + interaction.removePointer(pointer.pointer, pointer.event); + } + }; + + for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) { + var _ref4; + + _loop(); + } + } + } +} + +function doOnInteractions(method, scope) { + return function (event) { + var interactions = scope.interactions.list; + + var pointerType = _pointerUtils["default"].getPointerType(event); + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2), + eventTarget = _pointerUtils$getEven2[0], + curEventTarget = _pointerUtils$getEven2[1]; + + var matches = []; // [ [pointer, interaction], ...] + + if (/^touch/.test(event.type)) { + scope.prevTouchTime = scope.now(); + + for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) { + var _ref6; + + _ref6 = event.changedTouches[_i5]; + var changedTouch = _ref6; + var pointer = changedTouch; + + var pointerId = _pointerUtils["default"].getPointerId(pointer); + + var searchDetails = { + pointer: pointer, + pointerId: pointerId, + pointerType: pointerType, + eventType: event.type, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + scope: scope + }; + var interaction = getInteraction(searchDetails); + matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]); + } + } else { + var invalidPointer = false; + + if (!_browser["default"].supportsPointerEvent && /mouse/.test(event.type)) { + // ignore mouse events while touch interactions are active + for (var i = 0; i < interactions.length && !invalidPointer; i++) { + invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown; + } // try to ignore mouse events that are simulated by the browser + // after a touch event + + + invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated + event.timeStamp === 0; + } + + if (!invalidPointer) { + var _searchDetails = { + pointer: event, + pointerId: _pointerUtils["default"].getPointerId(event), + pointerType: pointerType, + eventType: event.type, + curEventTarget: curEventTarget, + eventTarget: eventTarget, + scope: scope + }; + + var _interaction = getInteraction(_searchDetails); + + matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]); + } + } // eslint-disable-next-line no-shadow + + + for (var _i6 = 0; _i6 < matches.length; _i6++) { + var _matches$_i = _slicedToArray(matches[_i6], 4), + _pointer = _matches$_i[0], + _eventTarget = _matches$_i[1], + _curEventTarget = _matches$_i[2], + _interaction2 = _matches$_i[3]; + + _interaction2[method](_pointer, event, _eventTarget, _curEventTarget); + } + }; +} + +function getInteraction(searchDetails) { + var pointerType = searchDetails.pointerType, + scope = searchDetails.scope; + + var foundInteraction = _interactionFinder["default"].search(searchDetails); + + var signalArg = { + interaction: foundInteraction, + searchDetails: searchDetails + }; + scope.interactions.signals.fire('find', signalArg); + return signalArg.interaction || scope.interactions["new"]({ + pointerType: pointerType + }); +} + +function onDocSignal(_ref7, signalName) { + var doc = _ref7.doc, + scope = _ref7.scope, + options = _ref7.options; + var docEvents = scope.interactions.docEvents; + var eventMethod = signalName.indexOf('add') === 0 ? _events["default"].add : _events["default"].remove; + + if (scope.browser.isIOS && !options.events) { + options.events = { + passive: false + }; + } // delegate event listener + + + for (var eventType in _events["default"].delegatedEvents) { + eventMethod(doc, eventType, _events["default"].delegateListener); + eventMethod(doc, eventType, _events["default"].delegateUseCapture, true); + } + + var eventOptions = options && options.events; + + for (var _i7 = 0; _i7 < docEvents.length; _i7++) { + var _ref8; + + _ref8 = docEvents[_i7]; + var _ref9 = _ref8, + type = _ref9.type, + listener = _ref9.listener; + eventMethod(doc, type, listener, eventOptions); + } +} + +var _default = { + id: 'core/interactions', + install: install, + onDocSignal: onDocSignal, + doOnInteractions: doOnInteractions, + methodNames: methodNames +}; +exports["default"] = _default; + +}); +var _$Interaction_18 = createModuleFactory(function (module, exports) { +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "PointerInfo", { + enumerable: true, + get: function get() { + return _PointerInfo["default"]; + } +}); +exports["default"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0; + +var utils = _interopRequireWildcard(_$utils_56); + +var _InteractEvent = _interopRequireWildcard(_$InteractEvent_15); + +var _PointerInfo = _interopRequireDefault(_$PointerInfo_19); + +var _scope = _$scope_24({}); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var _ProxyValues; + +exports._ProxyValues = _ProxyValues; + +(function (_ProxyValues) { + _ProxyValues["interactable"] = ""; + _ProxyValues["element"] = ""; + _ProxyValues["prepared"] = ""; + _ProxyValues["pointerIsDown"] = ""; + _ProxyValues["pointerWasMoved"] = ""; + _ProxyValues["_proxy"] = ""; +})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {})); + +var _ProxyMethods; + +exports._ProxyMethods = _ProxyMethods; + +(function (_ProxyMethods) { + _ProxyMethods["start"] = ""; + _ProxyMethods["move"] = ""; + _ProxyMethods["end"] = ""; + _ProxyMethods["stop"] = ""; + _ProxyMethods["interacting"] = ""; +})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {})); + +var Interaction = +/*#__PURE__*/ +function () { + /** */ + function Interaction(_ref) { + var _this = this; + + var pointerType = _ref.pointerType, + signals = _ref.signals; + + _classCallCheck(this, Interaction); + + // current interactable being interacted with + this.interactable = null; // the target element of the interactable + + this.element = null; // action that's ready to be fired on next move event + + this.prepared = { + name: null, + axis: null, + edges: null + }; // keep track of added pointers + + this.pointers = []; // pointerdown/mousedown/touchstart event + + this.downEvent = null; + this.downPointer = {}; + this._latestPointer = { + pointer: null, + event: null, + eventTarget: null + }; // previous action event + + this.prevEvent = null; + this.pointerIsDown = false; + this.pointerWasMoved = false; + this._interacting = false; + this._ending = false; + this._stopped = true; + this._proxy = null; + this.simulation = null; + /** + * @alias Interaction.prototype.move + */ + + this.doMove = utils.warnOnce(function (signalArg) { + this.move(signalArg); + }, 'The interaction.doMove() method has been renamed to interaction.move()'); + this.coords = { + // Starting InteractEvent pointer coordinates + start: utils.pointer.newCoords(), + // Previous native pointer move event coordinates + prev: utils.pointer.newCoords(), + // current native pointer move event coordinates + cur: utils.pointer.newCoords(), + // Change in coordinates and time of the pointer + delta: utils.pointer.newCoords(), + // pointer velocity + velocity: utils.pointer.newCoords() + }; + this._signals = signals; + this.pointerType = pointerType; + var that = this; + this._proxy = {}; + + var _loop = function _loop(key) { + Object.defineProperty(_this._proxy, key, { + get: function get() { + return that[key]; + } + }); + }; + + for (var key in _ProxyValues) { + _loop(key); + } + + var _loop2 = function _loop2(_key) { + Object.defineProperty(_this._proxy, _key, { + value: function value() { + return that[_key].apply(that, arguments); + } + }); + }; + + for (var _key in _ProxyMethods) { + _loop2(_key); + } + + this._signals.fire('new', { + interaction: this + }); + } + + _createClass(Interaction, [{ + key: "pointerDown", + value: function pointerDown(pointer, event, eventTarget) { + var pointerIndex = this.updatePointer(pointer, event, eventTarget, true); + + this._signals.fire('down', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + pointerIndex: pointerIndex, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable({ + * // disable the default drag start by down->move + * manualStart: true + * }) + * // start dragging after the user holds the pointer down + * .on('hold', function (event) { + * var interaction = event.interaction + * + * if (!interaction.interacting()) { + * interaction.start({ name: 'drag' }, + * event.interactable, + * event.currentTarget) + * } + * }) + * ``` + * + * Start an action with the given Interactable and Element as tartgets. The + * action must be enabled for the target Interactable and an appropriate + * number of pointers must be held down - 1 for drag/resize, 2 for gesture. + * + * Use it with `interactable.able({ manualStart: false })` to always + * [start actions manually](https://github.com/taye/interact.js/issues/114) + * + * @param {object} action The action to be performed - drag, resize, etc. + * @param {Interactable} target The Interactable to target + * @param {Element} element The DOM Element to target + * @return {object} interact + */ + + }, { + key: "start", + value: function start(action, interactable, element) { + if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) { + return false; + } + + utils.copyAction(this.prepared, action); + this.interactable = interactable; + this.element = element; + this.rect = interactable.getRect(element); + this.edges = this.prepared.edges; + this._stopped = false; + this._interacting = this._doPhase({ + interaction: this, + event: this.downEvent, + phase: _InteractEvent.EventPhase.Start + }) && !this._stopped; + return this._interacting; + } + }, { + key: "pointerMove", + value: function pointerMove(pointer, event, eventTarget) { + if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) { + this.updatePointer(pointer, event, eventTarget, false); + utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + } + + var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y; + var dx; + var dy; // register movement greater than pointerMoveTolerance + + if (this.pointerIsDown && !this.pointerWasMoved) { + dx = this.coords.cur.client.x - this.coords.start.client.x; + dy = this.coords.cur.client.y - this.coords.start.client.y; + this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance; + } + + var signalArg = { + pointer: pointer, + pointerIndex: this.getPointerIndex(pointer), + event: event, + eventTarget: eventTarget, + dx: dx, + dy: dy, + duplicate: duplicateMove, + interaction: this + }; + + if (!duplicateMove) { + // set pointer coordinate, time changes and velocity + utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur); + utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta); + } + + this._signals.fire('move', signalArg); + + if (!duplicateMove) { + // if interacting, fire an 'action-move' signal etc + if (this.interacting()) { + this.move(signalArg); + } + + if (this.pointerWasMoved) { + utils.pointer.copyCoords(this.coords.prev, this.coords.cur); + } + } + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('dragmove', function (event) { + * if (someCondition) { + * // change the snap settings + * event.interactable.draggable({ snap: { targets: [] }}) + * // fire another move event with re-calculated snap + * event.interaction.move() + * } + * }) + * ``` + * + * Force a move of the current action at the same coordinates. Useful if + * snap/restrict has been changed and you want a movement with the new + * settings. + */ + + }, { + key: "move", + value: function move(signalArg) { + signalArg = utils.extend({ + pointer: this._latestPointer.pointer, + event: this._latestPointer.event, + eventTarget: this._latestPointer.eventTarget, + interaction: this + }, signalArg || {}); + signalArg.phase = _InteractEvent.EventPhase.Move; + + this._doPhase(signalArg); + } // End interact move events and stop auto-scroll unless simulation is running + + }, { + key: "pointerUp", + value: function pointerUp(pointer, event, eventTarget, curEventTarget) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + pointerIndex = this.updatePointer(pointer, event, eventTarget, false); + } + + this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', { + pointer: pointer, + pointerIndex: pointerIndex, + event: event, + eventTarget: eventTarget, + curEventTarget: curEventTarget, + interaction: this + }); + + if (!this.simulation) { + this.end(event); + } + + this.pointerIsDown = false; + this.removePointer(pointer, event); + } + }, { + key: "documentBlur", + value: function documentBlur(event) { + this.end(event); + + this._signals.fire('blur', { + event: event, + interaction: this + }); + } + /** + * ```js + * interact(target) + * .draggable(true) + * .on('move', function (event) { + * if (event.pageX > 1000) { + * // end the current action + * event.interaction.end() + * // stop all further listeners from being called + * event.stopImmediatePropagation() + * } + * }) + * ``` + * + * @param {PointerEvent} [event] + */ + + }, { + key: "end", + value: function end(event) { + this._ending = true; + event = event || this._latestPointer.event; + var endPhaseResult; + + if (this.interacting()) { + endPhaseResult = this._doPhase({ + event: event, + interaction: this, + phase: _InteractEvent.EventPhase.End + }); + } + + this._ending = false; + + if (endPhaseResult === true) { + this.stop(); + } + } + }, { + key: "currentAction", + value: function currentAction() { + return this._interacting ? this.prepared.name : null; + } + }, { + key: "interacting", + value: function interacting() { + return this._interacting; + } + /** */ + + }, { + key: "stop", + value: function stop() { + this._signals.fire('stop', { + interaction: this + }); + + this.interactable = this.element = null; + this._interacting = false; + this._stopped = true; + this.prepared.name = this.prevEvent = null; + } + }, { + key: "getPointerIndex", + value: function getPointerIndex(pointer) { + var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer + + return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) { + return curPointer.id === pointerId; + }); + } + }, { + key: "getPointerInfo", + value: function getPointerInfo(pointer) { + return this.pointers[this.getPointerIndex(pointer)]; + } + }, { + key: "updatePointer", + value: function updatePointer(pointer, event, eventTarget, down) { + var id = utils.pointer.getPointerId(pointer); + var pointerIndex = this.getPointerIndex(pointer); + var pointerInfo = this.pointers[pointerIndex]; + down = down === false ? false : down || /(down|start)$/i.test(event.type); + + if (!pointerInfo) { + pointerInfo = new _PointerInfo["default"](id, pointer, event, null, null); + pointerIndex = this.pointers.length; + this.pointers.push(pointerInfo); + } else { + pointerInfo.pointer = pointer; + } + + if (down) { + this.pointerIsDown = true; + + if (!this.interacting()) { + utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) { + return p.pointer; + }), this._now()); + utils.pointer.copyCoords(this.coords.cur, this.coords.start); + utils.pointer.copyCoords(this.coords.prev, this.coords.start); + utils.pointer.pointerExtend(this.downPointer, pointer); + this.downEvent = event; + pointerInfo.downTime = this.coords.cur.timeStamp; + pointerInfo.downTarget = eventTarget; + this.pointerWasMoved = false; + } + } + + this._updateLatestPointer(pointer, event, eventTarget); + + this._signals.fire('update-pointer', { + pointer: pointer, + event: event, + eventTarget: eventTarget, + down: down, + pointerInfo: pointerInfo, + pointerIndex: pointerIndex, + interaction: this + }); + + return pointerIndex; + } + }, { + key: "removePointer", + value: function removePointer(pointer, event) { + var pointerIndex = this.getPointerIndex(pointer); + + if (pointerIndex === -1) { + return; + } + + var pointerInfo = this.pointers[pointerIndex]; + + this._signals.fire('remove-pointer', { + pointer: pointer, + event: event, + pointerIndex: pointerIndex, + pointerInfo: pointerInfo, + interaction: this + }); + + this.pointers.splice(pointerIndex, 1); + } + }, { + key: "_updateLatestPointer", + value: function _updateLatestPointer(pointer, event, eventTarget) { + this._latestPointer.pointer = pointer; + this._latestPointer.event = event; + this._latestPointer.eventTarget = eventTarget; + } + }, { + key: "destroy", + value: function destroy() { + this._latestPointer.pointer = null; + this._latestPointer.event = null; + this._latestPointer.eventTarget = null; + } + }, { + key: "_createPreparedEvent", + value: function _createPreparedEvent(event, phase, preEnd, type) { + var actionName = this.prepared.name; + return new _InteractEvent["default"](this, event, actionName, phase, this.element, null, preEnd, type); + } + }, { + key: "_fireEvent", + value: function _fireEvent(iEvent) { + this.interactable.fire(iEvent); + + if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) { + this.prevEvent = iEvent; + } + } + }, { + key: "_doPhase", + value: function _doPhase(signalArg) { + var event = signalArg.event, + phase = signalArg.phase, + preEnd = signalArg.preEnd, + type = signalArg.type; + + var beforeResult = this._signals.fire("before-action-".concat(phase), signalArg); + + if (beforeResult === false) { + return false; + } + + var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type); + + var rect = this.rect; + + if (rect) { + // update the rect modifications + var edges = this.edges || this.prepared.edges || { + left: true, + right: true, + top: true, + bottom: true + }; + + if (edges.top) { + rect.top += iEvent.delta.y; + } + + if (edges.bottom) { + rect.bottom += iEvent.delta.y; + } + + if (edges.left) { + rect.left += iEvent.delta.x; + } + + if (edges.right) { + rect.right += iEvent.delta.x; + } + + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; + } + + this._signals.fire("action-".concat(phase), signalArg); + + this._fireEvent(iEvent); + + this._signals.fire("after-action-".concat(phase), signalArg); + + return true; + } + }, { + key: "_now", + value: function _now() { + return Date.now(); + } + }, { + key: "pointerMoveTolerance", + get: function get() { + return 1; + } + }]); + + return Interaction; +}(); + +exports.Interaction = Interaction; +var _default = Interaction; +exports["default"] = _default; + +}); +var _$arr_47 = {}; +"use strict"; + +Object.defineProperty(_$arr_47, "__esModule", { + value: true +}); +_$arr_47.contains = contains; +_$arr_47.remove = remove; +_$arr_47.merge = merge; +_$arr_47.from = from; +_$arr_47.findIndex = findIndex; +_$arr_47.find = find; + +function contains(array, target) { + return array.indexOf(target) !== -1; +} + +function remove(array, target) { + return array.splice(array.indexOf(target), 1); +} + +function merge(target, source) { + for (var _i = 0; _i < source.length; _i++) { + var _ref; + + _ref = source[_i]; + var item = _ref; + target.push(item); + } + + return target; +} + +function from(source) { + return merge([], source); +} + +function findIndex(array, func) { + for (var i = 0; i < array.length; i++) { + if (func(array[i], i, array)) { + return i; + } + } + + return -1; +} + +function find(array, func) { + return array[findIndex(array, func)]; +} + +var _$domObjects_50 = {}; +"use strict"; + +Object.defineProperty(_$domObjects_50, "__esModule", { + value: true +}); +_$domObjects_50["default"] = void 0; +var domObjects = { + init: init, + document: null, + DocumentFragment: null, + SVGElement: null, + SVGSVGElement: null, + // eslint-disable-next-line no-undef + SVGElementInstance: null, + Element: null, + HTMLElement: null, + Event: null, + Touch: null, + PointerEvent: null +}; + +function blank() {} + +var _default = domObjects; +_$domObjects_50["default"] = _default; + +function init(window) { + var win = window; + domObjects.document = win.document; + domObjects.DocumentFragment = win.DocumentFragment || blank; + domObjects.SVGElement = win.SVGElement || blank; + domObjects.SVGSVGElement = win.SVGSVGElement || blank; + domObjects.SVGElementInstance = win.SVGElementInstance || blank; + domObjects.Element = win.Element || blank; + domObjects.HTMLElement = win.HTMLElement || domObjects.Element; + domObjects.Event = win.Event; + domObjects.Touch = win.Touch || blank; + domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent; +} + +var _$isWindow_58 = {}; +"use strict"; + +Object.defineProperty(_$isWindow_58, "__esModule", { + value: true +}); +_$isWindow_58["default"] = void 0; + +var ___default_58 = function _default(thing) { + return !!(thing && thing.Window) && thing instanceof thing.Window; +}; + +_$isWindow_58["default"] = ___default_58; + +var _$window_66 = {}; +"use strict"; + +Object.defineProperty(_$window_66, "__esModule", { + value: true +}); +_$window_66.init = __init_66; +_$window_66.getWindow = getWindow; +_$window_66["default"] = void 0; + +var _isWindow = _interopRequireDefault(_$isWindow_58); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var win = { + realWindow: undefined, + window: undefined, + getWindow: getWindow, + init: __init_66 +}; + +function __init_66(window) { + // get wrapped window if using Shadow DOM polyfill + win.realWindow = window; // create a TextNode + + var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill + + if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) { + // use wrapped window + window = window.wrap(window); + } + + win.window = window; +} + +if (typeof window === 'undefined') { + win.window = undefined; + win.realWindow = undefined; +} else { + __init_66(window); +} + +function getWindow(node) { + if ((0, _isWindow["default"])(node)) { + return node; + } + + var rootNode = node.ownerDocument || node; + return rootNode.defaultView || win.window; +} + +win.init = __init_66; +var ___default_66 = win; +_$window_66["default"] = ___default_66; + +var _$is_57 = {}; +"use strict"; + +Object.defineProperty(_$is_57, "__esModule", { + value: true +}); +_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0; + +var ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58); + +var _window2 = ___interopRequireDefault_57(_$window_66); + +function ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var __window_57 = function window(thing) { + return thing === _window2["default"].window || (0, ___isWindow_57["default"])(thing); +}; + +_$is_57.window = __window_57; + +var docFrag = function docFrag(thing) { + return object(thing) && thing.nodeType === 11; +}; + +_$is_57.docFrag = docFrag; + +var object = function object(thing) { + return !!thing && _typeof(thing) === 'object'; +}; + +_$is_57.object = object; + +var func = function func(thing) { + return typeof thing === 'function'; +}; + +_$is_57.func = func; + +var number = function number(thing) { + return typeof thing === 'number'; +}; + +_$is_57.number = number; + +var bool = function bool(thing) { + return typeof thing === 'boolean'; +}; + +_$is_57.bool = bool; + +var string = function string(thing) { + return typeof thing === 'string'; +}; + +_$is_57.string = string; + +var element = function element(thing) { + if (!thing || _typeof(thing) !== 'object') { + return false; + } + + var _window = _window2["default"].getWindow(thing) || _window2["default"].window; + + return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2 + : thing.nodeType === 1 && typeof thing.nodeName === 'string'; +}; + +_$is_57.element = element; + +var plainObject = function plainObject(thing) { + return object(thing) && !!thing.constructor && /function Object\b/.test(thing.constructor.toString()); +}; + +_$is_57.plainObject = plainObject; + +var array = function array(thing) { + return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice); +}; + +_$is_57.array = array; + +var _$browser_48 = {}; +"use strict"; + +Object.defineProperty(_$browser_48, "__esModule", { + value: true +}); +_$browser_48["default"] = void 0; + +var _domObjects = ___interopRequireDefault_48(_$domObjects_50); + +var is = _interopRequireWildcard(_$is_57); + +var _window = ___interopRequireDefault_48(_$window_66); + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var browser = { + init: __init_48, + supportsTouch: null, + supportsPointerEvent: null, + isIOS7: null, + isIOS: null, + isIe9: null, + isOperaMobile: null, + prefixedMatchesSelector: null, + pEventTypes: null, + wheelEvent: null +}; + +function __init_48(window) { + var Element = _domObjects["default"].Element; + var navigator = _window["default"].window.navigator; // Does the browser support touch input? + + browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects["default"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents + + browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects["default"].PointerEvent; + browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7 + + browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\d]/.test(navigator.appVersion); + browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently + + browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector + + browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector'; + browser.pEventTypes = browser.supportsPointerEvent ? _domObjects["default"].PointerEvent === window.MSPointerEvent ? { + up: 'MSPointerUp', + down: 'MSPointerDown', + over: 'mouseover', + out: 'mouseout', + move: 'MSPointerMove', + cancel: 'MSPointerCancel' + } : { + up: 'pointerup', + down: 'pointerdown', + over: 'pointerover', + out: 'pointerout', + move: 'pointermove', + cancel: 'pointercancel' + } : null; // because Webkit and Opera still use 'mousewheel' event type + + browser.wheelEvent = 'onmousewheel' in _domObjects["default"].document ? 'mousewheel' : 'wheel'; +} + +var ___default_48 = browser; +_$browser_48["default"] = ___default_48; + +var _$domUtils_51 = {}; +"use strict"; + +Object.defineProperty(_$domUtils_51, "__esModule", { + value: true +}); +_$domUtils_51.nodeContains = nodeContains; +_$domUtils_51.closest = closest; +_$domUtils_51.parentNode = parentNode; +_$domUtils_51.matchesSelector = matchesSelector; +_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement; +_$domUtils_51.matchesUpTo = matchesUpTo; +_$domUtils_51.getActualElement = getActualElement; +_$domUtils_51.getScrollXY = getScrollXY; +_$domUtils_51.getElementClientRect = getElementClientRect; +_$domUtils_51.getElementRect = getElementRect; +_$domUtils_51.getPath = getPath; +_$domUtils_51.trySelector = trySelector; + +var _browser = ___interopRequireDefault_51(_$browser_48); + +var ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50); + +var __is_51 = ___interopRequireWildcard_51(_$is_57); + +var ___window_51 = ___interopRequireWildcard_51(_$window_66); + +function ___getRequireWildcardCache_51() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function nodeContains(parent, child) { + while (child) { + if (child === parent) { + return true; + } + + child = child.parentNode; + } + + return false; +} + +function closest(element, selector) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return element; + } + + element = parentNode(element); + } + + return null; +} + +function parentNode(node) { + var parent = node.parentNode; + + if (__is_51.docFrag(parent)) { + // skip past #shado-root fragments + // tslint:disable-next-line + while ((parent = parent.host) && __is_51.docFrag(parent)) { + continue; + } + + return parent; + } + + return parent; +} + +function matchesSelector(element, selector) { + // remove /deep/ from selectors if shadowDOM polyfill is used + if (___window_51["default"].window !== ___window_51["default"].realWindow) { + selector = selector.replace(/\/deep\//g, ' '); + } + + return element[_browser["default"].prefixedMatchesSelector](selector); +} + +var getParent = function getParent(el) { + return el.parentNode ? el.parentNode : el.host; +}; // Test for the element that's "above" all other qualifiers + + +function indexOfDeepestElement(elements) { + var deepestZoneParents = []; + var deepestZone = elements[0]; + var index = deepestZone ? 0 : -1; + var i; + var n; + + for (i = 1; i < elements.length; i++) { + var dropzone = elements[i]; // an element might belong to multiple selector dropzones + + if (!dropzone || dropzone === deepestZone) { + continue; + } + + if (!deepestZone) { + deepestZone = dropzone; + index = i; + continue; + } // check if the deepest or current are document.documentElement or document.rootElement + // - if the current dropzone is, do nothing and continue + + + if (dropzone.parentNode === dropzone.ownerDocument) { + continue; + } // - if deepest is, update with the current dropzone and continue to next + else if (deepestZone.parentNode === dropzone.ownerDocument) { + deepestZone = dropzone; + index = i; + continue; + } // compare zIndex of siblings + + + if (dropzone.parentNode === deepestZone.parentNode) { + var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0; + var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0; + + if (dropzoneZIndex >= deepestZIndex) { + deepestZone = dropzone; + index = i; + } + + continue; + } // populate the ancestry array for the latest deepest dropzone + + + if (!deepestZoneParents.length) { + var _parent = deepestZone; + var parentParent = void 0; + + while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) { + deepestZoneParents.unshift(_parent); + _parent = parentParent; + } + } + + var parent = void 0; // if this element is an svg element and the current deepest is an + // HTMLElement + + if (deepestZone instanceof ___domObjects_51["default"].HTMLElement && dropzone instanceof ___domObjects_51["default"].SVGElement && !(dropzone instanceof ___domObjects_51["default"].SVGSVGElement)) { + if (dropzone === deepestZone.parentNode) { + continue; + } + + parent = dropzone.ownerSVGElement; + } else { + parent = dropzone; + } + + var dropzoneParents = []; + + while (parent.parentNode !== parent.ownerDocument) { + dropzoneParents.unshift(parent); + parent = getParent(parent); + } + + n = 0; // get (position of last common ancestor) + 1 + + while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) { + n++; + } + + var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]]; + var child = parents[0].lastChild; + + while (child) { + if (child === parents[1]) { + deepestZone = dropzone; + index = i; + deepestZoneParents = dropzoneParents; + break; + } else if (child === parents[2]) { + break; + } + + child = child.previousSibling; + } + } + + return index; +} + +function matchesUpTo(element, selector, limit) { + while (__is_51.element(element)) { + if (matchesSelector(element, selector)) { + return true; + } + + element = parentNode(element); + + if (element === limit) { + return matchesSelector(element, selector); + } + } + + return false; +} + +function getActualElement(element) { + return element instanceof ___domObjects_51["default"].SVGElementInstance ? element.correspondingUseElement : element; +} + +function getScrollXY(relevantWindow) { + relevantWindow = relevantWindow || ___window_51["default"].window; + return { + x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft, + y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop + }; +} + +function getElementClientRect(element) { + var clientRect = element instanceof ___domObjects_51["default"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0]; + return clientRect && { + left: clientRect.left, + right: clientRect.right, + top: clientRect.top, + bottom: clientRect.bottom, + width: clientRect.width || clientRect.right - clientRect.left, + height: clientRect.height || clientRect.bottom - clientRect.top + }; +} + +function getElementRect(element) { + var clientRect = getElementClientRect(element); + + if (!_browser["default"].isIOS7 && clientRect) { + var scroll = getScrollXY(___window_51["default"].getWindow(element)); + clientRect.left += scroll.x; + clientRect.right += scroll.x; + clientRect.top += scroll.y; + clientRect.bottom += scroll.y; + } + + return clientRect; +} + +function getPath(node) { + var path = []; + + while (node) { + path.push(node); + node = parentNode(node); + } + + return path; +} + +function trySelector(value) { + if (!__is_51.string(value)) { + return false; + } // an exception will be raised if it is invalid + + + ___domObjects_51["default"].document.querySelector(value); + + return true; +} + +var _$clone_49 = {}; +"use strict"; + +Object.defineProperty(_$clone_49, "__esModule", { + value: true +}); +_$clone_49["default"] = clone; + +var arr = ___interopRequireWildcard_49(_$arr_47); + +var __is_49 = ___interopRequireWildcard_49(_$is_57); + +function ___getRequireWildcardCache_49() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function clone(source) { + var dest = {}; + + for (var prop in source) { + var value = source[prop]; + + if (__is_49.plainObject(value)) { + dest[prop] = clone(value); + } else if (__is_49.array(value)) { + dest[prop] = arr.from(value); + } else { + dest[prop] = value; + } + } + + return dest; +} + +var _$pointerExtend_60 = {}; +"use strict"; + +Object.defineProperty(_$pointerExtend_60, "__esModule", { + value: true +}); +_$pointerExtend_60["default"] = void 0; + +function pointerExtend(dest, source) { + for (var prop in source) { + var prefixedPropREs = pointerExtend.prefixedPropREs; + var deprecated = false; // skip deprecated prefixed properties + + for (var vendor in prefixedPropREs) { + if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) { + deprecated = true; + break; + } + } + + if (!deprecated && typeof source[prop] !== 'function') { + dest[prop] = source[prop]; + } + } + + return dest; +} + +pointerExtend.prefixedPropREs = { + webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/, + moz: /(Pressure)$/ +}; +var ___default_60 = pointerExtend; +_$pointerExtend_60["default"] = ___default_60; + +var _$hypot_55 = {}; +"use strict"; + +Object.defineProperty(_$hypot_55, "__esModule", { + value: true +}); +_$hypot_55["default"] = void 0; + +var ___default_55 = function _default(x, y) { + return Math.sqrt(x * x + y * y); +}; + +_$hypot_55["default"] = ___default_55; + +var _$pointerUtils_61 = {}; +"use strict"; + +Object.defineProperty(_$pointerUtils_61, "__esModule", { + value: true +}); +_$pointerUtils_61["default"] = void 0; + +var ___browser_61 = ___interopRequireDefault_61(_$browser_48); + +var ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50); + +var domUtils = ___interopRequireWildcard_61(_$domUtils_51); + +var _hypot = ___interopRequireDefault_61(_$hypot_55); + +var __is_61 = ___interopRequireWildcard_61(_$is_57); + +var _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60); + +function ___getRequireWildcardCache_61() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var pointerUtils = { + copyCoords: function copyCoords(dest, src) { + dest.page = dest.page || {}; + dest.page.x = src.page.x; + dest.page.y = src.page.y; + dest.client = dest.client || {}; + dest.client.x = src.client.x; + dest.client.y = src.client.y; + dest.timeStamp = src.timeStamp; + }, + setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) { + targetObj.page.x = cur.page.x - prev.page.x; + targetObj.page.y = cur.page.y - prev.page.y; + targetObj.client.x = cur.client.x - prev.client.x; + targetObj.client.y = cur.client.y - prev.client.y; + targetObj.timeStamp = cur.timeStamp - prev.timeStamp; + }, + setCoordVelocity: function setCoordVelocity(targetObj, delta) { + var dt = Math.max(delta.timeStamp / 1000, 0.001); + targetObj.page.x = delta.page.x / dt; + targetObj.page.y = delta.page.y / dt; + targetObj.client.x = delta.client.x / dt; + targetObj.client.y = delta.client.y / dt; + targetObj.timeStamp = dt; + }, + isNativePointer: function isNativePointer(pointer) { + return pointer instanceof ___domObjects_61["default"].Event || pointer instanceof ___domObjects_61["default"].Touch; + }, + // Get specified X/Y coords for mouse or event.touches[0] + getXY: function getXY(type, pointer, xy) { + xy = xy || {}; + type = type || 'page'; + xy.x = pointer[type + 'X']; + xy.y = pointer[type + 'Y']; + return xy; + }, + getPageXY: function getPageXY(pointer, page) { + page = page || { + x: 0, + y: 0 + }; // Opera Mobile handles the viewport and scrolling oddly + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + pointerUtils.getXY('screen', pointer, page); + page.x += window.scrollX; + page.y += window.scrollY; + } else { + pointerUtils.getXY('page', pointer, page); + } + + return page; + }, + getClientXY: function getClientXY(pointer, client) { + client = client || {}; + + if (___browser_61["default"].isOperaMobile && pointerUtils.isNativePointer(pointer)) { + // Opera Mobile handles the viewport and scrolling oddly + pointerUtils.getXY('screen', pointer, client); + } else { + pointerUtils.getXY('client', pointer, client); + } + + return client; + }, + getPointerId: function getPointerId(pointer) { + return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier; + }, + setCoords: function setCoords(targetObj, pointers, timeStamp) { + var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0]; + var tmpXY = {}; + pointerUtils.getPageXY(pointer, tmpXY); + targetObj.page.x = tmpXY.x; + targetObj.page.y = tmpXY.y; + pointerUtils.getClientXY(pointer, tmpXY); + targetObj.client.x = tmpXY.x; + targetObj.client.y = tmpXY.y; + targetObj.timeStamp = timeStamp; + }, + pointerExtend: _pointerExtend["default"], + getTouchPair: function getTouchPair(event) { + var touches = []; // array of touches is supplied + + if (__is_61.array(event)) { + touches[0] = event[0]; + touches[1] = event[1]; + } // an event + else { + if (event.type === 'touchend') { + if (event.touches.length === 1) { + touches[0] = event.touches[0]; + touches[1] = event.changedTouches[0]; + } else if (event.touches.length === 0) { + touches[0] = event.changedTouches[0]; + touches[1] = event.changedTouches[1]; + } + } else { + touches[0] = event.touches[0]; + touches[1] = event.touches[1]; + } + } + + return touches; + }, + pointerAverage: function pointerAverage(pointers) { + var average = { + pageX: 0, + pageY: 0, + clientX: 0, + clientY: 0, + screenX: 0, + screenY: 0 + }; + + for (var _i = 0; _i < pointers.length; _i++) { + var _ref; + + _ref = pointers[_i]; + var pointer = _ref; + + for (var _prop in average) { + average[_prop] += pointer[_prop]; + } + } + + for (var prop in average) { + average[prop] /= pointers.length; + } + + return average; + }, + touchBBox: function touchBBox(event) { + if (!event.length && !(event.touches && event.touches.length > 1)) { + return null; + } + + var touches = pointerUtils.getTouchPair(event); + var minX = Math.min(touches[0].pageX, touches[1].pageX); + var minY = Math.min(touches[0].pageY, touches[1].pageY); + var maxX = Math.max(touches[0].pageX, touches[1].pageX); + var maxY = Math.max(touches[0].pageY, touches[1].pageY); + return { + x: minX, + y: minY, + left: minX, + top: minY, + right: maxX, + bottom: maxY, + width: maxX - minX, + height: maxY - minY + }; + }, + touchDistance: function touchDistance(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[0][sourceX] - touches[1][sourceX]; + var dy = touches[0][sourceY] - touches[1][sourceY]; + return (0, _hypot["default"])(dx, dy); + }, + touchAngle: function touchAngle(event, deltaSource) { + var sourceX = deltaSource + 'X'; + var sourceY = deltaSource + 'Y'; + var touches = pointerUtils.getTouchPair(event); + var dx = touches[1][sourceX] - touches[0][sourceX]; + var dy = touches[1][sourceY] - touches[0][sourceY]; + var angle = 180 * Math.atan2(dy, dx) / Math.PI; + return angle; + }, + getPointerType: function getPointerType(pointer) { + return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the "pointer" must + // be either a MouseEvent, TouchEvent, or Touch object + : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61["default"].Touch ? 'touch' : 'mouse'; + }, + // [ event.target, event.currentTarget ] + getEventTargets: function getEventTargets(event) { + var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path; + return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)]; + }, + newCoords: function newCoords() { + return { + page: { + x: 0, + y: 0 + }, + client: { + x: 0, + y: 0 + }, + timeStamp: 0 + }; + }, + coordsToEvent: function coordsToEvent(coords) { + var event = { + coords: coords, + + get page() { + return this.coords.page; + }, + + get client() { + return this.coords.client; + }, + + get timeStamp() { + return this.coords.timeStamp; + }, + + get pageX() { + return this.coords.page.x; + }, + + get pageY() { + return this.coords.page.y; + }, + + get clientX() { + return this.coords.client.x; + }, + + get clientY() { + return this.coords.client.y; + }, + + get pointerId() { + return this.coords.pointerId; + }, + + get target() { + return this.coords.target; + }, + + get type() { + return this.coords.type; + }, + + get pointerType() { + return this.coords.pointerType; + }, + + get buttons() { + return this.coords.buttons; + } + + }; + return event; + } +}; +var ___default_61 = pointerUtils; +_$pointerUtils_61["default"] = ___default_61; + +var _$events_52 = {}; +"use strict"; + +Object.defineProperty(_$events_52, "__esModule", { + value: true +}); +_$events_52["default"] = _$events_52.FakeEvent = void 0; + +/* removed: var _$arr_47 = require("./arr"); */; + +var __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51); + +var __is_52 = ___interopRequireWildcard_52(_$is_57); + +var ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60); + +var _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61); + +function ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_52() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +var elements = []; +var targets = []; +var delegatedEvents = {}; +var documents = []; + +function add(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target) { + target = { + events: {}, + typeCount: 0 + }; + elementIndex = elements.push(element) - 1; + targets.push(target); + } + + if (!target.events[type]) { + target.events[type] = []; + target.typeCount++; + } + + if (!(0, _$arr_47.contains)(target.events[type], listener)) { + element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].push(listener); + } +} + +function __remove_52(element, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var elementIndex = elements.indexOf(element); + var target = targets[elementIndex]; + + if (!target || !target.events) { + return; + } + + if (type === 'all') { + for (type in target.events) { + if (target.events.hasOwnProperty(type)) { + __remove_52(element, type, 'all'); + } + } + + return; + } + + if (target.events[type]) { + var len = target.events[type].length; + + if (listener === 'all') { + for (var i = 0; i < len; i++) { + __remove_52(element, type, target.events[type][i], options); + } + + return; + } else { + for (var _i = 0; _i < len; _i++) { + if (target.events[type][_i] === listener) { + element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture); + target.events[type].splice(_i, 1); + break; + } + } + } + + if (target.events[type] && target.events[type].length === 0) { + target.events[type] = null; + target.typeCount--; + } + } + + if (!target.typeCount) { + targets.splice(elementIndex, 1); + elements.splice(elementIndex, 1); + } +} + +function addDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + + if (!delegatedEvents[type]) { + delegatedEvents[type] = { + contexts: [], + listeners: [], + selectors: [] + }; // add delegate listener functions + + for (var _i2 = 0; _i2 < documents.length; _i2++) { + var _ref; + + _ref = documents[_i2]; + var doc = _ref; + add(doc, type, delegateListener); + add(doc, type, delegateUseCapture, true); + } + } + + var delegated = delegatedEvents[type]; + var index; + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + break; + } + } + + if (index === -1) { + index = delegated.selectors.length; + delegated.selectors.push(selector); + delegated.contexts.push(context); + delegated.listeners.push([]); + } // keep listener and capture and passive flags + + + delegated.listeners[index].push([listener, !!options.capture, options.passive]); +} + +function removeDelegate(selector, context, type, listener, optionalArg) { + var options = getOptions(optionalArg); + var delegated = delegatedEvents[type]; + var matchFound = false; + var index; + + if (!delegated) { + return; + } // count from last index of delegated to 0 + + + for (index = delegated.selectors.length - 1; index >= 0; index--) { + // look for matching selector and context Node + if (delegated.selectors[index] === selector && delegated.contexts[index] === context) { + var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive] + + for (var i = listeners.length - 1; i >= 0; i--) { + var _listeners$i = _slicedToArray(listeners[i], 3), + fn = _listeners$i[0], + capture = _listeners$i[1], + passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match + + + if (fn === listener && capture === !!options.capture && passive === options.passive) { + // remove the listener from the array of listeners + listeners.splice(i, 1); // if all listeners for this interactable have been removed + // remove the interactable from the delegated arrays + + if (!listeners.length) { + delegated.selectors.splice(index, 1); + delegated.contexts.splice(index, 1); + delegated.listeners.splice(index, 1); // remove delegate function from context + + __remove_52(context, type, delegateListener); + __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegatedEvents[type] = null; + } + } // only remove one listener + + + matchFound = true; + break; + } + } + + if (matchFound) { + break; + } + } + } +} // bound to the interactable context when a DOM event +// listener is added to a selector interactable + + +function delegateListener(event, optionalArg) { + var options = getOptions(optionalArg); + var fakeEvent = new FakeEvent(event); + var delegated = delegatedEvents[event.type]; + + var _pointerUtils$getEven = _pointerUtils["default"].getEventTargets(event), + _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1), + eventTarget = _pointerUtils$getEven2[0]; + + var element = eventTarget; // climb up document tree looking for selector matches + + while (__is_52.element(element)) { + for (var i = 0; i < delegated.selectors.length; i++) { + var selector = delegated.selectors[i]; + var context = delegated.contexts[i]; + + if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) { + var listeners = delegated.listeners[i]; + fakeEvent.currentTarget = element; + + for (var _i3 = 0; _i3 < listeners.length; _i3++) { + var _ref2; + + _ref2 = listeners[_i3]; + + var _ref3 = _ref2, + _ref4 = _slicedToArray(_ref3, 3), + fn = _ref4[0], + capture = _ref4[1], + passive = _ref4[2]; + + if (capture === !!options.capture && passive === options.passive) { + fn(fakeEvent); + } + } + } + } + + element = __domUtils_52.parentNode(element); + } +} + +function delegateUseCapture(event) { + return delegateListener.call(this, event, true); +} + +function getOptions(param) { + return __is_52.object(param) ? param : { + capture: param + }; +} + +var FakeEvent = +/*#__PURE__*/ +function () { + function FakeEvent(originalEvent) { + _classCallCheck(this, FakeEvent); + + this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed + + (0, ___pointerExtend_52["default"])(this, originalEvent); + } + + _createClass(FakeEvent, [{ + key: "preventOriginalDefault", + value: function preventOriginalDefault() { + this.originalEvent.preventDefault(); + } + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.originalEvent.stopPropagation(); + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.originalEvent.stopImmediatePropagation(); + } + }]); + + return FakeEvent; +}(); + +_$events_52.FakeEvent = FakeEvent; +var events = { + add: add, + remove: __remove_52, + addDelegate: addDelegate, + removeDelegate: removeDelegate, + delegateListener: delegateListener, + delegateUseCapture: delegateUseCapture, + delegatedEvents: delegatedEvents, + documents: documents, + supportsOptions: false, + supportsPassive: false, + _elements: elements, + _targets: targets, + init: function init(window) { + window.document.createElement('div').addEventListener('test', null, { + get capture() { + return events.supportsOptions = true; + }, + + get passive() { + return events.supportsPassive = true; + } + + }); + } +}; +var ___default_52 = events; +_$events_52["default"] = ___default_52; + +var _$extend_53 = {}; +"use strict"; + +Object.defineProperty(_$extend_53, "__esModule", { + value: true +}); +_$extend_53["default"] = extend; + +function extend(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + + return dest; +} + +var _$rect_63 = {}; +"use strict"; + +Object.defineProperty(_$rect_63, "__esModule", { + value: true +}); +_$rect_63.getStringOptionResult = getStringOptionResult; +_$rect_63.resolveRectLike = resolveRectLike; +_$rect_63.rectToXY = rectToXY; +_$rect_63.xywhToTlbr = xywhToTlbr; +_$rect_63.tlbrToXywh = tlbrToXywh; +_$rect_63["default"] = void 0; + +/* removed: var _$domUtils_51 = require("./domUtils"); */; + +var _extend = ___interopRequireDefault_63(_$extend_53); + +var __is_63 = ___interopRequireWildcard_63(_$is_57); + +function ___getRequireWildcardCache_63() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function getStringOptionResult(value, target, element) { + if (value === 'parent') { + return (0, _$domUtils_51.parentNode)(element); + } + + if (value === 'self') { + return target.getRect(element); + } + + return (0, _$domUtils_51.closest)(element, value); +} + +function resolveRectLike(value, target, element, functionArgs) { + if (__is_63.string(value)) { + value = getStringOptionResult(value, target, element); + } else if (__is_63.func(value)) { + value = value.apply(void 0, _toConsumableArray(functionArgs)); + } + + if (__is_63.element(value)) { + value = (0, _$domUtils_51.getElementRect)(value); + } + + return value; +} + +function rectToXY(rect) { + return rect && { + x: 'x' in rect ? rect.x : rect.left, + y: 'y' in rect ? rect.y : rect.top + }; +} + +function xywhToTlbr(rect) { + if (rect && !('left' in rect && 'top' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.left = rect.x || 0; + rect.top = rect.y || 0; + rect.right = rect.right || rect.left + rect.width; + rect.bottom = rect.bottom || rect.top + rect.height; + } + + return rect; +} + +function tlbrToXywh(rect) { + if (rect && !('x' in rect && 'y' in rect)) { + rect = (0, _extend["default"])({}, rect); + rect.x = rect.left || 0; + rect.y = rect.top || 0; + rect.width = rect.width || rect.right - rect.x; + rect.height = rect.height || rect.bottom - rect.y; + } + + return rect; +} + +var ___default_63 = { + getStringOptionResult: getStringOptionResult, + resolveRectLike: resolveRectLike, + rectToXY: rectToXY, + xywhToTlbr: xywhToTlbr, + tlbrToXywh: tlbrToXywh +}; +_$rect_63["default"] = ___default_63; + +var _$getOriginXY_54 = {}; +"use strict"; + +Object.defineProperty(_$getOriginXY_54, "__esModule", { + value: true +}); +_$getOriginXY_54["default"] = ___default_54; + +/* removed: var _$rect_63 = require("./rect"); */; + +function ___default_54(target, element, action) { + var actionOptions = target.options[action]; + var actionOrigin = actionOptions && actionOptions.origin; + var origin = actionOrigin || target.options.origin; + var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]); + return (0, _$rect_63.rectToXY)(originRect) || { + x: 0, + y: 0 + }; +} + +var _$normalizeListeners_59 = {}; +"use strict"; + +Object.defineProperty(_$normalizeListeners_59, "__esModule", { + value: true +}); +_$normalizeListeners_59["default"] = normalize; + +var ___extend_59 = ___interopRequireDefault_59(_$extend_53); + +var __is_59 = ___interopRequireWildcard_59(_$is_57); + +function ___getRequireWildcardCache_59() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function normalize(type, listeners, result) { + result = result || {}; + + if (__is_59.string(type) && type.search(' ') !== -1) { + type = split(type); + } + + if (__is_59.array(type)) { + return type.reduce(function (acc, t) { + return (0, ___extend_59["default"])(acc, normalize(t, listeners, result)); + }, result); + } // ({ type: fn }) -> ('', { type: fn }) + + + if (__is_59.object(type)) { + listeners = type; + type = ''; + } + + if (__is_59.func(listeners)) { + result[type] = result[type] || []; + result[type].push(listeners); + } else if (__is_59.array(listeners)) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var l = _ref; + normalize(type, l, result); + } + } else if (__is_59.object(listeners)) { + for (var prefix in listeners) { + var combinedTypes = split(prefix).map(function (p) { + return "".concat(type).concat(p); + }); + normalize(combinedTypes, listeners[prefix], result); + } + } + + return result; +} + +function split(type) { + return type.trim().split(/ +/); +} + +var _$raf_62 = {}; +"use strict"; + +Object.defineProperty(_$raf_62, "__esModule", { + value: true +}); +_$raf_62["default"] = void 0; +var lastTime = 0; + +var _request; + +var _cancel; + +function __init_62(window) { + _request = window.requestAnimationFrame; + _cancel = window.cancelAnimationFrame; + + if (!_request) { + var vendors = ['ms', 'moz', 'webkit', 'o']; + + for (var _i = 0; _i < vendors.length; _i++) { + var vendor = vendors[_i]; + _request = window["".concat(vendor, "RequestAnimationFrame")]; + _cancel = window["".concat(vendor, "CancelAnimationFrame")] || window["".concat(vendor, "CancelRequestAnimationFrame")]; + } + } + + if (!_request) { + _request = function request(callback) { + var currTime = Date.now(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal + + var token = setTimeout(function () { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return token; + }; + + _cancel = function cancel(token) { + return clearTimeout(token); + }; + } +} + +var ___default_62 = { + request: function request(callback) { + return _request(callback); + }, + cancel: function cancel(token) { + return _cancel(token); + }, + init: __init_62 +}; +_$raf_62["default"] = ___default_62; + +var _$Signals_46 = {}; +"use strict"; + +Object.defineProperty(_$Signals_46, "__esModule", { + value: true +}); +_$Signals_46["default"] = void 0; + +function ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; } + +var Signals = +/*#__PURE__*/ +function () { + function Signals() { + ___classCallCheck_46(this, Signals); + + this.listeners = {}; + } + + ___createClass_46(Signals, [{ + key: "on", + value: function on(name, listener) { + if (!this.listeners[name]) { + this.listeners[name] = [listener]; + return; + } + + this.listeners[name].push(listener); + } + }, { + key: "off", + value: function off(name, listener) { + if (!this.listeners[name]) { + return; + } + + var index = this.listeners[name].indexOf(listener); + + if (index !== -1) { + this.listeners[name].splice(index, 1); + } + } + }, { + key: "fire", + value: function fire(name, arg) { + var targetListeners = this.listeners[name]; + + if (!targetListeners) { + return; + } + + for (var _i = 0; _i < targetListeners.length; _i++) { + var _ref; + + _ref = targetListeners[_i]; + var listener = _ref; + + if (listener(arg, name) === false) { + return false; + } + } + } + }]); + + return Signals; +}(); + +var ___default_46 = Signals; +_$Signals_46["default"] = ___default_46; + +var _$utils_56 = {}; +"use strict"; + +Object.defineProperty(_$utils_56, "__esModule", { + value: true +}); +_$utils_56.warnOnce = warnOnce; +_$utils_56._getQBezierValue = _getQBezierValue; +_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint; +_$utils_56.easeOutQuad = easeOutQuad; +_$utils_56.copyAction = copyAction; +Object.defineProperty(_$utils_56, "win", { + enumerable: true, + get: function get() { + return ___window_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "browser", { + enumerable: true, + get: function get() { + return ___browser_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "clone", { + enumerable: true, + get: function get() { + return _clone["default"]; + } +}); +Object.defineProperty(_$utils_56, "events", { + enumerable: true, + get: function get() { + return _events["default"]; + } +}); +Object.defineProperty(_$utils_56, "extend", { + enumerable: true, + get: function get() { + return ___extend_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "getOriginXY", { + enumerable: true, + get: function get() { + return _getOriginXY["default"]; + } +}); +Object.defineProperty(_$utils_56, "hypot", { + enumerable: true, + get: function get() { + return ___hypot_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "normalizeListeners", { + enumerable: true, + get: function get() { + return _normalizeListeners["default"]; + } +}); +Object.defineProperty(_$utils_56, "pointer", { + enumerable: true, + get: function get() { + return ___pointerUtils_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "raf", { + enumerable: true, + get: function get() { + return _raf["default"]; + } +}); +Object.defineProperty(_$utils_56, "rect", { + enumerable: true, + get: function get() { + return ___rect_56["default"]; + } +}); +Object.defineProperty(_$utils_56, "Signals", { + enumerable: true, + get: function get() { + return _Signals["default"]; + } +}); +_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0; + +var __arr_56 = ___interopRequireWildcard_56(_$arr_47); + +_$utils_56.arr = __arr_56; + +var dom = ___interopRequireWildcard_56(_$domUtils_51); + +_$utils_56.dom = dom; + +var __is_56 = ___interopRequireWildcard_56(_$is_57); + +_$utils_56.is = __is_56; + +var ___window_56 = ___interopRequireDefault_56(_$window_66); + +var ___browser_56 = ___interopRequireDefault_56(_$browser_48); + +var _clone = ___interopRequireDefault_56(_$clone_49); + +var _events = ___interopRequireDefault_56(_$events_52); + +var ___extend_56 = ___interopRequireDefault_56(_$extend_53); + +var _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54); + +var ___hypot_56 = ___interopRequireDefault_56(_$hypot_55); + +var _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59); + +var ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61); + +var _raf = ___interopRequireDefault_56(_$raf_62); + +var ___rect_56 = ___interopRequireDefault_56(_$rect_63); + +var _Signals = ___interopRequireDefault_56(_$Signals_46); + +function ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_56() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function warnOnce(method, message) { + var warned = false; // eslint-disable-next-line no-shadow + + return function () { + if (!warned) { + ___window_56["default"].window.console.warn(message); + + warned = true; + } + + return method.apply(this, arguments); + }; +} // http://stackoverflow.com/a/5634528/2280888 + + +function _getQBezierValue(t, p1, p2, p3) { + var iT = 1 - t; + return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; +} + +function getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) { + return { + x: _getQBezierValue(position, startX, cpX, endX), + y: _getQBezierValue(position, startY, cpY, endY) + }; +} // http://gizma.com/easing/ + + +function easeOutQuad(t, b, c, d) { + t /= d; + return -c * t * (t - 2) + b; +} + +function copyAction(dest, src) { + dest.name = src.name; + dest.axis = src.axis; + dest.edges = src.edges; + return dest; +} + +var _$defaultOptions_20 = {}; +"use strict"; + +Object.defineProperty(_$defaultOptions_20, "__esModule", { + value: true +}); +_$defaultOptions_20["default"] = _$defaultOptions_20.defaults = void 0; +// tslint:disable no-empty-interface +var defaults = { + base: { + preventDefault: 'auto', + deltaSource: 'page' + }, + perAction: { + enabled: false, + origin: { + x: 0, + y: 0 + } + }, + actions: {} +}; +_$defaultOptions_20.defaults = defaults; +var ___default_20 = defaults; +_$defaultOptions_20["default"] = ___default_20; + +var _$Eventable_14 = {}; +"use strict"; + +Object.defineProperty(_$Eventable_14, "__esModule", { + value: true +}); +_$Eventable_14["default"] = void 0; + +var __arr_14 = ___interopRequireWildcard_14(_$arr_47); + +var ___extend_14 = ___interopRequireDefault_14(_$extend_53); + +var ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59); + +function ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_14() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; } + +function fireUntilImmediateStopped(event, listeners) { + for (var _i = 0; _i < listeners.length; _i++) { + var _ref; + + _ref = listeners[_i]; + var listener = _ref; + + if (event.immediatePropagationStopped) { + break; + } + + listener(event); + } +} + +var Eventable = +/*#__PURE__*/ +function () { + function Eventable(options) { + ___classCallCheck_14(this, Eventable); + + this.types = {}; + this.propagationStopped = false; + this.immediatePropagationStopped = false; + this.options = (0, ___extend_14["default"])({}, options || {}); + } + + ___createClass_14(Eventable, [{ + key: "fire", + value: function fire(event) { + var listeners; + var global = this.global; // Interactable#on() listeners + // tslint:disable no-conditional-assignment + + if (listeners = this.types[event.type]) { + fireUntilImmediateStopped(event, listeners); + } // interact.on() listeners + + + if (!event.propagationStopped && global && (listeners = global[event.type])) { + fireUntilImmediateStopped(event, listeners); + } + } + }, { + key: "on", + value: function on(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]); + } + } + }, { + key: "off", + value: function off(type, listener) { + var listeners = (0, ___normalizeListeners_14["default"])(type, listener); + + for (type in listeners) { + var eventList = this.types[type]; + + if (!eventList || !eventList.length) { + continue; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var subListener = _ref2; + var index = eventList.indexOf(subListener); + + if (index !== -1) { + eventList.splice(index, 1); + } + } + } + } + }, { + key: "getRect", + value: function getRect(_element) { + return null; + } + }]); + + return Eventable; +}(); + +var ___default_14 = Eventable; +_$Eventable_14["default"] = ___default_14; + +var _$Interactable_16 = {}; +"use strict"; + +Object.defineProperty(_$Interactable_16, "__esModule", { + value: true +}); +_$Interactable_16["default"] = _$Interactable_16.Interactable = void 0; + +var __arr_16 = ___interopRequireWildcard_16(_$arr_47); + +var ___browser_16 = ___interopRequireDefault_16(_$browser_48); + +var ___clone_16 = ___interopRequireDefault_16(_$clone_49); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_16 = ___interopRequireDefault_16(_$events_52); + +var ___extend_16 = ___interopRequireDefault_16(_$extend_53); + +var __is_16 = ___interopRequireWildcard_16(_$is_57); + +var ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +var _Eventable = ___interopRequireDefault_16(_$Eventable_14); + +function ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_16() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; } + +/** */ +var Interactable = +/*#__PURE__*/ +function () { + /** */ + function Interactable(target, options, defaultContext) { + ___classCallCheck_16(this, Interactable); + + this.events = new _Eventable["default"](); + this._actions = options.actions; + this.target = target; + this._context = options.context || defaultContext; + this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target); + this._doc = this._win.document; + this.set(options); + } + + ___createClass_16(Interactable, [{ + key: "setOnEvents", + value: function setOnEvents(actionName, phases) { + if (__is_16.func(phases.onstart)) { + this.on("".concat(actionName, "start"), phases.onstart); + } + + if (__is_16.func(phases.onmove)) { + this.on("".concat(actionName, "move"), phases.onmove); + } + + if (__is_16.func(phases.onend)) { + this.on("".concat(actionName, "end"), phases.onend); + } + + if (__is_16.func(phases.oninertiastart)) { + this.on("".concat(actionName, "inertiastart"), phases.oninertiastart); + } + + return this; + } + }, { + key: "updatePerActionListeners", + value: function updatePerActionListeners(actionName, prev, cur) { + if (__is_16.array(prev) || __is_16.object(prev)) { + this.off(actionName, prev); + } + + if (__is_16.array(cur) || __is_16.object(cur)) { + this.on(actionName, cur); + } + } + }, { + key: "setPerAction", + value: function setPerAction(actionName, options) { + var defaults = this._defaults; // for all the default per-action options + + for (var optionName in options) { + var actionOptions = this.options[actionName]; + var optionValue = options[optionName]; + var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones + + if (optionName === 'listeners') { + this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue); + } // if the option value is an array + + + if (isArray) { + actionOptions[optionName] = __arr_16.from(optionValue); + } // if the option value is an object + else if (!isArray && __is_16.plainObject(optionValue)) { + // copy the object + actionOptions[optionName] = (0, ___extend_16["default"])(actionOptions[optionName] || {}, (0, ___clone_16["default"])(optionValue)); // set anabled field to true if it exists in the defaults + + if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) { + actionOptions[optionName].enabled = optionValue.enabled !== false; + } + } // if the option value is a boolean and the default is an object + else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) { + actionOptions[optionName].enabled = optionValue; + } // if it's anything else, do a plain assignment + else { + actionOptions[optionName] = optionValue; + } + } + } + /** + * The default function to get an Interactables bounding rect. Can be + * overridden using {@link Interactable.rectChecker}. + * + * @param {Element} [element] The element to measure. + * @return {object} The object's bounding rectangle. + */ + + }, { + key: "getRect", + value: function getRect(element) { + element = element || (__is_16.element(this.target) ? this.target : null); + + if (__is_16.string(this.target)) { + element = element || this._context.querySelector(this.target); + } + + return (0, _$domUtils_51.getElementRect)(element); + } + /** + * Returns or sets the function used to calculate the interactable's + * element's rectangle + * + * @param {function} [checker] A function which returns this Interactable's + * bounding rectangle. See {@link Interactable.getRect} + * @return {function | object} The checker function or this Interactable + */ + + }, { + key: "rectChecker", + value: function rectChecker(checker) { + if (__is_16.func(checker)) { + this.getRect = checker; + return this; + } + + if (checker === null) { + delete this.getRect; + return this; + } + + return this.getRect; + } + }, { + key: "_backCompatOption", + value: function _backCompatOption(optionName, newValue) { + if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) { + this.options[optionName] = newValue; + + for (var _i = 0; _i < this._actions.names.length; _i++) { + var _ref; + + _ref = this._actions.names[_i]; + var action = _ref; + this.options[action][optionName] = newValue; + } + + return this; + } + + return this.options[optionName]; + } + /** + * Gets or sets the origin of the Interactable's element. The x and y + * of the origin will be subtracted from action event coordinates. + * + * @param {Element | object | string} [origin] An HTML or SVG Element whose + * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self' + * or any CSS selector + * + * @return {object} The current origin or this Interactable + */ + + }, { + key: "origin", + value: function origin(newValue) { + return this._backCompatOption('origin', newValue); + } + /** + * Returns or sets the mouse coordinate types used to calculate the + * movement of the pointer. + * + * @param {string} [newValue] Use 'client' if you will be scrolling while + * interacting; Use 'page' if you want autoScroll to work + * @return {string | object} The current deltaSource or this Interactable + */ + + }, { + key: "deltaSource", + value: function deltaSource(newValue) { + if (newValue === 'page' || newValue === 'client') { + this.options.deltaSource = newValue; + return this; + } + + return this.options.deltaSource; + } + /** + * Gets the selector context Node of the Interactable. The default is + * `window.document`. + * + * @return {Node} The context Node of this Interactable + */ + + }, { + key: "context", + value: function context() { + return this._context; + } + }, { + key: "inContext", + value: function inContext(element) { + return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element); + } + }, { + key: "testIgnoreAllow", + value: function testIgnoreAllow(options, targetNode, eventTarget) { + return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget); + } + }, { + key: "testAllow", + value: function testAllow(allowFrom, targetNode, element) { + if (!allowFrom) { + return true; + } + + if (!__is_16.element(element)) { + return false; + } + + if (__is_16.string(allowFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode); + } else if (__is_16.element(allowFrom)) { + return (0, _$domUtils_51.nodeContains)(allowFrom, element); + } + + return false; + } + }, { + key: "testIgnore", + value: function testIgnore(ignoreFrom, targetNode, element) { + if (!ignoreFrom || !__is_16.element(element)) { + return false; + } + + if (__is_16.string(ignoreFrom)) { + return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode); + } else if (__is_16.element(ignoreFrom)) { + return (0, _$domUtils_51.nodeContains)(ignoreFrom, element); + } + + return false; + } + /** + * Calls listeners for the given InteractEvent type bound globally + * and directly to this Interactable + * + * @param {InteractEvent} iEvent The InteractEvent object to be fired on this + * Interactable + * @return {Interactable} this Interactable + */ + + }, { + key: "fire", + value: function fire(iEvent) { + this.events.fire(iEvent); + return this; + } + }, { + key: "_onOff", + value: function _onOff(method, typeArg, listenerArg, options) { + if (__is_16.object(typeArg) && !__is_16.array(typeArg)) { + options = listenerArg; + listenerArg = null; + } + + var addRemove = method === 'on' ? 'add' : 'remove'; + var listeners = (0, ___normalizeListeners_16["default"])(typeArg, listenerArg); + + for (var type in listeners) { + if (type === 'wheel') { + type = ___browser_16["default"].wheelEvent; + } + + for (var _i2 = 0; _i2 < listeners[type].length; _i2++) { + var _ref2; + + _ref2 = listeners[type][_i2]; + var listener = _ref2; + + // if it is an action event type + if (__arr_16.contains(this._actions.eventTypes, type)) { + this.events[method](type, listener); + } // delegated event + else if (__is_16.string(this.target)) { + ___events_16["default"]["".concat(addRemove, "Delegate")](this.target, this._context, type, listener, options); + } // remove listener from this Interactable's element + else { + ___events_16["default"][addRemove](this.target, type, listener, options); + } + } + } + + return this; + } + /** + * Binds a listener for an InteractEvent, pointerEvent or DOM event. + * + * @param {string | array | object} types The types of events to listen + * for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * addEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "on", + value: function on(types, listener, options) { + return this._onOff('on', types, listener, options); + } + /** + * Removes an InteractEvent, pointerEvent or DOM event listener. + * + * @param {string | array | object} types The types of events that were + * listened for + * @param {function | array | object} [listener] The event listener function(s) + * @param {object | boolean} [options] options object or useCapture flag for + * removeEventListener + * @return {Interactable} This Interactable + */ + + }, { + key: "off", + value: function off(types, listener, options) { + return this._onOff('off', types, listener, options); + } + /** + * Reset the options of this Interactable + * + * @param {object} options The new settings to apply + * @return {object} This Interactable + */ + + }, { + key: "set", + value: function set(options) { + var defaults = this._defaults; + + if (!__is_16.object(options)) { + options = {}; + } + + this.options = (0, ___clone_16["default"])(defaults.base); + + for (var actionName in this._actions.methodDict) { + var methodName = this._actions.methodDict[actionName]; + this.options[actionName] = {}; + this.setPerAction(actionName, (0, ___extend_16["default"])((0, ___extend_16["default"])({}, defaults.perAction), defaults.actions[actionName])); + this[methodName](options[actionName]); + } + + for (var setting in options) { + if (__is_16.func(this[setting])) { + this[setting](options[setting]); + } + } + + return this; + } + /** + * Remove this interactable from the list of interactables and remove it's + * action capabilities and event listeners + * + * @return {interact} + */ + + }, { + key: "unset", + value: function unset() { + ___events_16["default"].remove(this.target, 'all'); + + if (__is_16.string(this.target)) { + // remove delegated events + for (var type in ___events_16["default"].delegatedEvents) { + var delegated = ___events_16["default"].delegatedEvents[type]; + + if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) { + delegated.selectors.splice(0, 1); + delegated.contexts.splice(0, 1); + delegated.listeners.splice(0, 1); // remove the arrays if they are empty + + if (!delegated.selectors.length) { + delegated[type] = null; + } + } + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateListener); + + ___events_16["default"].remove(this._context, type, ___events_16["default"].delegateUseCapture, true); + } + } else { + ___events_16["default"].remove(this.target, 'all'); + } + } + }, { + key: "_defaults", + get: function get() { + return { + base: {}, + perAction: {}, + actions: {} + }; + } + }]); + + return Interactable; +}(); + +_$Interactable_16.Interactable = Interactable; +var ___default_16 = Interactable; +_$Interactable_16["default"] = ___default_16; + +var _$InteractableSet_17 = {}; +"use strict"; + +Object.defineProperty(_$InteractableSet_17, "__esModule", { + value: true +}); +_$InteractableSet_17["default"] = void 0; + +var __arr_17 = ___interopRequireWildcard_17(_$arr_47); + +var __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51); + +var ___extend_17 = ___interopRequireDefault_17(_$extend_53); + +var __is_17 = ___interopRequireWildcard_17(_$is_57); + +var ___Signals_17 = ___interopRequireDefault_17(_$Signals_46); + +function ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_17() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; } + +var InteractableSet = +/*#__PURE__*/ +function () { + function InteractableSet(scope) { + var _this = this; + + ___classCallCheck_17(this, InteractableSet); + + this.scope = scope; + this.signals = new ___Signals_17["default"](); // all set interactables + + this.list = []; + this.selectorMap = {}; + this.signals.on('unset', function (_ref) { + var interactable = _ref.interactable; + var target = interactable.target, + context = interactable._context; + var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id]; + var targetIndex = targetMappings.findIndex(function (m) { + return m.context === context; + }); + + if (targetMappings[targetIndex]) { + // Destroying mappingInfo's context and interactable + targetMappings[targetIndex].context = null; + targetMappings[targetIndex].interactable = null; + } + + targetMappings.splice(targetIndex, 1); + }); + } + + ___createClass_17(InteractableSet, [{ + key: "new", + value: function _new(target, options) { + options = (0, ___extend_17["default"])(options || {}, { + actions: this.scope.actions + }); + var interactable = new this.scope.Interactable(target, options, this.scope.document); + var mappingInfo = { + context: interactable._context, + interactable: interactable + }; + this.scope.addDocument(interactable._doc); + this.list.push(interactable); + + if (__is_17.string(target)) { + if (!this.selectorMap[target]) { + this.selectorMap[target] = []; + } + + this.selectorMap[target].push(mappingInfo); + } else { + if (!interactable.target[this.scope.id]) { + Object.defineProperty(target, this.scope.id, { + value: [], + configurable: true + }); + } + + target[this.scope.id].push(mappingInfo); + } + + this.signals.fire('new', { + target: target, + options: options, + interactable: interactable, + win: this.scope._win + }); + return interactable; + } + }, { + key: "get", + value: function get(target, options) { + var context = options && options.context || this.scope.document; + var isSelector = __is_17.string(target); + var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id]; + + if (!targetMappings) { + return null; + } + + var found = __arr_17.find(targetMappings, function (m) { + return m.context === context && (isSelector || m.interactable.inContext(target)); + }); + return found && found.interactable; + } + }, { + key: "forEachMatch", + value: function forEachMatch(node, callback) { + for (var _i = 0; _i < this.list.length; _i++) { + var _ref2; + + _ref2 = this.list[_i]; + var interactable = _ref2; + var ret = void 0; + + if ((__is_17.string(interactable.target) // target is a selector and the element matches + ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element + node === interactable.target) && // the element is in context + interactable.inContext(node)) { + ret = callback(interactable); + } + + if (ret !== undefined) { + return ret; + } + } + } + }]); + + return InteractableSet; +}(); + +_$InteractableSet_17["default"] = InteractableSet; + +var _$BaseEvent_13 = {}; +"use strict"; + +Object.defineProperty(_$BaseEvent_13, "__esModule", { + value: true +}); +_$BaseEvent_13["default"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0; + +function ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; } + +var EventPhase; +_$BaseEvent_13.EventPhase = EventPhase; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {})); + +var BaseEvent = +/*#__PURE__*/ +function () { + function BaseEvent(interaction) { + ___classCallCheck_13(this, BaseEvent); + + this.immediatePropagationStopped = false; + this.propagationStopped = false; + this._interaction = interaction; + } + + ___createClass_13(BaseEvent, [{ + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }, { + key: "interaction", + get: function get() { + return this._interaction._proxy; + } + }]); + + return BaseEvent; +}(); + +_$BaseEvent_13.BaseEvent = BaseEvent; +var ___default_13 = BaseEvent; +_$BaseEvent_13["default"] = ___default_13; + +var _$InteractEvent_15 = {}; +"use strict"; + +Object.defineProperty(_$InteractEvent_15, "__esModule", { + value: true +}); +_$InteractEvent_15["default"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0; + +var ___extend_15 = ___interopRequireDefault_15(_$extend_53); + +var ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54); + +var ___hypot_15 = ___interopRequireDefault_15(_$hypot_55); + +var _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13); + +var _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20); + +function ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___typeof_15(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_15(obj); } + +function ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +var __EventPhase_15; +_$InteractEvent_15.EventPhase = __EventPhase_15; + +(function (EventPhase) { + EventPhase["Start"] = "start"; + EventPhase["Move"] = "move"; + EventPhase["End"] = "end"; + EventPhase["_NONE"] = ""; +})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {})); + +var InteractEvent = +/*#__PURE__*/ +function (_BaseEvent) { + _inherits(InteractEvent, _BaseEvent); + + /** */ + function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) { + var _this; + + ___classCallCheck_15(this, InteractEvent); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction)); + element = element || interaction.element; + var target = interaction.interactable; + var deltaSource = (target && target.options || _defaultOptions["default"]).deltaSource; + var origin = (0, ___getOriginXY_15["default"])(target, element, actionName); + var starting = phase === 'start'; + var ending = phase === 'end'; + var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent; + var coords = starting ? interaction.coords.start : ending ? { + page: prevEvent.page, + client: prevEvent.client, + timeStamp: interaction.coords.cur.timeStamp + } : interaction.coords.cur; + _this.page = (0, ___extend_15["default"])({}, coords.page); + _this.client = (0, ___extend_15["default"])({}, coords.client); + _this.rect = (0, ___extend_15["default"])({}, interaction.rect); + _this.timeStamp = coords.timeStamp; + + if (!ending) { + _this.page.x -= origin.x; + _this.page.y -= origin.y; + _this.client.x -= origin.x; + _this.client.y -= origin.y; + } + + _this.ctrlKey = event.ctrlKey; + _this.altKey = event.altKey; + _this.shiftKey = event.shiftKey; + _this.metaKey = event.metaKey; + _this.button = event.button; + _this.buttons = event.buttons; + _this.target = element; + _this.currentTarget = element; + _this.relatedTarget = related || null; + _this.preEnd = preEnd; + _this.type = type || actionName + (phase || ''); + _this.interactable = target; + _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0; + _this.x0 = interaction.coords.start.page.x - origin.x; + _this.y0 = interaction.coords.start.page.y - origin.y; + _this.clientX0 = interaction.coords.start.client.x - origin.x; + _this.clientY0 = interaction.coords.start.client.y - origin.y; + + if (starting || ending) { + _this.delta = { + x: 0, + y: 0 + }; + } else { + _this.delta = { + x: _this[deltaSource].x - prevEvent[deltaSource].x, + y: _this[deltaSource].y - prevEvent[deltaSource].y + }; + } + + _this.dt = interaction.coords.delta.timeStamp; + _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second + + _this.velocity = (0, ___extend_15["default"])({}, interaction.coords.velocity[deltaSource]); + _this.speed = (0, ___hypot_15["default"])(_this.velocity.x, _this.velocity.y); + _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null; + return _this; + } + + ___createClass_15(InteractEvent, [{ + key: "getSwipe", + value: function getSwipe() { + var interaction = this._interaction; + + if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) { + return null; + } + + var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI; + var overlap = 22.5; + + if (angle < 0) { + angle += 360; + } + + var left = 135 - overlap <= angle && angle < 225 + overlap; + var up = 225 - overlap <= angle && angle < 315 + overlap; + var right = !left && (315 - overlap <= angle || angle < 45 + overlap); + var down = !up && 45 - overlap <= angle && angle < 135 + overlap; + return { + up: up, + down: down, + left: left, + right: right, + angle: angle, + speed: interaction.prevEvent.speed, + velocity: { + x: interaction.prevEvent.velocityX, + y: interaction.prevEvent.velocityY + } + }; + } + }, { + key: "preventDefault", + value: function preventDefault() {} + /** + * Don't call listeners on the remaining targets + */ + + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + /** + * Don't call any other listeners (even on the current target) + */ + + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "pageX", + get: function get() { + return this.page.x; + }, + set: function set(value) { + this.page.x = value; + } + }, { + key: "pageY", + get: function get() { + return this.page.y; + }, + set: function set(value) { + this.page.y = value; + } + }, { + key: "clientX", + get: function get() { + return this.client.x; + }, + set: function set(value) { + this.client.x = value; + } + }, { + key: "clientY", + get: function get() { + return this.client.y; + }, + set: function set(value) { + this.client.y = value; + } + }, { + key: "dx", + get: function get() { + return this.delta.x; + }, + set: function set(value) { + this.delta.x = value; + } + }, { + key: "dy", + get: function get() { + return this.delta.y; + }, + set: function set(value) { + this.delta.y = value; + } + }, { + key: "velocityX", + get: function get() { + return this.velocity.x; + }, + set: function set(value) { + this.velocity.x = value; + } + }, { + key: "velocityY", + get: function get() { + return this.velocity.y; + }, + set: function set(value) { + this.velocity.y = value; + } + }]); + + return InteractEvent; +}(_BaseEvent2["default"]); + +_$InteractEvent_15.InteractEvent = InteractEvent; +var ___default_15 = InteractEvent; +_$InteractEvent_15["default"] = ___default_15; + +var _$PointerInfo_19 = {}; +"use strict"; + +Object.defineProperty(_$PointerInfo_19, "__esModule", { + value: true +}); +_$PointerInfo_19["default"] = _$PointerInfo_19.PointerInfo = void 0; + +function ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/* eslint-disable @typescript-eslint/no-parameter-properties */ +var PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) { + ___classCallCheck_19(this, PointerInfo); + + this.id = id; + this.pointer = pointer; + this.event = event; + this.downTime = downTime; + this.downTarget = downTarget; +}; + +_$PointerInfo_19.PointerInfo = PointerInfo; +var ___default_19 = PointerInfo; +_$PointerInfo_19["default"] = ___default_19; + +var _$interactionFinder_22 = {}; +"use strict"; + +Object.defineProperty(_$interactionFinder_22, "__esModule", { + value: true +}); +_$interactionFinder_22["default"] = void 0; + +var __dom_22 = ___interopRequireWildcard_22(_$domUtils_51); + +function ___getRequireWildcardCache_22() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +var finder = { + methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'], + search: function search(details) { + for (var _i = 0; _i < finder.methodOrder.length; _i++) { + var _ref; + + _ref = finder.methodOrder[_i]; + var method = _ref; + var interaction = finder[method](details); + + if (interaction) { + return interaction; + } + } + }, + // try to resume simulation with a new pointer + simulationResume: function simulationResume(_ref2) { + var pointerType = _ref2.pointerType, + eventType = _ref2.eventType, + eventTarget = _ref2.eventTarget, + scope = _ref2.scope; + + if (!/down|start/i.test(eventType)) { + return null; + } + + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref3; + + _ref3 = scope.interactions.list[_i2]; + var interaction = _ref3; + var element = eventTarget; + + if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) { + while (element) { + // if the element is the interaction element + if (element === interaction.element) { + return interaction; + } + + element = __dom_22.parentNode(element); + } + } + } + + return null; + }, + // if it's a mouse or pen interaction + mouseOrPen: function mouseOrPen(_ref4) { + var pointerId = _ref4.pointerId, + pointerType = _ref4.pointerType, + eventType = _ref4.eventType, + scope = _ref4.scope; + + if (pointerType !== 'mouse' && pointerType !== 'pen') { + return null; + } + + var firstNonActive; + + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref5; + + _ref5 = scope.interactions.list[_i3]; + var interaction = _ref5; + + if (interaction.pointerType === pointerType) { + // if it's a down event, skip interactions with running simulations + if (interaction.simulation && !hasPointerId(interaction, pointerId)) { + continue; + } // if the interaction is active, return it immediately + + + if (interaction.interacting()) { + return interaction; + } // otherwise save it and look for another active interaction + else if (!firstNonActive) { + firstNonActive = interaction; + } + } + } // if no active mouse interaction was found use the first inactive mouse + // interaction + + + if (firstNonActive) { + return firstNonActive; + } // find any mouse or pen interaction. + // ignore the interaction if the eventType is a *down, and a simulation + // is active + + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref6; + + _ref6 = scope.interactions.list[_i4]; + var _interaction = _ref6; + + if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) { + return _interaction; + } + } + + return null; + }, + // get interaction that has this pointer + hasPointer: function hasPointer(_ref7) { + var pointerId = _ref7.pointerId, + scope = _ref7.scope; + + for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) { + var _ref8; + + _ref8 = scope.interactions.list[_i5]; + var interaction = _ref8; + + if (hasPointerId(interaction, pointerId)) { + return interaction; + } + } + + return null; + }, + // get first idle interaction with a matching pointerType + idle: function idle(_ref9) { + var pointerType = _ref9.pointerType, + scope = _ref9.scope; + + for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) { + var _ref10; + + _ref10 = scope.interactions.list[_i6]; + var interaction = _ref10; + + // if there's already a pointer held down + if (interaction.pointers.length === 1) { + var target = interaction.interactable; // don't add this pointer if there is a target interactable and it + // isn't gesturable + + if (target && !(target.options.gesture && target.options.gesture.enabled)) { + continue; + } + } // maximum of 2 pointers per interaction + else if (interaction.pointers.length >= 2) { + continue; + } + + if (!interaction.interacting() && pointerType === interaction.pointerType) { + return interaction; + } + } + + return null; + } +}; + +function hasPointerId(interaction, pointerId) { + return interaction.pointers.some(function (_ref11) { + var id = _ref11.id; + return id === pointerId; + }); +} + +var ___default_22 = finder; +_$interactionFinder_22["default"] = ___default_22; + +var _$drag_1 = {}; +"use strict"; + +Object.defineProperty(_$drag_1, "__esModule", { + value: true +}); +_$drag_1["default"] = void 0; + +var ___scope_1 = _$scope_24({}); + +var __arr_1 = ___interopRequireWildcard_1(_$arr_47); + +var __is_1 = ___interopRequireWildcard_1(_$is_57); + +function ___getRequireWildcardCache_1() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +___scope_1.ActionName.Drag = 'drag'; + +function __install_1(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('before-action-move', beforeMove); + interactions.signals.on('action-resume', beforeMove); // dragmove + + interactions.signals.on('action-move', move); + Interactable.prototype.draggable = drag.draggable; + actions[___scope_1.ActionName.Drag] = drag; + actions.names.push(___scope_1.ActionName.Drag); + __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']); + actions.methodDict.drag = 'draggable'; + defaults.actions.drag = drag.defaults; +} + +function beforeMove(_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x') { + interaction.coords.cur.page.y = interaction.coords.start.page.y; + interaction.coords.cur.client.y = interaction.coords.start.client.y; + interaction.coords.velocity.client.y = 0; + interaction.coords.velocity.page.y = 0; + } else if (axis === 'y') { + interaction.coords.cur.page.x = interaction.coords.start.page.x; + interaction.coords.cur.client.x = interaction.coords.start.client.x; + interaction.coords.velocity.client.x = 0; + interaction.coords.velocity.page.x = 0; + } +} + +function move(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var axis = interaction.prepared.axis; + + if (axis === 'x' || axis === 'y') { + var opposite = axis === 'x' ? 'y' : 'x'; + iEvent.page[opposite] = interaction.coords.start.page[opposite]; + iEvent.client[opposite] = interaction.coords.start.client[opposite]; + iEvent.delta[opposite] = 0; + } +} +/** + * ```js + * interact(element).draggable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // the axis in which the first movement must be + * // for the drag sequence to start + * // 'xy' by default - any direction + * startAxis: 'x' || 'y' || 'xy', + * + * // 'xy' by default - don't restrict to one axis (move in any direction) + * // 'x' or 'y' to restrict movement to either axis + * // 'start' to restrict movement to the axis the drag started in + * lockAxis: 'x' || 'y' || 'xy' || 'start', + * + * // max number of drags that can happen concurrently + * // with elements of this Interactable. Infinity by default + * max: Infinity, + * + * // max number of drags that can target the same element+Interactable + * // 1 by default + * maxPerElement: 2 + * }) + * + * var isDraggable = interact('element').draggable(); // true + * ``` + * + * Get or set whether drag actions can be performed on the target + * + * @alias Interactable.prototype.draggable + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on drag events (object makes the Interactable + * draggable) + * @return {boolean | Interactable} boolean indicating if this can be the + * target of drag events, or this Interctable + */ + + +var draggable = function draggable(options) { + if (__is_1.object(options)) { + this.options.drag.enabled = options.enabled !== false; + this.setPerAction('drag', options); + this.setOnEvents('drag', options); + + if (/^(xy|x|y|start)$/.test(options.lockAxis)) { + this.options.drag.lockAxis = options.lockAxis; + } + + if (/^(xy|x|y)$/.test(options.startAxis)) { + this.options.drag.startAxis = options.startAxis; + } + + return this; + } + + if (__is_1.bool(options)) { + this.options.drag.enabled = options; + return this; + } + + return this.options.drag; +}; + +var drag = { + id: 'actions/drag', + install: __install_1, + draggable: draggable, + beforeMove: beforeMove, + move: move, + defaults: { + startAxis: 'xy', + lockAxis: 'xy' + }, + checker: function checker(_pointer, _event, interactable) { + var dragOptions = interactable.options.drag; + return dragOptions.enabled ? { + name: 'drag', + axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis + } : null; + }, + getCursor: function getCursor() { + return 'move'; + } +}; +var ___default_1 = drag; +_$drag_1["default"] = ___default_1; + +var _$DropEvent_2 = {}; +"use strict"; + +Object.defineProperty(_$DropEvent_2, "__esModule", { + value: true +}); +_$DropEvent_2["default"] = void 0; + +var ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13); + +var __arr_2 = ___interopRequireWildcard_2(_$arr_47); + +function ___getRequireWildcardCache_2() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___typeof_2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_2(obj); } + +function ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); } + +function ___nonIterableSpread_2() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_2(self); } + +function ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); } + +function ___inherits_2(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); } + +function ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); } + +var DropEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_2(DropEvent, _BaseEvent); + + /** + * Class of events fired on dropzones during drags with acceptable targets. + */ + function DropEvent(dropState, dragEvent, type) { + var _this; + + ___classCallCheck_2(this, DropEvent); + + _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction)); + _this.propagationStopped = false; + _this.immediatePropagationStopped = false; + + var _ref = type === 'dragleave' ? dropState.prev : dropState.cur, + element = _ref.element, + dropzone = _ref.dropzone; + + _this.type = type; + _this.target = element; + _this.currentTarget = element; + _this.dropzone = dropzone; + _this.dragEvent = dragEvent; + _this.relatedTarget = dragEvent.target; + _this.draggable = dragEvent.interactable; + _this.timeStamp = dragEvent.timeStamp; + return _this; + } + /** + * If this is a `dropactivate` event, the dropzone element will be + * deactivated. + * + * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the + * dropzone element and more. + */ + + + ___createClass_2(DropEvent, [{ + key: "reject", + value: function reject() { + var _this2 = this; + + var dropState = this._interaction.dropState; + + if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) { + return; + } + + dropState.prev.dropzone = this.dropzone; + dropState.prev.element = this.target; + dropState.rejected = true; + dropState.events.enter = null; + this.stopImmediatePropagation(); + + if (this.type === 'dropactivate') { + var activeDrops = dropState.activeDrops; + var index = __arr_2.findIndex(activeDrops, function (_ref2) { + var dropzone = _ref2.dropzone, + element = _ref2.element; + return dropzone === _this2.dropzone && element === _this2.target; + }); + dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1))); + var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate'); + deactivateEvent.dropzone = this.dropzone; + deactivateEvent.target = this.target; + this.dropzone.fire(deactivateEvent); + } else { + this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave')); + } + } + }, { + key: "preventDefault", + value: function preventDefault() {} + }, { + key: "stopPropagation", + value: function stopPropagation() { + this.propagationStopped = true; + } + }, { + key: "stopImmediatePropagation", + value: function stopImmediatePropagation() { + this.immediatePropagationStopped = this.propagationStopped = true; + } + }]); + + return DropEvent; +}(___BaseEvent2_2["default"]); + +var ___default_2 = DropEvent; +_$DropEvent_2["default"] = ___default_2; + +var _$drop_3 = {}; +"use strict"; + +Object.defineProperty(_$drop_3, "__esModule", { + value: true +}); +_$drop_3["default"] = void 0; + +var __utils_3 = ___interopRequireWildcard_3(_$utils_56); + +var _drag = ___interopRequireDefault_3(_$drag_1); + +var _DropEvent = ___interopRequireDefault_3(_$DropEvent_2); + +function ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_3() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_3(scope) { + var actions = scope.actions, + interact = scope.interact, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_drag["default"]); + interactions.signals.on('before-action-start', function (_ref) { + var interaction = _ref.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + interaction.dropState = { + cur: { + dropzone: null, + element: null + }, + prev: { + dropzone: null, + element: null + }, + rejected: null, + events: null, + activeDrops: null + }; + }); + interactions.signals.on('after-action-start', function (_ref2) { + var interaction = _ref2.interaction, + event = _ref2.event, + dragEvent = _ref2.iEvent; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; // reset active dropzones + + dropState.activeDrops = null; + dropState.events = null; + dropState.activeDrops = getActiveDrops(scope, interaction.element); + dropState.events = getDropEvents(interaction, event, dragEvent); + + if (dropState.events.activate) { + fireActivationEvents(dropState.activeDrops, dropState.events.activate); + } + }); // FIXME proper signal types + + interactions.signals.on('action-move', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('action-end', function (arg) { + return onEventCreated(arg, scope); + }); + interactions.signals.on('after-action-move', function (_ref3) { + var interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + interaction.dropState.events = {}; + }); + interactions.signals.on('after-action-end', function (_ref4) { + var interaction = _ref4.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + fireDropEvents(interaction, interaction.dropState.events); + }); + interactions.signals.on('stop', function (_ref5) { + var interaction = _ref5.interaction; + + if (interaction.prepared.name !== 'drag') { + return; + } + + var dropState = interaction.dropState; + + if (dropState) { + dropState.activeDrops = null; + dropState.events = null; + dropState.cur.dropzone = null; + dropState.cur.element = null; + dropState.prev.dropzone = null; + dropState.prev.element = null; + dropState.rejected = false; + } + }); + /** + * + * ```js + * interact('.drop').dropzone({ + * accept: '.can-drop' || document.getElementById('single-drop'), + * overlap: 'pointer' || 'center' || zeroToOne + * } + * ``` + * + * Returns or sets whether draggables can be dropped onto this target to + * trigger drop events + * + * Dropzones can receive the following events: + * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends + * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone + * - `dragmove` when a draggable that has entered the dropzone is moved + * - `drop` when a draggable is dropped into this dropzone + * + * Use the `accept` option to allow only elements that match the given CSS + * selector or element. The value can be: + * + * - **an Element** - only that element can be dropped into this dropzone. + * - **a string**, - the element being dragged must match it as a CSS selector. + * - **`null`** - accept options is cleared - it accepts any element. + * + * Use the `overlap` option to set how drops are checked for. The allowed + * values are: + * + * - `'pointer'`, the pointer must be over the dropzone (default) + * - `'center'`, the draggable element's center must be over the dropzone + * - a number from 0-1 which is the `(intersection area) / (draggable area)`. + * e.g. `0.5` for drop to happen when half of the area of the draggable is + * over the dropzone + * + * Use the `checker` option to specify a function to check if a dragged element + * is over this Interactable. + * + * @param {boolean | object | null} [options] The new options to be set. + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.dropzone = function (options) { + return dropzoneMethod(this, options); + }; + /** + * ```js + * interact(target) + * .dropChecker(function(dragEvent, // related dragmove or dragend event + * event, // TouchEvent/PointerEvent/MouseEvent + * dropped, // bool result of the default checker + * dropzone, // dropzone Interactable + * dropElement, // dropzone elemnt + * draggable, // draggable Interactable + * draggableElement) {// draggable element + * + * return dropped && event.target.hasAttribute('allow-drop') + * } + * ``` + */ + + + Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) { + return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect); + }; + /** + * Returns or sets whether the dimensions of dropzone elements are calculated + * on every dragmove or only on dragstart for the default dropChecker + * + * @param {boolean} [newValue] True to check on each move. False to check only + * before start + * @return {boolean | interact} The current setting or interact + */ + + + interact.dynamicDrop = function (newValue) { + if (__utils_3.is.bool(newValue)) { + // if (dragging && scope.dynamicDrop !== newValue && !newValue) { + // calcRects(dropzones) + // } + scope.dynamicDrop = newValue; + return interact; + } + + return scope.dynamicDrop; + }; + + __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']); + actions.methodDict.drop = 'dropzone'; + scope.dynamicDrop = false; + defaults.actions.drop = drop.defaults; +} + +function collectDrops(_ref6, draggableElement) { + var interactables = _ref6.interactables; + var drops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i = 0; _i < interactables.list.length; _i++) { + var _ref7; + + _ref7 = interactables.list[_i]; + var dropzone = _ref7; + + if (!dropzone.options.drop.enabled) { + continue; + } + + var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting + + if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({ + dropzone: dropzone, + draggableElement: draggableElement + })) { + continue; + } // query for new elements if necessary + + + var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target]; + + for (var _i2 = 0; _i2 < dropElements.length; _i2++) { + var _ref8; + + _ref8 = dropElements[_i2]; + var dropzoneElement = _ref8; + + if (dropzoneElement !== draggableElement) { + drops.push({ + dropzone: dropzone, + element: dropzoneElement + }); + } + } + } + + return drops; +} + +function fireActivationEvents(activeDrops, event) { + // loop through all active dropzones and trigger event + for (var _i3 = 0; _i3 < activeDrops.length; _i3++) { + var _ref9; + + _ref9 = activeDrops[_i3]; + var _ref10 = _ref9, + dropzone = _ref10.dropzone, + element = _ref10.element; + event.dropzone = dropzone; // set current element as event target + + event.target = element; + dropzone.fire(event); + event.propagationStopped = event.immediatePropagationStopped = false; + } +} // return a new array of possible drops. getActiveDrops should always be +// called when a drag has just started or a drag event happens while +// dynamicDrop is true + + +function getActiveDrops(scope, dragElement) { + // get dropzones and their elements that could receive the draggable + var activeDrops = collectDrops(scope, dragElement); + + for (var _i4 = 0; _i4 < activeDrops.length; _i4++) { + var _ref11; + + _ref11 = activeDrops[_i4]; + var activeDrop = _ref11; + activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element); + } + + return activeDrops; +} + +function getDrop(_ref12, dragEvent, pointerEvent) { + var dropState = _ref12.dropState, + draggable = _ref12.interactable, + dragElement = _ref12.element; + var validDrops = []; // collect all dropzones and their elements which qualify for a drop + + for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) { + var _ref13; + + _ref13 = dropState.activeDrops[_i5]; + var _ref14 = _ref13, + dropzone = _ref14.dropzone, + dropzoneElement = _ref14.element, + rect = _ref14.rect; + validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null); + } // get the most appropriate dropzone based on DOM depth and order + + + var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops); + return dropState.activeDrops[dropIndex] || null; +} + +function getDropEvents(interaction, _pointerEvent, dragEvent) { + var dropState = interaction.dropState; + var dropEvents = { + enter: null, + leave: null, + activate: null, + deactivate: null, + move: null, + drop: null + }; + + if (dragEvent.type === 'dragstart') { + dropEvents.activate = new _DropEvent["default"](dropState, dragEvent, 'dropactivate'); + dropEvents.activate.target = null; + dropEvents.activate.dropzone = null; + } + + if (dragEvent.type === 'dragend') { + dropEvents.deactivate = new _DropEvent["default"](dropState, dragEvent, 'dropdeactivate'); + dropEvents.deactivate.target = null; + dropEvents.deactivate.dropzone = null; + } + + if (dropState.rejected) { + return dropEvents; + } + + if (dropState.cur.element !== dropState.prev.element) { + // if there was a previous dropzone, create a dragleave event + if (dropState.prev.dropzone) { + dropEvents.leave = new _DropEvent["default"](dropState, dragEvent, 'dragleave'); + dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element; + dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone; + } // if dropzone is not null, create a dragenter event + + + if (dropState.cur.dropzone) { + dropEvents.enter = new _DropEvent["default"](dropState, dragEvent, 'dragenter'); + dragEvent.dragEnter = dropState.cur.element; + dragEvent.dropzone = dropState.cur.dropzone; + } + } + + if (dragEvent.type === 'dragend' && dropState.cur.dropzone) { + dropEvents.drop = new _DropEvent["default"](dropState, dragEvent, 'drop'); + dragEvent.dropzone = dropState.cur.dropzone; + dragEvent.relatedTarget = dropState.cur.element; + } + + if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) { + dropEvents.move = new _DropEvent["default"](dropState, dragEvent, 'dropmove'); + dropEvents.move.dragmove = dragEvent; + dragEvent.dropzone = dropState.cur.dropzone; + } + + return dropEvents; +} + +function fireDropEvents(interaction, events) { + var dropState = interaction.dropState; + var activeDrops = dropState.activeDrops, + cur = dropState.cur, + prev = dropState.prev; + + if (events.leave) { + prev.dropzone.fire(events.leave); + } + + if (events.move) { + cur.dropzone.fire(events.move); + } + + if (events.enter) { + cur.dropzone.fire(events.enter); + } + + if (events.drop) { + cur.dropzone.fire(events.drop); + } + + if (events.deactivate) { + fireActivationEvents(activeDrops, events.deactivate); + } + + dropState.prev.dropzone = cur.dropzone; + dropState.prev.element = cur.element; +} + +function onEventCreated(_ref15, scope) { + var interaction = _ref15.interaction, + iEvent = _ref15.iEvent, + event = _ref15.event; + + if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') { + return; + } + + var dropState = interaction.dropState; + + if (scope.dynamicDrop) { + dropState.activeDrops = getActiveDrops(scope, interaction.element); + } + + var dragEvent = iEvent; + var dropResult = getDrop(interaction, dragEvent, event); // update rejected status + + dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element; + dropState.cur.dropzone = dropResult && dropResult.dropzone; + dropState.cur.element = dropResult && dropResult.element; + dropState.events = getDropEvents(interaction, event, dragEvent); +} + +function dropzoneMethod(interactable, options) { + if (__utils_3.is.object(options)) { + interactable.options.drop.enabled = options.enabled !== false; + + if (options.listeners) { + var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop' + + var corrected = Object.keys(normalized).reduce(function (acc, type) { + var correctedType = /^(enter|leave)/.test(type) ? "drag".concat(type) : /^(activate|deactivate|move)/.test(type) ? "drop".concat(type) : type; + acc[correctedType] = normalized[type]; + return acc; + }, {}); + interactable.off(interactable.options.drop.listeners); + interactable.on(corrected); + interactable.options.drop.listeners = corrected; + } + + if (__utils_3.is.func(options.ondrop)) { + interactable.on('drop', options.ondrop); + } + + if (__utils_3.is.func(options.ondropactivate)) { + interactable.on('dropactivate', options.ondropactivate); + } + + if (__utils_3.is.func(options.ondropdeactivate)) { + interactable.on('dropdeactivate', options.ondropdeactivate); + } + + if (__utils_3.is.func(options.ondragenter)) { + interactable.on('dragenter', options.ondragenter); + } + + if (__utils_3.is.func(options.ondragleave)) { + interactable.on('dragleave', options.ondragleave); + } + + if (__utils_3.is.func(options.ondropmove)) { + interactable.on('dropmove', options.ondropmove); + } + + if (/^(pointer|center)$/.test(options.overlap)) { + interactable.options.drop.overlap = options.overlap; + } else if (__utils_3.is.number(options.overlap)) { + interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0); + } + + if ('accept' in options) { + interactable.options.drop.accept = options.accept; + } + + if ('checker' in options) { + interactable.options.drop.checker = options.checker; + } + + return interactable; + } + + if (__utils_3.is.bool(options)) { + interactable.options.drop.enabled = options; + return interactable; + } + + return interactable.options.drop; +} + +function dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) { + var dropped = false; // if the dropzone has no rect (eg. display: none) + // call the custom dropChecker or just return false + + if (!(rect = rect || interactable.getRect(dropElement))) { + return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false; + } + + var dropOverlap = interactable.options.drop.overlap; + + if (dropOverlap === 'pointer') { + var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag'); + var page = __utils_3.pointer.getPageXY(dragEvent); + page.x += origin.x; + page.y += origin.y; + var horizontal = page.x > rect.left && page.x < rect.right; + var vertical = page.y > rect.top && page.y < rect.bottom; + dropped = horizontal && vertical; + } + + var dragRect = draggable.getRect(draggableElement); + + if (dragRect && dropOverlap === 'center') { + var cx = dragRect.left + dragRect.width / 2; + var cy = dragRect.top + dragRect.height / 2; + dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom; + } + + if (dragRect && __utils_3.is.number(dropOverlap)) { + var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top)); + var overlapRatio = overlapArea / (dragRect.width * dragRect.height); + dropped = overlapRatio >= dropOverlap; + } + + if (interactable.options.drop.checker) { + dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement); + } + + return dropped; +} + +var drop = { + id: 'actions/drop', + install: __install_3, + getActiveDrops: getActiveDrops, + getDrop: getDrop, + getDropEvents: getDropEvents, + fireDropEvents: fireDropEvents, + defaults: { + enabled: false, + accept: null, + overlap: 'pointer' + } +}; +var ___default_3 = drop; +_$drop_3["default"] = ___default_3; + +var _$gesture_4 = {}; +"use strict"; + +Object.defineProperty(_$gesture_4, "__esModule", { + value: true +}); +_$gesture_4["default"] = void 0; + +var ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15); + +var ___scope_4 = _$scope_24({}); + +var __utils_4 = ___interopRequireWildcard_4(_$utils_56); + +function ___getRequireWildcardCache_4() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +___scope_4.ActionName.Gesture = 'gesture'; + +function __install_4(scope) { + var actions = scope.actions, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; + /** + * ```js + * interact(element).gesturable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * // limit multiple gestures. + * // See the explanation in {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isGestureable = interact(element).gesturable() + * ``` + * + * Gets or sets whether multitouch gestures can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on gesture events (makes the Interactable gesturable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of gesture events, or this Interactable + */ + + Interactable.prototype.gesturable = function (options) { + if (__utils_4.is.object(options)) { + this.options.gesture.enabled = options.enabled !== false; + this.setPerAction('gesture', options); + this.setOnEvents('gesture', options); + return this; + } + + if (__utils_4.is.bool(options)) { + this.options.gesture.enabled = options; + return this; + } + + return this.options.gesture; + }; + + interactions.signals.on('action-start', updateGestureProps); + interactions.signals.on('action-move', updateGestureProps); + interactions.signals.on('action-end', updateGestureProps); + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.gesture = { + angle: 0, + distance: 0, + scale: 1, + startAngle: 0, + startDistance: 0 + }; + }); + actions[___scope_4.ActionName.Gesture] = gesture; + actions.names.push(___scope_4.ActionName.Gesture); + __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']); + actions.methodDict.gesture = 'gesturable'; + defaults.actions.gesture = gesture.defaults; +} + +var gesture = { + id: 'actions/gesture', + install: __install_4, + defaults: {}, + checker: function checker(_pointer, _event, _interactable, _element, interaction) { + if (interaction.pointers.length >= 2) { + return { + name: 'gesture' + }; + } + + return null; + }, + getCursor: function getCursor() { + return ''; + } +}; + +function updateGestureProps(_ref2) { + var interaction = _ref2.interaction, + iEvent = _ref2.iEvent, + event = _ref2.event, + phase = _ref2.phase; + + if (interaction.prepared.name !== 'gesture') { + return; + } + + var pointers = interaction.pointers.map(function (p) { + return p.pointer; + }); + var starting = phase === 'start'; + var ending = phase === 'end'; + var deltaSource = interaction.interactable.options.deltaSource; + iEvent.touches = [pointers[0], pointers[1]]; + + if (starting) { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = 1; + iEvent.ds = 0; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.da = 0; + interaction.gesture.startDistance = iEvent.distance; + interaction.gesture.startAngle = iEvent.angle; + } else if (ending || event instanceof ___InteractEvent_4["default"]) { + var prevEvent = interaction.prevEvent; + iEvent.distance = prevEvent.distance; + iEvent.box = prevEvent.box; + iEvent.scale = prevEvent.scale; + iEvent.ds = 0; + iEvent.angle = prevEvent.angle; + iEvent.da = 0; + } else { + iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource); + iEvent.box = __utils_4.pointer.touchBBox(pointers); + iEvent.scale = iEvent.distance / interaction.gesture.startDistance; + iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource); + iEvent.ds = iEvent.scale - interaction.gesture.scale; + iEvent.da = iEvent.angle - interaction.gesture.angle; + } + + interaction.gesture.distance = iEvent.distance; + interaction.gesture.angle = iEvent.angle; + + if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) { + interaction.gesture.scale = iEvent.scale; + } +} + +var ___default_4 = gesture; +_$gesture_4["default"] = ___default_4; + +var _$resize_6 = {}; +"use strict"; + +Object.defineProperty(_$resize_6, "__esModule", { + value: true +}); +_$resize_6["default"] = void 0; + +var ___scope_6 = _$scope_24({}); + +var __arr_6 = ___interopRequireWildcard_6(_$arr_47); + +var __dom_6 = ___interopRequireWildcard_6(_$domUtils_51); + +var ___extend_6 = ___interopRequireDefault_6(_$extend_53); + +var __is_6 = ___interopRequireWildcard_6(_$is_57); + +function ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_6() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +___scope_6.ActionName.Resize = 'resize'; + +function __install_6(scope) { + var actions = scope.actions, + browser = scope.browser, + Interactable = scope.Interactable, + interactions = scope.interactions, + defaults = scope.defaults; // Less Precision with touch input + + interactions.signals.on('new', function (interaction) { + interaction.resizeAxes = 'xy'; + }); + interactions.signals.on('action-start', start); + interactions.signals.on('action-move', __move_6); + interactions.signals.on('action-end', end); + interactions.signals.on('action-start', updateEventAxes); + interactions.signals.on('action-move', updateEventAxes); + resize.cursors = initCursors(browser); + resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10; + /** + * ```js + * interact(element).resizable({ + * onstart: function (event) {}, + * onmove : function (event) {}, + * onend : function (event) {}, + * + * edges: { + * top : true, // Use pointer coords to check for resize. + * left : false, // Disable resizing from left edge. + * bottom: '.resize-s',// Resize if pointer target matches selector + * right : handleEl // Resize if pointer target is the given Element + * }, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height are adjusted at a 1:1 ratio. + * square: false, + * + * // Width and height can be adjusted independently. When `true`, width and + * // height maintain the aspect ratio they had when resizing started. + * preserveAspectRatio: false, + * + * // a value of 'none' will limit the resize rect to a minimum of 0x0 + * // 'negate' will allow the rect to have negative width/height + * // 'reposition' will keep the width/height positive by swapping + * // the top and bottom edges and/or swapping the left and right edges + * invert: 'none' || 'negate' || 'reposition' + * + * // limit multiple resizes. + * // See the explanation in the {@link Interactable.draggable} example + * max: Infinity, + * maxPerElement: 1, + * }) + * + * var isResizeable = interact(element).resizable() + * ``` + * + * Gets or sets whether resize actions can be performed on the target + * + * @param {boolean | object} [options] true/false or An object with event + * listeners to be fired on resize events (object makes the Interactable + * resizable) + * @return {boolean | Interactable} A boolean indicating if this can be the + * target of resize elements, or this Interactable + */ + + Interactable.prototype.resizable = function (options) { + return resizable(this, options, scope); + }; + + actions[___scope_6.ActionName.Resize] = resize; + actions.names.push(___scope_6.ActionName.Resize); + __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']); + actions.methodDict.resize = 'resizable'; + defaults.actions.resize = resize.defaults; +} + +var resize = { + id: 'actions/resize', + install: __install_6, + defaults: { + square: false, + preserveAspectRatio: false, + axis: 'xy', + // use default margin + margin: NaN, + // object with props left, right, top, bottom which are + // true/false values to resize when the pointer is over that edge, + // CSS selectors to match the handles for each direction + // or the Elements for each handle + edges: null, + // a value of 'none' will limit the resize rect to a minimum of 0x0 + // 'negate' will alow the rect to have negative width/height + // 'reposition' will keep the width/height positive by swapping + // the top and bottom edges and/or swapping the left and right edges + invert: 'none' + }, + checker: function checker(_pointer, _event, interactable, element, interaction, rect) { + if (!rect) { + return null; + } + + var page = (0, ___extend_6["default"])({}, interaction.coords.cur.page); + var options = interactable.options; + + if (options.resize.enabled) { + var resizeOptions = options.resize; + var resizeEdges = { + left: false, + right: false, + top: false, + bottom: false + }; // if using resize.edges + + if (__is_6.object(resizeOptions.edges)) { + for (var edge in resizeEdges) { + resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin); + } + + resizeEdges.left = resizeEdges.left && !resizeEdges.right; + resizeEdges.top = resizeEdges.top && !resizeEdges.bottom; + + if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) { + return { + name: 'resize', + edges: resizeEdges + }; + } + } else { + var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin; + var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin; + + if (right || bottom) { + return { + name: 'resize', + axes: (right ? 'x' : '') + (bottom ? 'y' : '') + }; + } + } + } + + return null; + }, + cursors: null, + getCursor: function getCursor(_ref) { + var edges = _ref.edges, + axis = _ref.axis, + name = _ref.name; + var cursors = resize.cursors; + var result = null; + + if (axis) { + result = cursors[name + axis]; + } else if (edges) { + var cursorKey = ''; + var _arr = ['top', 'bottom', 'left', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (edges[edge]) { + cursorKey += edge; + } + } + + result = cursors[cursorKey]; + } + + return result; + }, + defaultMargin: null +}; + +function resizable(interactable, options, scope) { + if (__is_6.object(options)) { + interactable.options.resize.enabled = options.enabled !== false; + interactable.setPerAction('resize', options); + interactable.setOnEvents('resize', options); + + if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) { + interactable.options.resize.axis = options.axis; + } else if (options.axis === null) { + interactable.options.resize.axis = scope.defaults.actions.resize.axis; + } + + if (__is_6.bool(options.preserveAspectRatio)) { + interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio; + } else if (__is_6.bool(options.square)) { + interactable.options.resize.square = options.square; + } + + return interactable; + } + + if (__is_6.bool(options)) { + interactable.options.resize.enabled = options; + return interactable; + } + + return interactable.options.resize; +} + +function checkResizeEdge(name, value, page, element, interactableElement, rect, margin) { + // false, '', undefined, null + if (!value) { + return false; + } // true value, use pointer coords and element rect + + + if (value === true) { + // if dimensions are negative, "switch" edges + var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left; + var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension + + margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2); + + if (width < 0) { + if (name === 'left') { + name = 'right'; + } else if (name === 'right') { + name = 'left'; + } + } + + if (height < 0) { + if (name === 'top') { + name = 'bottom'; + } else if (name === 'bottom') { + name = 'top'; + } + } + + if (name === 'left') { + return page.x < (width >= 0 ? rect.left : rect.right) + margin; + } + + if (name === 'top') { + return page.y < (height >= 0 ? rect.top : rect.bottom) + margin; + } + + if (name === 'right') { + return page.x > (width >= 0 ? rect.right : rect.left) - margin; + } + + if (name === 'bottom') { + return page.y > (height >= 0 ? rect.bottom : rect.top) - margin; + } + } // the remaining checks require an element + + + if (!__is_6.element(element)) { + return false; + } + + return __is_6.element(value) // the value is an element to use as a resize handle + ? value === element // otherwise check if element matches value as selector + : __dom_6.matchesUpTo(element, value, interactableElement); +} + +function initCursors(browser) { + return browser.isIe9 ? { + x: 'e-resize', + y: 's-resize', + xy: 'se-resize', + top: 'n-resize', + left: 'w-resize', + bottom: 's-resize', + right: 'e-resize', + topleft: 'se-resize', + bottomright: 'se-resize', + topright: 'ne-resize', + bottomleft: 'ne-resize' + } : { + x: 'ew-resize', + y: 'ns-resize', + xy: 'nwse-resize', + top: 'ns-resize', + left: 'ew-resize', + bottom: 'ns-resize', + right: 'ew-resize', + topleft: 'nwse-resize', + bottomright: 'nwse-resize', + topright: 'nesw-resize', + bottomleft: 'nesw-resize' + }; +} + +function start(_ref2) { + var iEvent = _ref2.iEvent, + interaction = _ref2.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + var startRect = (0, ___extend_6["default"])({}, interaction.rect); + var resizeOptions = interaction.interactable.options.resize; + /* + * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge + * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make + * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend + * on the active edges and the edge being interacted with. + */ + + if (resizeOptions.square || resizeOptions.preserveAspectRatio) { + var linkedEdges = (0, ___extend_6["default"])({}, interaction.prepared.edges); + linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom; + linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right; + linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top; + linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left; + interaction.prepared._linkedEdges = linkedEdges; + } else { + interaction.prepared._linkedEdges = null; + } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize + + + if (resizeOptions.preserveAspectRatio) { + interaction.resizeStartAspectRatio = startRect.width / startRect.height; + } + + interaction.resizeRects = { + start: startRect, + current: { + left: startRect.left, + right: startRect.right, + top: startRect.top, + bottom: startRect.bottom + }, + inverted: (0, ___extend_6["default"])({}, startRect), + previous: (0, ___extend_6["default"])({}, startRect), + delta: { + left: 0, + right: 0, + width: 0, + top: 0, + bottom: 0, + height: 0 + } + }; + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function __move_6(_ref3) { + var iEvent = _ref3.iEvent, + interaction = _ref3.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + var resizeOptions = interaction.interactable.options.resize; + var invert = resizeOptions.invert; + var invertible = invert === 'reposition' || invert === 'negate'; + var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow + + var start = interaction.resizeRects.start; + var current = interaction.resizeRects.current; + var inverted = interaction.resizeRects.inverted; + var deltaRect = interaction.resizeRects.delta; + var previous = (0, ___extend_6["default"])(interaction.resizeRects.previous, inverted); + var originalEdges = edges; + var eventDelta = (0, ___extend_6["default"])({}, iEvent.delta); + + if (resizeOptions.preserveAspectRatio || resizeOptions.square) { + // `resize.preserveAspectRatio` takes precedence over `resize.square` + var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1; + edges = interaction.prepared._linkedEdges; + + if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) { + eventDelta.y = -eventDelta.x / startAspectRatio; + } else if (originalEdges.left || originalEdges.right) { + eventDelta.y = eventDelta.x / startAspectRatio; + } else if (originalEdges.top || originalEdges.bottom) { + eventDelta.x = eventDelta.y * startAspectRatio; + } + } // update the 'current' rect without modifications + + + if (edges.top) { + current.top += eventDelta.y; + } + + if (edges.bottom) { + current.bottom += eventDelta.y; + } + + if (edges.left) { + current.left += eventDelta.x; + } + + if (edges.right) { + current.right += eventDelta.x; + } + + if (invertible) { + // if invertible, copy the current rect + (0, ___extend_6["default"])(inverted, current); + + if (invert === 'reposition') { + // swap edge values if necessary to keep width/height positive + var swap; + + if (inverted.top > inverted.bottom) { + swap = inverted.top; + inverted.top = inverted.bottom; + inverted.bottom = swap; + } + + if (inverted.left > inverted.right) { + swap = inverted.left; + inverted.left = inverted.right; + inverted.right = swap; + } + } + } else { + // if not invertible, restrict to minimum of 0x0 rect + inverted.top = Math.min(current.top, start.bottom); + inverted.bottom = Math.max(current.bottom, start.top); + inverted.left = Math.min(current.left, start.right); + inverted.right = Math.max(current.right, start.left); + } + + inverted.width = inverted.right - inverted.left; + inverted.height = inverted.bottom - inverted.top; + + for (var edge in inverted) { + deltaRect[edge] = inverted[edge] - previous[edge]; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = inverted; + iEvent.deltaRect = deltaRect; +} + +function end(_ref4) { + var iEvent = _ref4.iEvent, + interaction = _ref4.interaction; + + if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) { + return; + } + + iEvent.edges = interaction.prepared.edges; + iEvent.rect = interaction.resizeRects.inverted; + iEvent.deltaRect = interaction.resizeRects.delta; +} + +function updateEventAxes(_ref5) { + var iEvent = _ref5.iEvent, + interaction = _ref5.interaction, + action = _ref5.action; + + if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) { + return; + } + + var options = interaction.interactable.options; + + if (options.resize.square) { + if (interaction.resizeAxes === 'y') { + iEvent.delta.x = iEvent.delta.y; + } else { + iEvent.delta.y = iEvent.delta.x; + } + + iEvent.axes = 'xy'; + } else { + iEvent.axes = interaction.resizeAxes; + + if (interaction.resizeAxes === 'x') { + iEvent.delta.y = 0; + } else if (interaction.resizeAxes === 'y') { + iEvent.delta.x = 0; + } + } +} + +var ___default_6 = resize; +_$resize_6["default"] = ___default_6; + +var _$actions_5 = {}; +"use strict"; + +Object.defineProperty(_$actions_5, "__esModule", { + value: true +}); +_$actions_5.install = __install_5; +Object.defineProperty(_$actions_5, "drag", { + enumerable: true, + get: function get() { + return ___drag_5["default"]; + } +}); +Object.defineProperty(_$actions_5, "drop", { + enumerable: true, + get: function get() { + return _drop["default"]; + } +}); +Object.defineProperty(_$actions_5, "gesture", { + enumerable: true, + get: function get() { + return _gesture["default"]; + } +}); +Object.defineProperty(_$actions_5, "resize", { + enumerable: true, + get: function get() { + return _resize["default"]; + } +}); +_$actions_5.id = void 0; + +var ___drag_5 = ___interopRequireDefault_5(_$drag_1); + +var _drop = ___interopRequireDefault_5(_$drop_3); + +var _gesture = ___interopRequireDefault_5(_$gesture_4); + +var _resize = ___interopRequireDefault_5(_$resize_6); + +function ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_5(scope) { + scope.usePlugin(_gesture["default"]); + scope.usePlugin(_resize["default"]); + scope.usePlugin(___drag_5["default"]); + scope.usePlugin(_drop["default"]); +} + +var id = 'actions'; +_$actions_5.id = id; + +var _$autoScroll_7 = {}; +"use strict"; + +Object.defineProperty(_$autoScroll_7, "__esModule", { + value: true +}); +_$autoScroll_7.getContainer = getContainer; +_$autoScroll_7.getScroll = getScroll; +_$autoScroll_7.getScrollSize = getScrollSize; +_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta; +_$autoScroll_7["default"] = void 0; + +var __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51); + +var __is_7 = ___interopRequireWildcard_7(_$is_57); + +var ___raf_7 = ___interopRequireDefault_7(_$raf_62); + +/* removed: var _$rect_63 = require("@interactjs/utils/rect"); */; + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +function ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_7() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_7(scope) { + var interactions = scope.interactions, + defaults = scope.defaults, + actions = scope.actions; + scope.autoScroll = autoScroll; + + autoScroll.now = function () { + return scope.now(); + }; + + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.autoScroll = null; + }); + interactions.signals.on('destroy', function (_ref2) { + var interaction = _ref2.interaction; + interaction.autoScroll = null; + autoScroll.stop(); + + if (autoScroll.interaction) { + autoScroll.interaction = null; + } + }); + interactions.signals.on('stop', autoScroll.stop); + interactions.signals.on('action-move', function (arg) { + return autoScroll.onInteractionMove(arg); + }); + actions.eventTypes.push('autoscroll'); + defaults.perAction.autoScroll = autoScroll.defaults; +} + +var autoScroll = { + defaults: { + enabled: false, + margin: 60, + // the item that is scrolled (Window or HTMLElement) + container: null, + // the scroll speed in pixels per second + speed: 300 + }, + now: Date.now, + interaction: null, + i: null, + x: 0, + y: 0, + isScrolling: false, + prevTime: 0, + margin: 0, + speed: 0, + start: function start(interaction) { + autoScroll.isScrolling = true; + + ___raf_7["default"].cancel(autoScroll.i); + + interaction.autoScroll = autoScroll; + autoScroll.interaction = interaction; + autoScroll.prevTime = autoScroll.now(); + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + }, + stop: function stop() { + autoScroll.isScrolling = false; + + if (autoScroll.interaction) { + autoScroll.interaction.autoScroll = null; + } + + ___raf_7["default"].cancel(autoScroll.i); + }, + // scroll the window by the values in scroll.x/y + scroll: function scroll() { + var interaction = autoScroll.interaction; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + var now = autoScroll.now(); // change in time in seconds + + var dt = (now - autoScroll.prevTime) / 1000; // displacement + + var s = options.speed * dt; + + if (s >= 1) { + var scrollBy = { + x: autoScroll.x * s, + y: autoScroll.y * s + }; + + if (scrollBy.x || scrollBy.y) { + var prevScroll = getScroll(container); + + if (__is_7.window(container)) { + container.scrollBy(scrollBy.x, scrollBy.y); + } else if (container) { + container.scrollLeft += scrollBy.x; + container.scrollTop += scrollBy.y; + } + + var curScroll = getScroll(container); + var delta = { + x: curScroll.x - prevScroll.x, + y: curScroll.y - prevScroll.y + }; + + if (delta.x || delta.y) { + interactable.fire({ + type: 'autoscroll', + target: element, + interactable: interactable, + delta: delta, + interaction: interaction, + container: container + }); + } + } + + autoScroll.prevTime = now; + } + + if (autoScroll.isScrolling) { + ___raf_7["default"].cancel(autoScroll.i); + + autoScroll.i = ___raf_7["default"].request(autoScroll.scroll); + } + }, + check: function check(interactable, actionName) { + var options = interactable.options; + return options[actionName].autoScroll && options[actionName].autoScroll.enabled; + }, + onInteractionMove: function onInteractionMove(_ref3) { + var interaction = _ref3.interaction, + pointer = _ref3.pointer; + + if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) { + return; + } + + if (interaction.simulation) { + autoScroll.x = autoScroll.y = 0; + return; + } + + var top; + var right; + var bottom; + var left; + var interactable = interaction.interactable, + element = interaction.element; + var options = interactable.options[interaction.prepared.name].autoScroll; + var container = getContainer(options.container, interactable, element); + + if (__is_7.window(container)) { + left = pointer.clientX < autoScroll.margin; + top = pointer.clientY < autoScroll.margin; + right = pointer.clientX > container.innerWidth - autoScroll.margin; + bottom = pointer.clientY > container.innerHeight - autoScroll.margin; + } else { + var rect = __domUtils_7.getElementClientRect(container); + left = pointer.clientX < rect.left + autoScroll.margin; + top = pointer.clientY < rect.top + autoScroll.margin; + right = pointer.clientX > rect.right - autoScroll.margin; + bottom = pointer.clientY > rect.bottom - autoScroll.margin; + } + + autoScroll.x = right ? 1 : left ? -1 : 0; + autoScroll.y = bottom ? 1 : top ? -1 : 0; + + if (!autoScroll.isScrolling) { + // set the autoScroll properties to those of the target + autoScroll.margin = options.margin; + autoScroll.speed = options.speed; + autoScroll.start(interaction); + } + } +}; + +function getContainer(value, interactable, element) { + return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element); +} + +function getScroll(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollLeft, + y: container.scrollTop + }; +} + +function getScrollSize(container) { + if (__is_7.window(container)) { + container = window.document.body; + } + + return { + x: container.scrollWidth, + y: container.scrollHeight + }; +} + +function getScrollSizeDelta(_ref4, func) { + var interaction = _ref4.interaction, + element = _ref4.element; + var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll; + + if (!scrollOptions || !scrollOptions.enabled) { + func(); + return { + x: 0, + y: 0 + }; + } + + var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element); + var prevSize = getScroll(scrollContainer); + func(); + var curSize = getScroll(scrollContainer); + return { + x: curSize.x - prevSize.x, + y: curSize.y - prevSize.y + }; +} + +var ___default_7 = { + id: 'auto-scroll', + install: __install_7 +}; +_$autoScroll_7["default"] = ___default_7; + +var _$InteractableMethods_8 = {}; +"use strict"; + +Object.defineProperty(_$InteractableMethods_8, "__esModule", { + value: true +}); +_$InteractableMethods_8["default"] = void 0; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +var __is_8 = ___interopRequireWildcard_8(_$is_57); + +function ___getRequireWildcardCache_8() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_8(scope) { + var Interactable = scope.Interactable, + actions = scope.actions; + Interactable.prototype.getAction = getAction; + /** + * ```js + * interact(element, { ignoreFrom: document.getElementById('no-action') }) + * // or + * interact(element).ignoreFrom('input, textarea, a') + * ``` + * @deprecated + * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any + * of it's parents match the given CSS selector or Element, no + * drag/resize/gesture is started. + * + * Don't use this method. Instead set the `ignoreFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .draggable({ + * ignoreFrom: 'input, textarea, a[href]'', + * }) + * .pointerEvents({ + * ignoreFrom: '[no-pointer]', + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to not ignore any elements + * @return {string | Element | object} The current ignoreFrom value or this + * Interactable + */ + + Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('ignoreFrom', newValue); + }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).'); + /** + * @deprecated + * + * A drag/resize/gesture is started only If the target of the `mousedown`, + * `pointerdown` or `touchstart` event or any of it's parents match the given + * CSS selector or Element. + * + * Don't use this method. Instead set the `allowFrom` option for each action + * or for `pointerEvents` + * + * @example + * interact(targett) + * .resizable({ + * allowFrom: '.resize-handle', + * .pointerEvents({ + * allowFrom: '.handle',, + * }) + * + * @param {string | Element | null} [newValue] a CSS selector string, an + * Element or `null` to allow from any element + * @return {string | Element | object} The current allowFrom value or this + * Interactable + */ + + Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) { + return this._backCompatOption('allowFrom', newValue); + }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).'); + /** + * ```js + * interact('.resize-drag') + * .resizable(true) + * .draggable(true) + * .actionChecker(function (pointer, event, action, interactable, element, interaction) { + * + * if (interact.matchesSelector(event.target, '.drag-handle')) { + * // force drag with handle target + * action.name = drag + * } + * else { + * // resize from the top and right edges + * action.name = 'resize' + * action.edges = { top: true, right: true } + * } + * + * return action + * }) + * ``` + * + * Returns or sets the function used to check action to be performed on + * pointerDown + * + * @param {function | null} [checker] A function which takes a pointer event, + * defaultAction string, interactable, element and interaction as parameters + * and returns an object with name property 'drag' 'resize' or 'gesture' and + * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right + * props. + * @return {Function | Interactable} The checker function or this Interactable + */ + + Interactable.prototype.actionChecker = actionChecker; + /** + * Returns or sets whether the the cursor should be changed depending on the + * action that would be performed if the mouse were pressed and dragged. + * + * @param {boolean} [newValue] + * @return {boolean | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.styleCursor = styleCursor; + + Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) { + return defaultActionChecker(this, pointer, event, interaction, element, actions); + }; +} + +function getAction(pointer, event, interaction, element) { + var action = this.defaultActionChecker(pointer, event, interaction, element); + + if (this.options.actionChecker) { + return this.options.actionChecker(pointer, event, action, this, element, interaction); + } + + return action; +} + +function defaultActionChecker(interactable, pointer, event, interaction, element, actions) { + var rect = interactable.getRect(element); + var buttons = event.buttons || { + 0: 1, + 1: 4, + 3: 8, + 4: 16 + }[event.button]; + var action = null; + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + + // check mouseButton setting if the pointer is down + if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) { + continue; + } + + action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect); + + if (action) { + return action; + } + } +} + +function styleCursor(newValue) { + if (__is_8.bool(newValue)) { + this.options.styleCursor = newValue; + return this; + } + + if (newValue === null) { + delete this.options.styleCursor; + return this; + } + + return this.options.styleCursor; +} + +function actionChecker(checker) { + if (__is_8.func(checker)) { + this.options.actionChecker = checker; + return this; + } + + if (checker === null) { + delete this.options.actionChecker; + return this; + } + + return this.options.actionChecker; +} + +var ___default_8 = { + id: 'auto-start/interactableMethods', + install: __install_8 +}; +_$InteractableMethods_8["default"] = ___default_8; + +var _$base_9 = {}; +"use strict"; + +Object.defineProperty(_$base_9, "__esModule", { + value: true +}); +_$base_9["default"] = void 0; + +var __utils_9 = ___interopRequireWildcard_9(_$utils_56); + +var _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8); + +function ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_9() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_9(scope) { + var interact = scope.interact, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(_InteractableMethods["default"]); // set cursor style on mousedown + + interactions.signals.on('down', function (_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget; + + if (interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); // set cursor style on mousemove + + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + pointer = _ref2.pointer, + event = _ref2.event, + eventTarget = _ref2.eventTarget; + + if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) { + return; + } + + var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope); + prepare(interaction, actionInfo, scope); + }); + interactions.signals.on('move', function (arg) { + var interaction = arg.interaction; + + if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) { + return; + } + + scope.autoStart.signals.fire('before-start', arg); + var interactable = interaction.interactable; + + if (interaction.prepared.name && interactable) { + // check manualStart and interaction limit + if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) { + interaction.stop(); + } else { + interaction.start(interaction.prepared, interactable, interaction.element); + setInteractionCursor(interaction, scope); + } + } + }); + interactions.signals.on('stop', function (_ref3) { + var interaction = _ref3.interaction; + var interactable = interaction.interactable; + + if (interactable && interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + }); + defaults.base.actionChecker = null; + defaults.base.styleCursor = true; + __utils_9.extend(defaults.perAction, { + manualStart: false, + max: Infinity, + maxPerElement: 1, + allowFrom: null, + ignoreFrom: null, + // only allow left button by default + // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value + mouseButtons: 1 + }); + /** + * Returns or sets the maximum number of concurrent interactions allowed. By + * default only 1 interaction is allowed at a time (for backwards + * compatibility). To allow multiple interactions on the same Interactables and + * elements, you need to enable it in the draggable, resizable and gesturable + * `'max'` and `'maxPerElement'` options. + * + * @alias module:interact.maxInteractions + * + * @param {number} [newValue] Any number. newValue <= 0 means no interactions. + */ + + interact.maxInteractions = function (newValue) { + return maxInteractions(newValue, scope); + }; + + scope.autoStart = { + // Allow this many interactions to happen simultaneously + maxInteractions: Infinity, + withinInteractionLimit: withinInteractionLimit, + cursorElement: null, + signals: new __utils_9.Signals() + }; +} // Check if the current interactable supports the action. +// If so, return the validated action. Otherwise, return null + + +function validateAction(action, interactable, element, eventTarget, scope) { + if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) { + return action; + } + + return null; +} + +function validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) { + for (var i = 0, len = matches.length; i < len; i++) { + var match = matches[i]; + var matchElement = matchElements[i]; + var matchAction = match.getAction(pointer, event, interaction, matchElement); + + if (!matchAction) { + continue; + } + + var action = validateAction(matchAction, match, matchElement, eventTarget, scope); + + if (action) { + return { + action: action, + interactable: match, + element: matchElement + }; + } + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function getActionInfo(interaction, pointer, event, eventTarget, scope) { + var matches = []; + var matchElements = []; + var element = eventTarget; + + function pushMatches(interactable) { + matches.push(interactable); + matchElements.push(element); + } + + while (__utils_9.is.element(element)) { + matches = []; + matchElements = []; + scope.interactables.forEachMatch(element, pushMatches); + var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope); + + if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) { + return actionInfo; + } + + element = __utils_9.dom.parentNode(element); + } + + return { + action: null, + interactable: null, + element: null + }; +} + +function prepare(interaction, _ref4, scope) { + var action = _ref4.action, + interactable = _ref4.interactable, + element = _ref4.element; + action = action || { + name: null + }; // clear previous target element cursor + + if (interaction.interactable && interaction.interactable.options.styleCursor) { + setCursor(interaction.element, '', scope); + } + + interaction.interactable = interactable; + interaction.element = element; + __utils_9.copyAction(interaction.prepared, action); + interaction.rect = interactable && action.name ? interactable.getRect(element) : null; + setInteractionCursor(interaction, scope); + scope.autoStart.signals.fire('prepared', { + interaction: interaction + }); +} + +function withinInteractionLimit(interactable, element, action, scope) { + var options = interactable.options; + var maxActions = options[action.name].max; + var maxPerElement = options[action.name].maxPerElement; + var autoStartMax = scope.autoStart.maxInteractions; + var activeInteractions = 0; + var interactableCount = 0; + var elementCount = 0; // no actions if any of these values == 0 + + if (!(maxActions && maxPerElement && autoStartMax)) { + return false; + } + + for (var _i = 0; _i < scope.interactions.list.length; _i++) { + var _ref5; + + _ref5 = scope.interactions.list[_i]; + var interaction = _ref5; + var otherAction = interaction.prepared.name; + + if (!interaction.interacting()) { + continue; + } + + activeInteractions++; + + if (activeInteractions >= autoStartMax) { + return false; + } + + if (interaction.interactable !== interactable) { + continue; + } + + interactableCount += otherAction === action.name ? 1 : 0; + + if (interactableCount >= maxActions) { + return false; + } + + if (interaction.element === element) { + elementCount++; + + if (otherAction === action.name && elementCount >= maxPerElement) { + return false; + } + } + } + + return autoStartMax > 0; +} + +function maxInteractions(newValue, scope) { + if (__utils_9.is.number(newValue)) { + scope.autoStart.maxInteractions = newValue; + return this; + } + + return scope.autoStart.maxInteractions; +} + +function setCursor(element, cursor, scope) { + if (scope.autoStart.cursorElement) { + scope.autoStart.cursorElement.style.cursor = ''; + } + + element.ownerDocument.documentElement.style.cursor = cursor; + element.style.cursor = cursor; + scope.autoStart.cursorElement = cursor ? element : null; +} + +function setInteractionCursor(interaction, scope) { + var interactable = interaction.interactable, + element = interaction.element, + prepared = interaction.prepared; + + if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) { + return; + } + + var cursor = ''; + + if (prepared.name) { + var cursorChecker = interactable.options[prepared.name].cursorChecker; + + if (__utils_9.is.func(cursorChecker)) { + cursor = cursorChecker(prepared, interactable, element, interaction._interacting); + } else { + cursor = scope.actions[prepared.name].getCursor(prepared); + } + } + + setCursor(interaction.element, cursor || '', scope); +} + +var ___default_9 = { + id: 'auto-start/base', + install: __install_9, + maxInteractions: maxInteractions, + withinInteractionLimit: withinInteractionLimit, + validateAction: validateAction +}; +_$base_9["default"] = ___default_9; + +var _$dragAxis_10 = {}; +"use strict"; + +Object.defineProperty(_$dragAxis_10, "__esModule", { + value: true +}); +_$dragAxis_10["default"] = void 0; + +var ___scope_10 = _$scope_24({}); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var __is_10 = ___interopRequireWildcard_10(_$is_57); + +var _base = ___interopRequireDefault_10(_$base_9); + +function ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_10() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __install_10(scope) { + scope.autoStart.signals.on('before-start', function (_ref) { + var interaction = _ref.interaction, + eventTarget = _ref.eventTarget, + dx = _ref.dx, + dy = _ref.dy; + + if (interaction.prepared.name !== 'drag') { + return; + } // check if a drag is in the correct axis + + + var absX = Math.abs(dx); + var absY = Math.abs(dy); + var targetOptions = interaction.interactable.options.drag; + var startAxis = targetOptions.startAxis; + var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy'; + interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy' + : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable + + if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) { + // cancel the prepared action + interaction.prepared.name = null; // then try to get a drag from another ineractable + + var element = eventTarget; + + var getDraggable = function getDraggable(interactable) { + if (interactable === interaction.interactable) { + return; + } + + var options = interaction.interactable.options.drag; + + if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) { + var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element); + + if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base["default"].validateAction(action, interactable, element, eventTarget, scope)) { + return interactable; + } + } + }; // check all interactables + + + while (__is_10.element(element)) { + var interactable = scope.interactables.forEachMatch(element, getDraggable); + + if (interactable) { + interaction.prepared.name = ___scope_10.ActionName.Drag; + interaction.interactable = interactable; + interaction.element = element; + break; + } + + element = (0, _$domUtils_51.parentNode)(element); + } + } + }); + + function checkStartAxis(startAxis, interactable) { + if (!interactable) { + return false; + } + + var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis; + return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis; + } +} + +var ___default_10 = { + id: 'auto-start/dragAxis', + install: __install_10 +}; +_$dragAxis_10["default"] = ___default_10; + +var _$hold_11 = {}; +"use strict"; + +Object.defineProperty(_$hold_11, "__esModule", { + value: true +}); +_$hold_11["default"] = void 0; + +var ___base_11 = ___interopRequireDefault_11(_$base_9); + +function ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_11(scope) { + var autoStart = scope.autoStart, + interactions = scope.interactions, + defaults = scope.defaults; + scope.usePlugin(___base_11["default"]); + defaults.perAction.hold = 0; + defaults.perAction.delay = 0; + interactions.signals.on('new', function (interaction) { + interaction.autoStartHoldTimer = null; + }); + autoStart.signals.on('prepared', function (_ref) { + var interaction = _ref.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.autoStartHoldTimer = setTimeout(function () { + interaction.start(interaction.prepared, interaction.interactable, interaction.element); + }, hold); + } + }); + interactions.signals.on('move', function (_ref2) { + var interaction = _ref2.interaction, + duplicate = _ref2.duplicate; + + if (interaction.pointerWasMoved && !duplicate) { + clearTimeout(interaction.autoStartHoldTimer); + } + }); // prevent regular down->move autoStart + + autoStart.signals.on('before-start', function (_ref3) { + var interaction = _ref3.interaction; + var hold = getHoldDuration(interaction); + + if (hold > 0) { + interaction.prepared.name = null; + } + }); +} + +function getHoldDuration(interaction) { + var actionName = interaction.prepared && interaction.prepared.name; + + if (!actionName) { + return null; + } + + var options = interaction.interactable.options; + return options[actionName].hold || options[actionName].delay; +} + +var ___default_11 = { + id: 'auto-start/hold', + install: __install_11, + getHoldDuration: getHoldDuration +}; +_$hold_11["default"] = ___default_11; + +var _$autoStart_12 = {}; +"use strict"; + +Object.defineProperty(_$autoStart_12, "__esModule", { + value: true +}); +_$autoStart_12.install = __install_12; +Object.defineProperty(_$autoStart_12, "autoStart", { + enumerable: true, + get: function get() { + return ___base_12["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "dragAxis", { + enumerable: true, + get: function get() { + return _dragAxis["default"]; + } +}); +Object.defineProperty(_$autoStart_12, "hold", { + enumerable: true, + get: function get() { + return _hold["default"]; + } +}); +_$autoStart_12.id = void 0; + +var ___base_12 = ___interopRequireDefault_12(_$base_9); + +var _dragAxis = ___interopRequireDefault_12(_$dragAxis_10); + +var _hold = ___interopRequireDefault_12(_$hold_11); + +function ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_12(scope) { + scope.usePlugin(___base_12["default"]); + scope.usePlugin(_hold["default"]); + scope.usePlugin(_dragAxis["default"]); +} + +var __id_12 = 'auto-start'; +_$autoStart_12.id = __id_12; + +var _$interactablePreventDefault_21 = {}; +"use strict"; + +Object.defineProperty(_$interactablePreventDefault_21, "__esModule", { + value: true +}); +_$interactablePreventDefault_21.install = __install_21; +_$interactablePreventDefault_21["default"] = void 0; + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___events_21 = ___interopRequireDefault_21(_$events_52); + +var __is_21 = ___interopRequireWildcard_21(_$is_57); + +/* removed: var _$window_66 = require("@interactjs/utils/window"); */; + +function ___getRequireWildcardCache_21() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function preventDefault(newValue) { + if (/^(always|never|auto)$/.test(newValue)) { + this.options.preventDefault = newValue; + return this; + } + + if (__is_21.bool(newValue)) { + this.options.preventDefault = newValue ? 'always' : 'never'; + return this; + } + + return this.options.preventDefault; +} + +function checkAndPreventDefault(interactable, scope, event) { + var setting = interactable.options.preventDefault; + + if (setting === 'never') { + return; + } + + if (setting === 'always') { + event.preventDefault(); + return; + } // setting === 'auto' + // if the browser supports passive event listeners and isn't running on iOS, + // don't preventDefault of touch{start,move} events. CSS touch-action and + // user-select should be used instead of calling event.preventDefault(). + + + if (___events_21["default"].supportsPassive && /^touch(start|move)$/.test(event.type)) { + var doc = (0, _$window_66.getWindow)(event.target).document; + var docOptions = scope.getDocOptions(doc); + + if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) { + return; + } + } // don't preventDefault of pointerdown events + + + if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) { + return; + } // don't preventDefault on editable elements + + + if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) { + return; + } + + event.preventDefault(); +} + +function onInteractionEvent(_ref) { + var interaction = _ref.interaction, + event = _ref.event; + + if (interaction.interactable) { + interaction.interactable.checkAndPreventDefault(event); + } +} + +function __install_21(scope) { + /** @lends Interactable */ + var Interactable = scope.Interactable; + /** + * Returns or sets whether to prevent the browser's default behaviour in + * response to pointer events. Can be set to: + * - `'always'` to always prevent + * - `'never'` to never prevent + * - `'auto'` to let interact.js try to determine what would be best + * + * @param {string} [newValue] `'always'`, `'never'` or `'auto'` + * @return {string | Interactable} The current setting or this Interactable + */ + + Interactable.prototype.preventDefault = preventDefault; + + Interactable.prototype.checkAndPreventDefault = function (event) { + return checkAndPreventDefault(this, scope, event); + }; + + var _arr = ['down', 'move', 'up', 'cancel']; + + for (var _i = 0; _i < _arr.length; _i++) { + var eventSignal = _arr[_i]; + scope.interactions.signals.on(eventSignal, onInteractionEvent); + } // prevent native HTML5 drag on interact.js target elements + + + scope.interactions.docEvents.push({ + type: 'dragstart', + listener: function listener(event) { + for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) { + var _ref2; + + _ref2 = scope.interactions.list[_i2]; + var interaction = _ref2; + + if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) { + interaction.interactable.checkAndPreventDefault(event); + return; + } + } + } + }); +} + +var ___default_21 = { + id: 'core/interactablePreventDefault', + install: __install_21 +}; +_$interactablePreventDefault_21["default"] = ___default_21; + +var _$devTools_25 = {}; +"use strict"; + +Object.defineProperty(_$devTools_25, "__esModule", { + value: true +}); +_$devTools_25["default"] = void 0; + +var ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50); + +/* removed: var _$domUtils_51 = require("@interactjs/utils/domUtils"); */; + +var ___extend_25 = ___interopRequireDefault_25(_$extend_53); + +var __is_25 = ___interopRequireWildcard_25(_$is_57); + +var ___window_25 = ___interopRequireDefault_25(_$window_66); + +function ___getRequireWildcardCache_25() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); } + +function ___nonIterableSpread_25() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +var CheckName; + +(function (CheckName) { + CheckName["touchAction"] = ""; + CheckName["boxSizing"] = ""; + CheckName["noListeners"] = ""; +})(CheckName || (CheckName = {})); + +var prefix = '[interact.js] '; +var links = { + touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action', + boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing' +}; +var isProduction = "production" === 'production'; // eslint-disable-next-line no-restricted-syntax + +function __install_25(scope) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + logger = _ref.logger; + + var interactions = scope.interactions, + Interactable = scope.Interactable, + defaults = scope.defaults; + logger = logger || console; + interactions.signals.on('action-start', function (_ref2) { + var interaction = _ref2.interaction; + + for (var _i = 0; _i < checks.length; _i++) { + var _ref3; + + _ref3 = checks[_i]; + var check = _ref3; + var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name]; + + if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) { + var _logger; + + (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction)))); + } + } + }); + defaults.base.devTools = { + ignore: {} + }; + + Interactable.prototype.devTools = function (options) { + if (options) { + (0, ___extend_25["default"])(this.options.devTools, options); + return this; + } + + return this.options.devTools; + }; +} + +var checks = [{ + name: 'touchAction', + perform: function perform(_ref4) { + var element = _ref4.element; + return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/); + }, + getInfo: function getInfo(_ref5) { + var element = _ref5.element; + return [element, links.touchAction]; + }, + text: 'Consider adding CSS "touch-action: none" to this element\n' +}, { + name: 'boxSizing', + perform: function perform(interaction) { + var element = interaction.element; + return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25["default"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/); + }, + text: 'Consider adding CSS "box-sizing: border-box" to this resizable element', + getInfo: function getInfo(_ref6) { + var element = _ref6.element; + return [element, links.boxSizing]; + } +}, { + name: 'noListeners', + perform: function perform(interaction) { + var actionName = interaction.prepared.name; + var moveListeners = interaction.interactable.events.types["".concat(actionName, "move")] || []; + return !moveListeners.length; + }, + getInfo: function getInfo(interaction) { + return [interaction.prepared.name, interaction.interactable]; + }, + text: 'There are no listeners set for this action' +}]; + +function hasStyle(element, prop, styleRe) { + return styleRe.test(element.style[prop] || ___window_25["default"].window.getComputedStyle(element)[prop]); +} + +function parentHasStyle(element, prop, styleRe) { + var parent = element; + + while (__is_25.element(parent)) { + if (hasStyle(parent, prop, styleRe)) { + return true; + } + + parent = (0, _$domUtils_51.parentNode)(parent); + } + + return false; +} + +var __id_25 = 'dev-tools'; +var defaultExport = isProduction ? { + id: __id_25, + install: function install() {} +} : { + id: __id_25, + install: __install_25, + checks: checks, + CheckName: CheckName, + links: links, + prefix: prefix +}; +var ___default_25 = defaultExport; +_$devTools_25["default"] = ___default_25; + +var _$base_30 = {}; +"use strict"; + +Object.defineProperty(_$base_30, "__esModule", { + value: true +}); +_$base_30.startAll = startAll; +_$base_30.setAll = setAll; +_$base_30.prepareStates = prepareStates; +_$base_30.setCoords = setCoords; +_$base_30.restoreCoords = restoreCoords; +_$base_30.makeModifier = makeModifier; +_$base_30["default"] = void 0; + +var ___extend_30 = ___interopRequireDefault_30(_$extend_53); + +function ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); } + +function ___nonIterableRest_30() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; } + +function __install_30(scope) { + var interactions = scope.interactions; + scope.defaults.perAction.modifiers = []; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.modifiers = { + startOffset: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + offsets: {}, + states: null, + result: null, + endPrevented: false, + startDelta: null + }; + }); + interactions.signals.on('before-action-start', function (arg) { + __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page); + }); + interactions.signals.on('action-resume', function (arg) { + stop(arg); + __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords); + __beforeMove_30(arg); + }); + interactions.signals.on('after-action-move', restoreCoords); + interactions.signals.on('before-action-move', __beforeMove_30); + interactions.signals.on('before-action-start', setCoords); + interactions.signals.on('after-action-start', restoreCoords); + interactions.signals.on('before-action-end', beforeEnd); + interactions.signals.on('stop', stop); +} + +function __start_30(_ref2, pageCoords, prevCoords) { + var interaction = _ref2.interaction, + phase = _ref2.phase; + var interactable = interaction.interactable, + element = interaction.element; + var modifierList = getModifierList(interaction); + var states = prepareStates(modifierList); + var rect = (0, ___extend_30["default"])({}, interaction.rect); + + if (!('width' in rect)) { + rect.width = rect.right - rect.left; + } + + if (!('height' in rect)) { + rect.height = rect.bottom - rect.top; + } + + var startOffset = getRectOffset(rect, pageCoords); + interaction.modifiers.startOffset = startOffset; + interaction.modifiers.startDelta = { + x: 0, + y: 0 + }; + var arg = { + interaction: interaction, + interactable: interactable, + element: element, + pageCoords: pageCoords, + phase: phase, + rect: rect, + startOffset: startOffset, + states: states, + preEnd: false, + requireEndOnly: false, + prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page) + }; + interaction.modifiers.states = states; + interaction.modifiers.result = null; + startAll(arg); + var result = interaction.modifiers.result = setAll(arg); + return result; +} + +function startAll(arg) { + var states = arg.states; + + for (var _i = 0; _i < states.length; _i++) { + var _ref3; + + _ref3 = states[_i]; + var state = _ref3; + + if (state.methods.start) { + arg.state = state; + state.methods.start(arg); + } + } +} + +function setAll(arg) { + var prevCoords = arg.prevCoords, + phase = arg.phase, + preEnd = arg.preEnd, + requireEndOnly = arg.requireEndOnly, + rect = arg.rect, + states = arg.states; + arg.coords = (0, ___extend_30["default"])({}, arg.pageCoords); + arg.rect = (0, ___extend_30["default"])({}, rect); + var result = { + delta: { + x: 0, + y: 0 + }, + rectDelta: { + left: 0, + right: 0, + top: 0, + bottom: 0 + }, + coords: arg.coords, + changed: true + }; + + for (var _i2 = 0; _i2 < states.length; _i2++) { + var _ref4; + + _ref4 = states[_i2]; + var state = _ref4; + var options = state.options; + + if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) { + continue; + } + + arg.state = state; + state.methods.set(arg); + } + + result.delta.x = arg.coords.x - arg.pageCoords.x; + result.delta.y = arg.coords.y - arg.pageCoords.y; + var rectChanged = false; + + if (rect) { + result.rectDelta.left = arg.rect.left - rect.left; + result.rectDelta.right = arg.rect.right - rect.right; + result.rectDelta.top = arg.rect.top - rect.top; + result.rectDelta.bottom = arg.rect.bottom - rect.bottom; + rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0; + } + + result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged; + return result; +} + +function __beforeMove_30(arg) { + var interaction = arg.interaction, + phase = arg.phase, + preEnd = arg.preEnd, + skipModifiers = arg.skipModifiers; + var interactable = interaction.interactable, + element = interaction.element; + var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states; + var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page); + var modifierResult = setAll({ + interaction: interaction, + interactable: interactable, + element: element, + preEnd: preEnd, + phase: phase, + pageCoords: arg.modifiedCoords || interaction.coords.cur.page, + prevCoords: prevCoords, + rect: interaction.rect, + states: states, + requireEndOnly: false + }); + interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same + // cordinates as before + + if (!modifierResult.changed && interaction.interacting()) { + return false; + } + + if (arg.modifiedCoords) { + var page = interaction.coords.cur.page; + var adjustment = { + x: arg.modifiedCoords.x - page.x, + y: arg.modifiedCoords.y - page.y + }; + modifierResult.coords.x += adjustment.x; + modifierResult.coords.y += adjustment.y; + modifierResult.delta.x += adjustment.x; + modifierResult.delta.y += adjustment.y; + } + + setCoords(arg); +} + +function beforeEnd(arg) { + var interaction = arg.interaction, + event = arg.event, + noPreEnd = arg.noPreEnd; + var states = interaction.modifiers.states; + + if (noPreEnd || !states || !states.length) { + return; + } + + var didPreEnd = false; + + for (var _i3 = 0; _i3 < states.length; _i3++) { + var _ref5; + + _ref5 = states[_i3]; + var state = _ref5; + arg.state = state; + var options = state.options, + methods = state.methods; + var endResult = methods.beforeEnd && methods.beforeEnd(arg); + + if (endResult === false) { + interaction.modifiers.endPrevented = true; + return false; + } // if the endOnly option is true for any modifier + + + if (!didPreEnd && shouldDo(options, true, true)) { + // fire a move event at the modified coordinates + interaction.move({ + event: event, + preEnd: true + }); + didPreEnd = true; + } + } +} + +function stop(arg) { + var interaction = arg.interaction; + var states = interaction.modifiers.states; + + if (!states || !states.length) { + return; + } + + var modifierArg = (0, ___extend_30["default"])({ + states: states, + interactable: interaction.interactable, + element: interaction.element, + rect: null + }, arg); + + for (var _i4 = 0; _i4 < states.length; _i4++) { + var _ref6; + + _ref6 = states[_i4]; + var state = _ref6; + modifierArg.state = state; + + if (state.methods.stop) { + state.methods.stop(modifierArg); + } + } + + arg.interaction.modifiers.states = null; + arg.interaction.modifiers.endPrevented = false; +} + +function getModifierList(interaction) { + var actionOptions = interaction.interactable.options[interaction.prepared.name]; + var actionModifiers = actionOptions.modifiers; + + if (actionModifiers && actionModifiers.length) { + return actionModifiers.filter(function (modifier) { + return !modifier.options || modifier.options.enabled !== false; + }); + } + + return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) { + var options = actionOptions[type]; + return options && options.enabled && { + options: options, + methods: options._methods + }; + }).filter(function (m) { + return !!m; + }); +} + +function prepareStates(modifierList) { + var states = []; + + for (var index = 0; index < modifierList.length; index++) { + var _modifierList$index = modifierList[index], + options = _modifierList$index.options, + methods = _modifierList$index.methods, + name = _modifierList$index.name; + + if (options && options.enabled === false) { + continue; + } + + states.push({ + options: options, + methods: methods, + index: index, + name: name + }); + } + + return states; +} + +function setCoords(arg) { + var interaction = arg.interaction, + phase = arg.phase; + var curCoords = interaction.coords.cur; + var startCoords = interaction.coords.start; + var _interaction$modifier = interaction.modifiers, + result = _interaction$modifier.result, + startDelta = _interaction$modifier.startDelta; + var curDelta = result.delta; + + if (phase === 'start') { + (0, ___extend_30["default"])(interaction.modifiers.startDelta, result.delta); + } + + var _arr = [[startCoords, startDelta], [curCoords, curDelta]]; + + for (var _i5 = 0; _i5 < _arr.length; _i5++) { + var _arr$_i = ___slicedToArray_30(_arr[_i5], 2), + coordsSet = _arr$_i[0], + delta = _arr$_i[1]; + + coordsSet.page.x += delta.x; + coordsSet.page.y += delta.y; + coordsSet.client.x += delta.x; + coordsSet.client.y += delta.y; + } + + var rectDelta = interaction.modifiers.result.rectDelta; + var rect = arg.rect || interaction.rect; + rect.left += rectDelta.left; + rect.right += rectDelta.right; + rect.top += rectDelta.top; + rect.bottom += rectDelta.bottom; + rect.width = rect.right - rect.left; + rect.height = rect.bottom - rect.top; +} + +function restoreCoords(_ref7) { + var _ref7$interaction = _ref7.interaction, + coords = _ref7$interaction.coords, + rect = _ref7$interaction.rect, + modifiers = _ref7$interaction.modifiers; + + if (!modifiers.result) { + return; + } + + var startDelta = modifiers.startDelta; + var _modifiers$result = modifiers.result, + curDelta = _modifiers$result.delta, + rectDelta = _modifiers$result.rectDelta; + var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]]; + + for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) { + var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2), + coordsSet = _coordsAndDeltas$_i[0], + delta = _coordsAndDeltas$_i[1]; + + coordsSet.page.x -= delta.x; + coordsSet.page.y -= delta.y; + coordsSet.client.x -= delta.x; + coordsSet.client.y -= delta.y; + } + + rect.left -= rectDelta.left; + rect.right -= rectDelta.right; + rect.top -= rectDelta.top; + rect.bottom -= rectDelta.bottom; +} + +function shouldDo(options, preEnd, requireEndOnly, phase) { + return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly; +} + +function getRectOffset(rect, coords) { + return rect ? { + left: coords.x - rect.left, + top: coords.y - rect.top, + right: rect.right - coords.x, + bottom: rect.bottom - coords.y + } : { + left: 0, + top: 0, + right: 0, + bottom: 0 + }; +} + +function makeModifier(module, name) { + var defaults = module.defaults; + var methods = { + start: module.start, + set: module.set, + beforeEnd: module.beforeEnd, + stop: module.stop + }; + + var modifier = function modifier(_options) { + var options = _options || {}; + options.enabled = options.enabled !== false; // add missing defaults to options + + for (var prop in defaults) { + if (!(prop in options)) { + options[prop] = defaults[prop]; + } + } + + var m = { + options: options, + methods: methods, + name: name + }; + return m; + }; + + if (name && typeof name === 'string') { + // for backwrads compatibility + modifier._defaults = defaults; + modifier._methods = methods; + } + + return modifier; +} + +var ___default_30 = { + id: 'modifiers/base', + install: __install_30, + startAll: startAll, + setAll: setAll, + prepareStates: prepareStates, + start: __start_30, + beforeMove: __beforeMove_30, + beforeEnd: beforeEnd, + stop: stop, + shouldDo: shouldDo, + getModifierList: getModifierList, + getRectOffset: getRectOffset, + makeModifier: makeModifier +}; +_$base_30["default"] = ___default_30; + +var _$inertia_26 = {}; +"use strict"; + +Object.defineProperty(_$inertia_26, "__esModule", { + value: true +}); +_$inertia_26["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +var ___base_26 = ___interopRequireWildcard_26(_$base_30); + +var __utils_26 = ___interopRequireWildcard_26(_$utils_56); + +var ___raf_26 = ___interopRequireDefault_26(_$raf_62); + +function ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_26() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +_$InteractEvent_15.EventPhase.Resume = 'resume'; +_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart'; + +function __install_26(scope) { + var interactions = scope.interactions, + defaults = scope.defaults; + interactions.signals.on('new', function (_ref) { + var interaction = _ref.interaction; + interaction.inertia = { + active: false, + smoothEnd: false, + allowResume: false, + upCoords: {}, + timeout: null + }; + }); + interactions.signals.on('before-action-end', function (arg) { + return release(arg, scope); + }); + interactions.signals.on('down', function (arg) { + return resume(arg, scope); + }); + interactions.signals.on('stop', __stop_26); + defaults.perAction.inertia = { + enabled: false, + resistance: 10, + minSpeed: 100, + endSpeed: 10, + allowResume: true, + smoothEndDuration: 300 + }; + scope.usePlugin(___base_26["default"]); +} + +function resume(_ref2, scope) { + var interaction = _ref2.interaction, + event = _ref2.event, + pointer = _ref2.pointer, + eventTarget = _ref2.eventTarget; + var state = interaction.inertia; // Check if the down event hits the current inertia target + + if (state.active) { + var element = eventTarget; // climb up the DOM tree from the event target + + while (__utils_26.is.element(element)) { + // if interaction element is the current inertia target element + if (element === interaction.element) { + // stop inertia + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; // update pointers to the down event's coordinates + + interaction.updatePointer(pointer, event, eventTarget, true); + __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) { + return p.pointer; + }), interaction._now()); // fire appropriate signals + + var signalArg = { + interaction: interaction, + phase: _$InteractEvent_15.EventPhase.Resume + }; + scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event + + var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element); + + interaction._fireEvent(resumeEvent); + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); + break; + } + + element = __utils_26.dom.parentNode(element); + } + } +} + +function release(_ref3, scope) { + var interaction = _ref3.interaction, + event = _ref3.event, + noPreEnd = _ref3.noPreEnd; + var state = interaction.inertia; + + if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) { + return null; + } + + var options = __getOptions_26(interaction); + + var now = interaction._now(); + + var velocityClient = interaction.coords.velocity.client; + var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y); + var smoothEnd = false; + var modifierResult; // check if inertia should be started + + var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent; + var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed; + var modifierArg = { + interaction: interaction, + pageCoords: interaction.coords.cur.page, + states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) { + return __utils_26.extend({}, modifierStatus); + }), + preEnd: true, + prevCoords: null, + requireEndOnly: null, + phase: _$InteractEvent_15.EventPhase.InertiaStart + }; // smoothEnd + + if (inertiaPossible && !inertia) { + modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page; + modifierArg.requireEndOnly = false; + modifierResult = ___base_26["default"].setAll(modifierArg); + + if (modifierResult.changed) { + smoothEnd = true; + } + } + + if (!(inertia || smoothEnd)) { + return null; + } + + __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur); + (0, ___base_26.setCoords)(modifierArg); + interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name + interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element); + (0, ___base_26.restoreCoords)(modifierArg); + state.t0 = now; + state.active = true; + state.allowResume = options.allowResume; + interaction.simulation = state; + interaction.interactable.fire(state.startEvent); + + if (inertia) { + state.vx0 = interaction.coords.velocity.client.x; + state.vy0 = interaction.coords.velocity.client.y; + state.v0 = pointerSpeed; + calcInertia(interaction, state); + __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page); + modifierArg.pageCoords.x += state.xe; + modifierArg.pageCoords.y += state.ye; + modifierArg.prevCoords = null; + modifierArg.requireEndOnly = true; + modifierResult = ___base_26["default"].setAll(modifierArg); + state.modifiedXe += modifierResult.delta.x; + state.modifiedYe += modifierResult.delta.y; + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.smoothEnd = true; + state.xe = modifierResult.delta.x; + state.ye = modifierResult.delta.y; + state.sx = state.sy = 0; + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } + + return false; +} + +function __stop_26(_ref4) { + var interaction = _ref4.interaction; + var state = interaction.inertia; + + if (state.active) { + ___raf_26["default"].cancel(state.timeout); + + state.active = false; + interaction.simulation = null; + } +} + +function calcInertia(interaction, state) { + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda; + state.x0 = interaction.prevEvent.page.x; + state.y0 = interaction.prevEvent.page.y; + state.t0 = state.startEvent.timeStamp / 1000; + state.sx = state.sy = 0; + state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda; + state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda; + state.te = inertiaDur; + state.lambda_v0 = lambda / state.v0; + state.one_ve_v0 = 1 - options.endSpeed / state.v0; +} + +function inertiaTick(interaction) { + updateInertiaCoords(interaction); + __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur); + __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta); + var state = interaction.inertia; + var options = __getOptions_26(interaction); + var lambda = options.resistance; + var t = interaction._now() / 1000 - state.t0; + + if (t < state.te) { + var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0; + + if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) { + state.sx = state.xe * progress; + state.sy = state.ye * progress; + } else { + var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress); + state.sx = quadPoint.x; + state.sy = quadPoint.y; + } + + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return inertiaTick(interaction); + }); + } else { + state.sx = state.modifiedXe; + state.sy = state.modifiedYe; + interaction.move(); + interaction.end(state.startEvent); + state.active = false; + interaction.simulation = null; + } + + __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur); +} + +function smothEndTick(interaction) { + updateInertiaCoords(interaction); + var state = interaction.inertia; + var t = interaction._now() - state.t0; + + var _getOptions = __getOptions_26(interaction), + duration = _getOptions.smoothEndDuration; + + if (t < duration) { + state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration); + state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration); + interaction.move(); + state.timeout = ___raf_26["default"].request(function () { + return smothEndTick(interaction); + }); + } else { + state.sx = state.xe; + state.sy = state.ye; + interaction.move(); + interaction.end(state.startEvent); + state.smoothEnd = state.active = false; + interaction.simulation = null; + } +} + +function updateInertiaCoords(interaction) { + var state = interaction.inertia; // return if inertia isn't running + + if (!state.active) { + return; + } + + var pageUp = state.upCoords.page; + var clientUp = state.upCoords.client; + __utils_26.pointer.setCoords(interaction.coords.cur, [{ + pageX: pageUp.x + state.sx, + pageY: pageUp.y + state.sy, + clientX: clientUp.x + state.sx, + clientY: clientUp.y + state.sy + }], interaction._now()); +} + +function __getOptions_26(_ref5) { + var interactable = _ref5.interactable, + prepared = _ref5.prepared; + return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia; +} + +var ___default_26 = { + id: 'inertia', + install: __install_26, + calcInertia: calcInertia, + inertiaTick: inertiaTick, + smothEndTick: smothEndTick, + updateInertiaCoords: updateInertiaCoords +}; +_$inertia_26["default"] = ___default_26; + +var _$pointer_33 = {}; +"use strict"; + +Object.defineProperty(_$pointer_33, "__esModule", { + value: true +}); +_$pointer_33["default"] = void 0; + +var ___extend_33 = ___interopRequireDefault_33(_$extend_53); + +var __is_33 = ___interopRequireWildcard_33(_$is_57); + +var ___rect_33 = ___interopRequireDefault_33(_$rect_63); + +function ___getRequireWildcardCache_33() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __start_33(_ref) { + var rect = _ref.rect, + startOffset = _ref.startOffset, + state = _ref.state, + interaction = _ref.interaction, + pageCoords = _ref.pageCoords; + var options = state.options; + var elementRect = options.elementRect; + var offset = (0, ___extend_33["default"])({ + left: 0, + top: 0, + right: 0, + bottom: 0 + }, options.offset || {}); + + if (rect && elementRect) { + var restriction = getRestrictionRect(options.restriction, interaction, pageCoords); + + if (restriction) { + var widthDiff = restriction.right - restriction.left - rect.width; + var heightDiff = restriction.bottom - restriction.top - rect.height; + + if (widthDiff < 0) { + offset.left += widthDiff; + offset.right += widthDiff; + } + + if (heightDiff < 0) { + offset.top += heightDiff; + offset.bottom += heightDiff; + } + } + + offset.left += startOffset.left - rect.width * elementRect.left; + offset.top += startOffset.top - rect.height * elementRect.top; + offset.right += startOffset.right - rect.width * (1 - elementRect.right); + offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom); + } + + state.offset = offset; +} + +function set(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var options = state.options, + offset = state.offset; + var restriction = getRestrictionRect(options.restriction, interaction, coords); + + if (!restriction) { + return; + } + + var rect = ___rect_33["default"].xywhToTlbr(restriction); + + coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left); + coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top); +} + +function getRestrictionRect(value, interaction, coords) { + if (__is_33.func(value)) { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); + } else { + return ___rect_33["default"].resolveRectLike(value, interaction.interactable, interaction.element); + } +} + +var __defaults_33 = { + restriction: null, + elementRect: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrict = { + start: __start_33, + set: set, + getRestrictionRect: getRestrictionRect, + defaults: __defaults_33 +}; +var ___default_33 = restrict; +_$pointer_33["default"] = ___default_33; + +var _$edges_32 = {}; +"use strict"; + +Object.defineProperty(_$edges_32, "__esModule", { + value: true +}); +_$edges_32["default"] = void 0; + +var ___extend_32 = ___interopRequireDefault_32(_$extend_53); + +var ___rect_32 = ___interopRequireDefault_32(_$rect_63); + +var _pointer = ___interopRequireDefault_32(_$pointer_33); + +function ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +// This module adds the options.resize.restrictEdges setting which sets min and +// max for the top, left, bottom and right edges of the target being resized. +// +// interact(target).resize({ +// edges: { top: true, left: true }, +// restrictEdges: { +// inner: { top: 200, left: 200, right: 400, bottom: 400 }, +// outer: { top: 0, left: 0, right: 600, bottom: 600 }, +// }, +// }) +var __getRestrictionRect_32 = _pointer["default"].getRestrictionRect; +var noInner = { + top: +Infinity, + left: +Infinity, + bottom: -Infinity, + right: -Infinity +}; +var noOuter = { + top: -Infinity, + left: -Infinity, + bottom: +Infinity, + right: +Infinity +}; + +function __start_32(_ref) { + var interaction = _ref.interaction, + state = _ref.state; + var options = state.options; + var startOffset = interaction.modifiers.startOffset; + var offset; + + if (options) { + var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page); + offset = ___rect_32["default"].rectToXY(offsetRect); + } + + offset = offset || { + x: 0, + y: 0 + }; + state.offset = { + top: offset.y + startOffset.top, + left: offset.x + startOffset.left, + bottom: offset.y - startOffset.bottom, + right: offset.x - startOffset.right + }; +} + +function __set_32(_ref2) { + var coords = _ref2.coords, + interaction = _ref2.interaction, + state = _ref2.state; + var offset = state.offset, + options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var page = (0, ___extend_32["default"])({}, coords); + var inner = __getRestrictionRect_32(options.inner, interaction, page) || {}; + var outer = __getRestrictionRect_32(options.outer, interaction, page) || {}; + fixRect(inner, noInner); + fixRect(outer, noOuter); + + if (edges.top) { + coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top); + } else if (edges.bottom) { + coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom); + } + + if (edges.left) { + coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left); + } else if (edges.right) { + coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right); + } +} + +function fixRect(rect, defaults) { + var _arr = ['top', 'left', 'bottom', 'right']; + + for (var _i = 0; _i < _arr.length; _i++) { + var edge = _arr[_i]; + + if (!(edge in rect)) { + rect[edge] = defaults[edge]; + } + } + + return rect; +} + +var __defaults_32 = { + inner: null, + outer: null, + offset: null, + endOnly: false, + enabled: false +}; +var restrictEdges = { + noInner: noInner, + noOuter: noOuter, + getRestrictionRect: __getRestrictionRect_32, + start: __start_32, + set: __set_32, + defaults: __defaults_32 +}; +var ___default_32 = restrictEdges; +_$edges_32["default"] = ___default_32; + +var _$rect_34 = {}; +"use strict"; + +Object.defineProperty(_$rect_34, "__esModule", { + value: true +}); +_$rect_34["default"] = void 0; + +var ___extend_34 = ___interopRequireDefault_34(_$extend_53); + +var ___pointer_34 = ___interopRequireDefault_34(_$pointer_33); + +function ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __defaults_34 = (0, ___extend_34["default"])({ + get elementRect() { + return { + top: 0, + left: 0, + bottom: 1, + right: 1 + }; + }, + + set elementRect(_) {} + +}, ___pointer_34["default"].defaults); +var restrictRect = { + start: ___pointer_34["default"].start, + set: ___pointer_34["default"].set, + defaults: __defaults_34 +}; +var ___default_34 = restrictRect; +_$rect_34["default"] = ___default_34; + +var _$size_35 = {}; +"use strict"; + +Object.defineProperty(_$size_35, "__esModule", { + value: true +}); +_$size_35["default"] = void 0; + +var ___extend_35 = ___interopRequireDefault_35(_$extend_53); + +var ___rect_35 = ___interopRequireDefault_35(_$rect_63); + +var _edges = ___interopRequireDefault_35(_$edges_32); + +function ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var noMin = { + width: -Infinity, + height: -Infinity +}; +var noMax = { + width: +Infinity, + height: +Infinity +}; + +function __start_35(arg) { + return _edges["default"].start(arg); +} + +function __set_35(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared._linkedEdges || interaction.prepared.edges; + + if (!edges) { + return; + } + + var rect = ___rect_35["default"].xywhToTlbr(interaction.resizeRects.inverted); + + var minSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin; + var maxSize = ___rect_35["default"].tlbrToXywh(_edges["default"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax; + state.options = { + endOnly: options.endOnly, + inner: (0, ___extend_35["default"])({}, _edges["default"].noInner), + outer: (0, ___extend_35["default"])({}, _edges["default"].noOuter) + }; + + if (edges.top) { + state.options.inner.top = rect.bottom - minSize.height; + state.options.outer.top = rect.bottom - maxSize.height; + } else if (edges.bottom) { + state.options.inner.bottom = rect.top + minSize.height; + state.options.outer.bottom = rect.top + maxSize.height; + } + + if (edges.left) { + state.options.inner.left = rect.right - minSize.width; + state.options.outer.left = rect.right - maxSize.width; + } else if (edges.right) { + state.options.inner.right = rect.left + minSize.width; + state.options.outer.right = rect.left + maxSize.width; + } + + _edges["default"].set(arg); + + state.options = options; +} + +var __defaults_35 = { + min: null, + max: null, + endOnly: false, + enabled: false +}; +var restrictSize = { + start: __start_35, + set: __set_35, + defaults: __defaults_35 +}; +var ___default_35 = restrictSize; +_$size_35["default"] = ___default_35; + +var _$pointer_37 = {}; +"use strict"; + +Object.defineProperty(_$pointer_37, "__esModule", { + value: true +}); +_$pointer_37["default"] = void 0; + +var __utils_37 = ___interopRequireWildcard_37(_$utils_56); + +function ___getRequireWildcardCache_37() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __start_37(arg) { + var interaction = arg.interaction, + interactable = arg.interactable, + element = arg.element, + rect = arg.rect, + state = arg.state, + startOffset = arg.startOffset; + var options = state.options; + var offsets = []; + var origin = options.offsetWithOrigin ? getOrigin(arg) : { + x: 0, + y: 0 + }; + var snapOffset; + + if (options.offset === 'startCoords') { + snapOffset = { + x: interaction.coords.start.page.x, + y: interaction.coords.start.page.y + }; + } else { + var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]); + snapOffset = __utils_37.rect.rectToXY(offsetRect) || { + x: 0, + y: 0 + }; + snapOffset.x += origin.x; + snapOffset.y += origin.y; + } + + var relativePoints = options.relativePoints || []; + + if (rect && options.relativePoints && options.relativePoints.length) { + for (var index = 0; index < relativePoints.length; index++) { + var relativePoint = relativePoints[index]; + offsets.push({ + index: index, + relativePoint: relativePoint, + x: startOffset.left - rect.width * relativePoint.x + snapOffset.x, + y: startOffset.top - rect.height * relativePoint.y + snapOffset.y + }); + } + } else { + offsets.push(__utils_37.extend({ + index: 0, + relativePoint: null + }, snapOffset)); + } + + state.offsets = offsets; +} + +function __set_37(arg) { + var interaction = arg.interaction, + coords = arg.coords, + state = arg.state; + var options = state.options, + offsets = state.offsets; + var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); + var page = __utils_37.extend({}, coords); + var targets = []; + var target; + + if (!options.offsetWithOrigin) { + page.x -= origin.x; + page.y -= origin.y; + } + + state.realX = page.x; + state.realY = page.y; + + for (var _i = 0; _i < offsets.length; _i++) { + var _ref; + + _ref = offsets[_i]; + var offset = _ref; + var relativeX = page.x - offset.x; + var relativeY = page.y - offset.y; + + for (var index = 0, _len = options.targets.length; index < _len; index++) { + var snapTarget = options.targets[index]; + + if (__utils_37.is.func(snapTarget)) { + target = snapTarget(relativeX, relativeY, interaction, offset, index); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + targets.push({ + x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x, + y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y, + range: __utils_37.is.number(target.range) ? target.range : options.range + }); + } + } + + var closest = { + target: null, + inRange: false, + distance: 0, + range: 0, + dx: 0, + dy: 0 + }; + + for (var i = 0, len = targets.length; i < len; i++) { + target = targets[i]; + var range = target.range; + var dx = target.x - page.x; + var dy = target.y - page.y; + var distance = __utils_37.hypot(dx, dy); + var inRange = distance <= range; // Infinite targets count as being out of range + // compared to non infinite ones that are in range + + if (range === Infinity && closest.inRange && closest.range !== Infinity) { + inRange = false; + } + + if (!closest.target || (inRange // is the closest target in range? + ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target + ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't + : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest + distance < closest.distance : // The other is not in range and the pointer is closer to this target + !closest.inRange && distance < closest.distance)) { + closest.target = target; + closest.distance = distance; + closest.range = range; + closest.inRange = inRange; + closest.dx = dx; + closest.dy = dy; + state.range = range; + } + } + + if (closest.inRange) { + coords.x = closest.target.x; + coords.y = closest.target.y; + } + + state.closest = closest; +} + +function getOrigin(arg) { + var element = arg.interaction.element; + var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element])); + var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name); + return origin; +} + +var __defaults_37 = { + range: Infinity, + targets: null, + offset: null, + offsetWithOrigin: true, + origin: null, + relativePoints: null, + endOnly: false, + enabled: false +}; +var snap = { + start: __start_37, + set: __set_37, + defaults: __defaults_37 +}; +var ___default_37 = snap; +_$pointer_37["default"] = ___default_37; + +var _$size_38 = {}; +"use strict"; + +Object.defineProperty(_$size_38, "__esModule", { + value: true +}); +_$size_38["default"] = void 0; + +var ___extend_38 = ___interopRequireDefault_38(_$extend_53); + +var __is_38 = ___interopRequireWildcard_38(_$is_57); + +var ___pointer_38 = ___interopRequireDefault_38(_$pointer_37); + +function ___getRequireWildcardCache_38() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); } + +function ___nonIterableRest_38() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; } + +function __start_38(arg) { + var interaction = arg.interaction, + state = arg.state; + var options = state.options; + var edges = interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state = { + options: { + targets: null, + relativePoints: [{ + x: edges.left ? 0 : 1, + y: edges.top ? 0 : 1 + }], + offset: options.offset || 'self', + origin: { + x: 0, + y: 0 + }, + range: options.range + } + }; + state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; + + ___pointer_38["default"].start(arg); + + state.offsets = arg.state.offsets; + arg.state = state; +} + +function __set_38(arg) { + var interaction = arg.interaction, + state = arg.state, + coords = arg.coords; + var options = state.options, + offsets = state.offsets; + var relative = { + x: coords.x - offsets[0].x, + y: coords.y - offsets[0].y + }; + state.options = (0, ___extend_38["default"])({}, options); + state.options.targets = []; + + for (var _i = 0; _i < (options.targets || []).length; _i++) { + var _ref; + + _ref = (options.targets || [])[_i]; + var snapTarget = _ref; + var target = void 0; + + if (__is_38.func(snapTarget)) { + target = snapTarget(relative.x, relative.y, interaction); + } else { + target = snapTarget; + } + + if (!target) { + continue; + } + + for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) { + var _ref2; + + _ref2 = state.targetFields[_i2]; + + var _ref3 = _ref2, + _ref4 = ___slicedToArray_38(_ref3, 2), + xField = _ref4[0], + yField = _ref4[1]; + + if (xField in target || yField in target) { + target.x = target[xField]; + target.y = target[yField]; + break; + } + } + + state.options.targets.push(target); + } + + ___pointer_38["default"].set(arg); + + state.options = options; +} + +var __defaults_38 = { + range: Infinity, + targets: null, + offset: null, + endOnly: false, + enabled: false +}; +var snapSize = { + start: __start_38, + set: __set_38, + defaults: __defaults_38 +}; +var ___default_38 = snapSize; +_$size_38["default"] = ___default_38; + +var _$edges_36 = {}; +"use strict"; + +Object.defineProperty(_$edges_36, "__esModule", { + value: true +}); +_$edges_36["default"] = void 0; + +var ___clone_36 = ___interopRequireDefault_36(_$clone_49); + +var ___extend_36 = ___interopRequireDefault_36(_$extend_53); + +var _size = ___interopRequireDefault_36(_$size_38); + +function ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +/** + * @module modifiers/snapEdges + * + * @description + * This module allows snapping of the edges of targets during resize + * interactions. + * + * @example + * interact(target).resizable({ + * snapEdges: { + * targets: [interact.snappers.grid({ x: 100, y: 50 })], + * }, + * }) + * + * interact(target).resizable({ + * snapEdges: { + * targets: [ + * interact.snappers.grid({ + * top: 50, + * left: 50, + * bottom: 100, + * right: 100, + * }), + * ], + * }, + * }) + */ +function __start_36(arg) { + var edges = arg.interaction.prepared.edges; + + if (!edges) { + return null; + } + + arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; + return _size["default"].start(arg); +} + +function __set_36(arg) { + return _size["default"].set(arg); +} + +var snapEdges = { + start: __start_36, + set: __set_36, + defaults: (0, ___extend_36["default"])((0, ___clone_36["default"])(_size["default"].defaults), { + offset: { + x: 0, + y: 0 + } + }) +}; +var ___default_36 = snapEdges; +_$edges_36["default"] = ___default_36; + +var _$modifiers_31 = {}; +"use strict"; + +Object.defineProperty(_$modifiers_31, "__esModule", { + value: true +}); +_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0; + +var ___base_31 = ___interopRequireDefault_31(_$base_30); + +var ___edges_31 = ___interopRequireDefault_31(_$edges_32); + +var ___pointer_31 = ___interopRequireDefault_31(_$pointer_33); + +var ___rect_31 = ___interopRequireDefault_31(_$rect_34); + +var ___size_31 = ___interopRequireDefault_31(_$size_35); + +var _edges2 = ___interopRequireDefault_31(_$edges_36); + +var _pointer2 = ___interopRequireDefault_31(_$pointer_37); + +var _size2 = ___interopRequireDefault_31(_$size_38); + +function ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var __makeModifier_31 = ___base_31["default"].makeModifier; +var __snap_31 = __makeModifier_31(_pointer2["default"], 'snap'); +_$modifiers_31.snap = __snap_31; +var __snapSize_31 = __makeModifier_31(_size2["default"], 'snapSize'); +_$modifiers_31.snapSize = __snapSize_31; +var __snapEdges_31 = __makeModifier_31(_edges2["default"], 'snapEdges'); +_$modifiers_31.snapEdges = __snapEdges_31; +var __restrict_31 = __makeModifier_31(___pointer_31["default"], 'restrict'); +_$modifiers_31.restrict = __restrict_31; +var __restrictRect_31 = __makeModifier_31(___rect_31["default"], 'restrictRect'); +_$modifiers_31.restrictRect = __restrictRect_31; +var __restrictEdges_31 = __makeModifier_31(___edges_31["default"], 'restrictEdges'); +_$modifiers_31.restrictEdges = __restrictEdges_31; +var __restrictSize_31 = __makeModifier_31(___size_31["default"], 'restrictSize'); +_$modifiers_31.restrictSize = __restrictSize_31; + +var _$PointerEvent_39 = {}; +"use strict"; + +Object.defineProperty(_$PointerEvent_39, "__esModule", { + value: true +}); +_$PointerEvent_39["default"] = void 0; + +var ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13); + +var ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61); + +function ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___typeof_39(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_39(obj); } + +function ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; } + +function ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === "object" || typeof call === "function")) { return call; } return ___assertThisInitialized_39(self); } + +function ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); } + +function ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function ___inherits_39(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); } + +function ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); } + +/** */ +var PointerEvent = +/*#__PURE__*/ +function (_BaseEvent) { + ___inherits_39(PointerEvent, _BaseEvent); + + /** */ + function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) { + var _this; + + ___classCallCheck_39(this, PointerEvent); + + _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction)); + + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), event); + + if (event !== pointer) { + ___pointerUtils_39["default"].pointerExtend(___assertThisInitialized_39(_this), pointer); + } + + _this.timeStamp = timeStamp; + _this.originalEvent = event; + _this.type = type; + _this.pointerId = ___pointerUtils_39["default"].getPointerId(pointer); + _this.pointerType = ___pointerUtils_39["default"].getPointerType(pointer); + _this.target = eventTarget; + _this.currentTarget = null; + + if (type === 'tap') { + var pointerIndex = interaction.getPointerIndex(pointer); + _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime; + var interval = _this.timeStamp - interaction.tapTime; + _this["double"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500); + } else if (type === 'doubletap') { + _this.dt = pointer.timeStamp - interaction.tapTime; + } + + return _this; + } + + ___createClass_39(PointerEvent, [{ + key: "_subtractOrigin", + value: function _subtractOrigin(_ref) { + var originX = _ref.x, + originY = _ref.y; + this.pageX -= originX; + this.pageY -= originY; + this.clientX -= originX; + this.clientY -= originY; + return this; + } + }, { + key: "_addOrigin", + value: function _addOrigin(_ref2) { + var originX = _ref2.x, + originY = _ref2.y; + this.pageX += originX; + this.pageY += originY; + this.clientX += originX; + this.clientY += originY; + return this; + } + /** + * Prevent the default behaviour of the original Event + */ + + }, { + key: "preventDefault", + value: function preventDefault() { + this.originalEvent.preventDefault(); + } + }]); + + return PointerEvent; +}(___BaseEvent2_39["default"]); + +_$PointerEvent_39["default"] = PointerEvent; + +var _$base_40 = {}; +"use strict"; + +Object.defineProperty(_$base_40, "__esModule", { + value: true +}); +_$base_40["default"] = void 0; + +var __utils_40 = ___interopRequireWildcard_40(_$utils_56); + +var _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39); + +function ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_40() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +var signals = new __utils_40.Signals(); +var simpleSignals = ['down', 'up', 'cancel']; +var simpleEvents = ['down', 'up', 'cancel']; +var __defaults_40 = { + holdDuration: 600, + ignoreFrom: null, + allowFrom: null, + origin: { + x: 0, + y: 0 + } +}; +var pointerEvents = { + id: 'pointer-events/base', + install: __install_40, + signals: signals, + PointerEvent: _PointerEvent["default"], + fire: fire, + collectEventTargets: collectEventTargets, + createSignalListener: createSignalListener, + defaults: __defaults_40, + types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold'] +}; + +function fire(arg, scope) { + var interaction = arg.interaction, + pointer = arg.pointer, + event = arg.event, + eventTarget = arg.eventTarget, + _arg$type = arg.type, + type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type, + _arg$targets = arg.targets, + targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets; + var _arg$pointerEvent = arg.pointerEvent, + pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent["default"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent; + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + targets: targets, + type: type, + pointerEvent: pointerEvent + }; + + for (var i = 0; i < targets.length; i++) { + var target = targets[i]; + + for (var prop in target.props || {}) { + pointerEvent[prop] = target.props[prop]; + } + + var origin = __utils_40.getOriginXY(target.eventable, target.node); + + pointerEvent._subtractOrigin(origin); + + pointerEvent.eventable = target.eventable; + pointerEvent.currentTarget = target.node; + target.eventable.fire(pointerEvent); + + pointerEvent._addOrigin(origin); + + if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) { + break; + } + } + + signals.fire('fired', signalArg); + + if (type === 'tap') { + // if pointerEvent should make a double tap, create and fire a doubletap + // PointerEvent and use that as the prevTap + var prevTap = pointerEvent["double"] ? fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'doubletap' + }, scope) : pointerEvent; + interaction.prevTap = prevTap; + interaction.tapTime = prevTap.timeStamp; + } + + return pointerEvent; +} + +function collectEventTargets(_ref) { + var interaction = _ref.interaction, + pointer = _ref.pointer, + event = _ref.event, + eventTarget = _ref.eventTarget, + type = _ref.type; + var pointerIndex = interaction.getPointerIndex(pointer); + var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted + + if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target + !(pointerInfo && pointerInfo.downTarget === eventTarget))) { + return []; + } + + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: type, + path: path, + targets: [], + node: null + }; + + for (var _i = 0; _i < path.length; _i++) { + var _ref2; + + _ref2 = path[_i]; + var node = _ref2; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (type === 'hold') { + signalArg.targets = signalArg.targets.filter(function (target) { + return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration; + }); + } + + return signalArg.targets; +} + +function __install_40(scope) { + var interactions = scope.interactions; + scope.pointerEvents = pointerEvents; + scope.defaults.actions.pointerEvents = pointerEvents.defaults; + interactions.signals.on('new', function (_ref3) { + var interaction = _ref3.interaction; + interaction.prevTap = null; // the most recent tap event on this interaction + + interaction.tapTime = 0; // time of the most recent tap event + }); + interactions.signals.on('update-pointer', function (_ref4) { + var down = _ref4.down, + pointerInfo = _ref4.pointerInfo; + + if (!down && pointerInfo.hold) { + return; + } + + pointerInfo.hold = { + duration: Infinity, + timeout: null + }; + }); + interactions.signals.on('move', function (_ref5) { + var interaction = _ref5.interaction, + pointer = _ref5.pointer, + event = _ref5.event, + eventTarget = _ref5.eventTarget, + duplicateMove = _ref5.duplicateMove; + var pointerIndex = interaction.getPointerIndex(pointer); + + if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) { + if (interaction.pointerIsDown) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + + fire({ + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'move' + }, scope); + } + }); + interactions.signals.on('down', function (_ref6) { + var interaction = _ref6.interaction, + pointer = _ref6.pointer, + event = _ref6.event, + eventTarget = _ref6.eventTarget, + pointerIndex = _ref6.pointerIndex; + var timer = interaction.pointers[pointerIndex].hold; + var path = __utils_40.dom.getPath(eventTarget); + var signalArg = { + interaction: interaction, + pointer: pointer, + event: event, + eventTarget: eventTarget, + type: 'hold', + targets: [], + path: path, + node: null + }; + + for (var _i2 = 0; _i2 < path.length; _i2++) { + var _ref7; + + _ref7 = path[_i2]; + var node = _ref7; + signalArg.node = node; + signals.fire('collect-targets', signalArg); + } + + if (!signalArg.targets.length) { + return; + } + + var minDuration = Infinity; + + for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) { + var _ref8; + + _ref8 = signalArg.targets[_i3]; + var target = _ref8; + var holdDuration = target.eventable.options.holdDuration; + + if (holdDuration < minDuration) { + minDuration = holdDuration; + } + } + + timer.duration = minDuration; + timer.timeout = setTimeout(function () { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'hold' + }, scope); + }, minDuration); + }); + var _arr = ['up', 'cancel']; + + for (var _i4 = 0; _i4 < _arr.length; _i4++) { + var signalName = _arr[_i4]; + interactions.signals.on(signalName, function (_ref10) { + var interaction = _ref10.interaction, + pointerIndex = _ref10.pointerIndex; + + if (interaction.pointers[pointerIndex].hold) { + clearTimeout(interaction.pointers[pointerIndex].hold.timeout); + } + }); + } + + for (var i = 0; i < simpleSignals.length; i++) { + interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope)); + } + + interactions.signals.on('up', function (_ref9) { + var interaction = _ref9.interaction, + pointer = _ref9.pointer, + event = _ref9.event, + eventTarget = _ref9.eventTarget; + + if (!interaction.pointerWasMoved) { + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: 'tap' + }, scope); + } + }); +} + +function createSignalListener(type, scope) { + return function (_ref11) { + var interaction = _ref11.interaction, + pointer = _ref11.pointer, + event = _ref11.event, + eventTarget = _ref11.eventTarget; + fire({ + interaction: interaction, + eventTarget: eventTarget, + pointer: pointer, + event: event, + type: type + }, scope); + }; +} + +var ___default_40 = pointerEvents; +_$base_40["default"] = ___default_40; + +var _$holdRepeat_41 = {}; +"use strict"; + +Object.defineProperty(_$holdRepeat_41, "__esModule", { + value: true +}); +_$holdRepeat_41["default"] = void 0; + +var ___base_41 = ___interopRequireDefault_41(_$base_40); + +function ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_41(scope) { + var pointerEvents = scope.pointerEvents, + interactions = scope.interactions; + scope.usePlugin(___base_41["default"]); + pointerEvents.signals.on('new', onNew); + pointerEvents.signals.on('fired', function (arg) { + return onFired(arg, scope); + }); + var _arr = ['move', 'up', 'cancel', 'endall']; + + for (var _i = 0; _i < _arr.length; _i++) { + var signal = _arr[_i]; + interactions.signals.on(signal, endHoldRepeat); + } // don't repeat by default + + + pointerEvents.defaults.holdRepeatInterval = 0; + pointerEvents.types.push('holdrepeat'); +} + +function onNew(_ref) { + var pointerEvent = _ref.pointerEvent; + + if (pointerEvent.type !== 'hold') { + return; + } + + pointerEvent.count = (pointerEvent.count || 0) + 1; +} + +function onFired(_ref2, scope) { + var interaction = _ref2.interaction, + pointerEvent = _ref2.pointerEvent, + eventTarget = _ref2.eventTarget, + targets = _ref2.targets; + + if (pointerEvent.type !== 'hold' || !targets.length) { + return; + } // get the repeat interval from the first eventable + + + var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less + + if (interval <= 0) { + return; + } // set a timeout to fire the holdrepeat event + + + interaction.holdIntervalHandle = setTimeout(function () { + scope.pointerEvents.fire({ + interaction: interaction, + eventTarget: eventTarget, + type: 'hold', + pointer: pointerEvent, + event: pointerEvent + }, scope); + }, interval); +} + +function endHoldRepeat(_ref3) { + var interaction = _ref3.interaction; + + // set the interaction's holdStopTime property + // to stop further holdRepeat events + if (interaction.holdIntervalHandle) { + clearInterval(interaction.holdIntervalHandle); + interaction.holdIntervalHandle = null; + } +} + +var ___default_41 = { + id: 'pointer-events/holdRepeat', + install: __install_41 +}; +_$holdRepeat_41["default"] = ___default_41; + +var _$interactableTargets_43 = {}; +"use strict"; + +Object.defineProperty(_$interactableTargets_43, "__esModule", { + value: true +}); +_$interactableTargets_43["default"] = void 0; + +/* removed: var _$arr_47 = require("@interactjs/utils/arr"); */; + +var ___extend_43 = ___interopRequireDefault_43(_$extend_53); + +function ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_43(scope) { + var pointerEvents = scope.pointerEvents, + actions = scope.actions, + Interactable = scope.Interactable, + interactables = scope.interactables; + pointerEvents.signals.on('collect-targets', function (_ref) { + var targets = _ref.targets, + node = _ref.node, + type = _ref.type, + eventTarget = _ref.eventTarget; + scope.interactables.forEachMatch(node, function (interactable) { + var eventable = interactable.events; + var options = eventable.options; + + if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) { + targets.push({ + node: node, + eventable: eventable, + props: { + interactable: interactable + } + }); + } + }); + }); + interactables.signals.on('new', function (_ref2) { + var interactable = _ref2.interactable; + + interactable.events.getRect = function (element) { + return interactable.getRect(element); + }; + }); + interactables.signals.on('set', function (_ref3) { + var interactable = _ref3.interactable, + options = _ref3.options; + (0, ___extend_43["default"])(interactable.events.options, pointerEvents.defaults); + (0, ___extend_43["default"])(interactable.events.options, options.pointerEvents || {}); + }); + (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types); + Interactable.prototype.pointerEvents = pointerEventsMethod; + var __backCompatOption = Interactable.prototype._backCompatOption; + + Interactable.prototype._backCompatOption = function (optionName, newValue) { + var ret = __backCompatOption.call(this, optionName, newValue); + + if (ret === this) { + this.events.options[optionName] = newValue; + } + + return ret; + }; +} + +function pointerEventsMethod(options) { + (0, ___extend_43["default"])(this.events.options, options); + return this; +} + +var ___default_43 = { + id: 'pointer-events/interactableTargets', + install: __install_43 +}; +_$interactableTargets_43["default"] = ___default_43; + +var _$pointerEvents_42 = {}; +"use strict"; + +Object.defineProperty(_$pointerEvents_42, "__esModule", { + value: true +}); +_$pointerEvents_42.install = __install_42; +Object.defineProperty(_$pointerEvents_42, "pointerEvents", { + enumerable: true, + get: function get() { + return ___base_42["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "holdRepeat", { + enumerable: true, + get: function get() { + return _holdRepeat["default"]; + } +}); +Object.defineProperty(_$pointerEvents_42, "interactableTargets", { + enumerable: true, + get: function get() { + return _interactableTargets["default"]; + } +}); +_$pointerEvents_42.id = void 0; + +var ___base_42 = ___interopRequireDefault_42(_$base_40); + +var _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41); + +var _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43); + +function ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function __install_42(scope) { + scope.usePlugin(___base_42["default"]); + scope.usePlugin(_holdRepeat["default"]); + scope.usePlugin(_interactableTargets["default"]); +} + +var __id_42 = 'pointer-events'; +_$pointerEvents_42.id = __id_42; + +var _$reflow_44 = {}; +"use strict"; + +Object.defineProperty(_$reflow_44, "__esModule", { + value: true +}); +_$reflow_44.install = __install_44; +_$reflow_44["default"] = void 0; + +/* removed: var _$InteractEvent_15 = require("@interactjs/core/InteractEvent"); */; + +/* removed: var _$utils_56 = require("@interactjs/utils"); */; + +_$InteractEvent_15.EventPhase.Reflow = 'reflow'; + +function __install_44(scope) { + var actions = scope.actions, + interactions = scope.interactions, + Interactable = scope.Interactable; // add action reflow event types + + for (var _i = 0; _i < actions.names.length; _i++) { + var _ref; + + _ref = actions.names[_i]; + var actionName = _ref; + actions.eventTypes.push("".concat(actionName, "reflow")); + } // remove completed reflow interactions + + + interactions.signals.on('stop', function (_ref2) { + var interaction = _ref2.interaction; + + if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) { + if (interaction._reflowResolve) { + interaction._reflowResolve(); + } + + _$utils_56.arr.remove(scope.interactions.list, interaction); + } + }); + /** + * ```js + * const interactable = interact(target) + * const drag = { name: drag, axis: 'x' } + * const resize = { name: resize, edges: { left: true, bottom: true } + * + * interactable.reflow(drag) + * interactable.reflow(resize) + * ``` + * + * Start an action sequence to re-apply modifiers, check drops, etc. + * + * @param { Object } action The action to begin + * @param { string } action.name The name of the action + * @returns { Promise } + */ + + Interactable.prototype.reflow = function (action) { + return reflow(this, action, scope); + }; +} + +function reflow(interactable, action, scope) { + var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name + + var Promise = _$utils_56.win.window.Promise; + var promises = Promise ? [] : null; + + var _loop = function _loop() { + _ref3 = elements[_i2]; + var element = _ref3; + var rect = interactable.getRect(element); + + if (!rect) { + return "break"; + } + + var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) { + return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name; + }); + + var reflowPromise = void 0; + + if (runningInteraction) { + runningInteraction.move(); + + if (promises) { + reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) { + runningInteraction._reflowResolve = resolve; + }); + } + } else { + var xywh = _$utils_56.rect.tlbrToXywh(rect); + + var coords = { + page: { + x: xywh.x, + y: xywh.y + }, + client: { + x: xywh.x, + y: xywh.y + }, + timeStamp: scope.now() + }; + + var event = _$utils_56.pointer.coordsToEvent(coords); + + reflowPromise = startReflow(scope, interactable, element, action, event); + } + + if (promises) { + promises.push(reflowPromise); + } + }; + + for (var _i2 = 0; _i2 < elements.length; _i2++) { + var _ref3; + + var _ret = _loop(); + + if (_ret === "break") break; + } + + return promises && Promise.all(promises).then(function () { + return interactable; + }); +} + +function startReflow(scope, interactable, element, action, event) { + var interaction = scope.interactions["new"]({ + pointerType: 'reflow' + }); + var signalArg = { + interaction: interaction, + event: event, + pointer: event, + eventTarget: element, + phase: _$InteractEvent_15.EventPhase.Reflow + }; + interaction.interactable = interactable; + interaction.element = element; + interaction.prepared = (0, _$utils_56.extend)({}, action); + interaction.prevEvent = event; + interaction.updatePointer(event, event, element, true); + + interaction._doPhase(signalArg); + + var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) { + interaction._reflowResolve = resolve; + }) : null; + interaction._reflowPromise = reflowPromise; + interaction.start(action, interactable, element); + + if (interaction._interacting) { + interaction.move(signalArg); + interaction.end(event); + } else { + interaction.stop(); + } + + interaction.removePointer(event, event); + interaction.pointerIsDown = false; + return reflowPromise; +} + +var ___default_44 = { + id: 'reflow', + install: __install_44 +}; +_$reflow_44["default"] = ___default_44; + +var _$interact_28 = {}; +"use strict"; + +Object.defineProperty(_$interact_28, "__esModule", { + value: true +}); +_$interact_28["default"] = _$interact_28.scope = _$interact_28.interact = void 0; + +var ___scope_28 = _$scope_24({}); + +var __utils_28 = ___interopRequireWildcard_28(_$utils_56); + +var ___browser_28 = ___interopRequireDefault_28(_$browser_48); + +var ___events_28 = ___interopRequireDefault_28(_$events_52); + +function ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_28() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +/** @module interact */ +var globalEvents = {}; +var scope = new ___scope_28.Scope(); +/** + * ```js + * interact('#draggable').draggable(true) + * + * var rectables = interact('rect') + * rectables + * .gesturable(true) + * .on('gesturemove', function (event) { + * // ... + * }) + * ``` + * + * The methods of this variable can be used to set elements as interactables + * and also to change various default settings. + * + * Calling it as a function and passing an element or a valid CSS selector + * string returns an Interactable object which has various methods to configure + * it. + * + * @global + * + * @param {Element | string} target The HTML or SVG Element to interact with + * or CSS selector + * @return {Interactable} + */ + +_$interact_28.scope = scope; + +var interact = function interact(target, options) { + var interactable = scope.interactables.get(target, options); + + if (!interactable) { + interactable = scope.interactables["new"](target, options); + interactable.events.global = globalEvents; + } + + return interactable; +}; +/** + * Use a plugin + * + * @alias module:interact.use + * + * @param {Object} plugin + * @param {function} plugin.install + * @return {interact} + */ + + +_$interact_28.interact = interact; +interact.use = use; + +function use(plugin, options) { + scope.usePlugin(plugin, options); + return interact; +} +/** + * Check if an element or selector has been set with the {@link interact} + * function + * + * @alias module:interact.isSet + * + * @param {Element} element The Element being searched for + * @return {boolean} Indicates if the element or CSS selector was previously + * passed to interact + */ + + +interact.isSet = isSet; + +function isSet(target, options) { + return !!scope.interactables.get(target, options && options.context); +} +/** + * Add a global listener for an InteractEvent or adds a DOM event to `document` + * + * @alias module:interact.on + * + * @param {string | array | object} type The types of events to listen for + * @param {function} listener The function event (s) + * @param {object | boolean} [options] object or useCapture flag for + * addEventListener + * @return {object} interact + */ + + +interact.on = on; + +function on(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i = 0; _i < type.length; _i++) { + var _ref; + + _ref = type[_i]; + var eventType = _ref; + interact.on(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.on(prop, type[prop], listener); + } + + return interact; + } // if it is an InteractEvent type, add listener to globalEvents + + + if (__utils_28.arr.contains(scope.actions.eventTypes, type)) { + // if this type of event was never bound + if (!globalEvents[type]) { + globalEvents[type] = [listener]; + } else { + globalEvents[type].push(listener); + } + } // If non InteractEvent type, addEventListener to document + else { + ___events_28["default"].add(scope.document, type, listener, { + options: options + }); + } + + return interact; +} +/** + * Removes a global InteractEvent listener or DOM event from `document` + * + * @alias module:interact.off + * + * @param {string | array | object} type The types of events that were listened + * for + * @param {function} listener The listener function to be removed + * @param {object | boolean} options [options] object or useCapture flag for + * removeEventListener + * @return {object} interact + */ + + +interact.off = off; + +function off(type, listener, options) { + if (__utils_28.is.string(type) && type.search(' ') !== -1) { + type = type.trim().split(/ +/); + } + + if (__utils_28.is.array(type)) { + for (var _i2 = 0; _i2 < type.length; _i2++) { + var _ref2; + + _ref2 = type[_i2]; + var eventType = _ref2; + interact.off(eventType, listener, options); + } + + return interact; + } + + if (__utils_28.is.object(type)) { + for (var prop in type) { + interact.off(prop, type[prop], listener); + } + + return interact; + } + + if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) { + ___events_28["default"].remove(scope.document, type, listener, options); + } else { + var index; + + if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) { + globalEvents[type].splice(index, 1); + } + } + + return interact; +} +/** + * Returns an object which exposes internal data + * @alias module:interact.debug + * + * @return {object} An object with properties that outline the current state + * and expose internal functions and variables + */ + + +interact.debug = debug; + +function debug() { + return scope; +} // expose the functions used to calculate multi-touch properties + + +interact.getPointerAverage = __utils_28.pointer.pointerAverage; +interact.getTouchBBox = __utils_28.pointer.touchBBox; +interact.getTouchDistance = __utils_28.pointer.touchDistance; +interact.getTouchAngle = __utils_28.pointer.touchAngle; +interact.getElementRect = __utils_28.dom.getElementRect; +interact.getElementClientRect = __utils_28.dom.getElementClientRect; +interact.matchesSelector = __utils_28.dom.matchesSelector; +interact.closest = __utils_28.dom.closest; +/** + * @alias module:interact.supportsTouch + * + * @return {boolean} Whether or not the browser supports touch input + */ + +interact.supportsTouch = supportsTouch; + +function supportsTouch() { + return ___browser_28["default"].supportsTouch; +} +/** + * @alias module:interact.supportsPointerEvent + * + * @return {boolean} Whether or not the browser supports PointerEvents + */ + + +interact.supportsPointerEvent = supportsPointerEvent; + +function supportsPointerEvent() { + return ___browser_28["default"].supportsPointerEvent; +} +/** + * Cancels all interactions (end events are not fired) + * + * @alias module:interact.stop + * + * @return {object} interact + */ + + +interact.stop = __stop_28; + +function __stop_28() { + for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) { + var _ref3; + + _ref3 = scope.interactions.list[_i3]; + var interaction = _ref3; + interaction.stop(); + } + + return interact; +} +/** + * Returns or sets the distance the pointer must be moved before an action + * sequence occurs. This also affects tolerance for tap events. + * + * @alias module:interact.pointerMoveTolerance + * + * @param {number} [newValue] The movement from the start position must be greater than this value + * @return {interact | number} + */ + + +interact.pointerMoveTolerance = pointerMoveTolerance; + +function pointerMoveTolerance(newValue) { + if (__utils_28.is.number(newValue)) { + scope.interactions.pointerMoveTolerance = newValue; + return interact; + } + + return scope.interactions.pointerMoveTolerance; +} + +scope.interactables.signals.on('unset', function (_ref4) { + var interactable = _ref4.interactable; + scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset + + for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) { + var _ref5; + + _ref5 = scope.interactions.list[_i4]; + var interaction = _ref5; + + if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) { + interaction.stop(); + } + } +}); + +interact.addDocument = function (doc, options) { + return scope.addDocument(doc, options); +}; + +interact.removeDocument = function (doc) { + return scope.removeDocument(doc); +}; + +scope.interact = interact; +var ___default_28 = interact; +_$interact_28["default"] = ___default_28; + +var _$interact_27 = {}; +"use strict"; + +Object.defineProperty(_$interact_27, "__esModule", { + value: true +}); +_$interact_27.init = __init_27; +Object.defineProperty(_$interact_27, "autoScroll", { + enumerable: true, + get: function get() { + return _autoScroll["default"]; + } +}); +Object.defineProperty(_$interact_27, "interactablePreventDefault", { + enumerable: true, + get: function get() { + return _interactablePreventDefault["default"]; + } +}); +Object.defineProperty(_$interact_27, "inertia", { + enumerable: true, + get: function get() { + return _inertia["default"]; + } +}); +Object.defineProperty(_$interact_27, "modifiers", { + enumerable: true, + get: function get() { + return ___base_27["default"]; + } +}); +Object.defineProperty(_$interact_27, "reflow", { + enumerable: true, + get: function get() { + return _reflow["default"]; + } +}); +Object.defineProperty(_$interact_27, "interact", { + enumerable: true, + get: function get() { + return _interact["default"]; + } +}); +_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27["default"] = void 0; + +var actions = ___interopRequireWildcard_27(_$actions_5); + +_$interact_27.actions = actions; + +var _autoScroll = ___interopRequireDefault_27(_$autoScroll_7); + +var autoStart = ___interopRequireWildcard_27(_$autoStart_12); + +var _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21); + +var _devTools = ___interopRequireDefault_27(_$devTools_25); + +var _inertia = ___interopRequireDefault_27(_$inertia_26); + +var modifiers = ___interopRequireWildcard_27(_$modifiers_31); + +var ___base_27 = ___interopRequireDefault_27(_$base_30); + +var __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42); + +_$interact_27.pointerEvents = __pointerEvents_27; + +var _reflow = ___interopRequireDefault_27(_$reflow_44); + +var _interact = ___interopRequireWildcard_27(_$interact_28); + +function ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_27() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function __init_27(window) { + _interact.scope.init(window); + + _interact["default"].use(_interactablePreventDefault["default"]); // pointerEvents + + + _interact["default"].use(__pointerEvents_27); // inertia + + + _interact["default"].use(_inertia["default"]); // autoStart, hold + + + _interact["default"].use(autoStart); // drag and drop, resize, gesture + + + _interact["default"].use(actions); // snap, resize, etc. + + + _interact["default"].use(___base_27["default"]); // for backwrads compatibility + + + for (var type in modifiers) { + var _modifiers$type = modifiers[type], + _defaults = _modifiers$type._defaults, + _methods = _modifiers$type._methods; + _defaults._methods = _methods; + _interact.scope.defaults.perAction[type] = _defaults; + } // autoScroll + + + _interact["default"].use(_autoScroll["default"]); // reflow + + + _interact["default"].use(_reflow["default"]); // eslint-disable-next-line no-undef + + + if (false) {} + + return _interact["default"]; +} // eslint-disable-next-line no-undef + + +_interact["default"].version = "1.6.3"; +var ___default_27 = _interact["default"]; +_$interact_27["default"] = ___default_27; + +var _$types_45 = {}; +/// +"use strict"; + +var _$grid_64 = {}; +"use strict"; + +Object.defineProperty(_$grid_64, "__esModule", { + value: true +}); +_$grid_64["default"] = void 0; + +function ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); } + +function ___nonIterableRest_64() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; } + +function createGrid(grid) { + var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) { + var _ref2 = ___slicedToArray_64(_ref, 2), + xField = _ref2[0], + yField = _ref2[1]; + + return xField in grid || yField in grid; + }); + return function (x, y) { + var range = grid.range, + _grid$limits = grid.limits, + limits = _grid$limits === void 0 ? { + left: -Infinity, + right: Infinity, + top: -Infinity, + bottom: Infinity + } : _grid$limits, + _grid$offset = grid.offset, + offset = _grid$offset === void 0 ? { + x: 0, + y: 0 + } : _grid$offset; + var result = { + range: range + }; + + for (var _i2 = 0; _i2 < coordFields.length; _i2++) { + var _ref3; + + _ref3 = coordFields[_i2]; + + var _ref4 = _ref3, + _ref5 = ___slicedToArray_64(_ref4, 2), + xField = _ref5[0], + yField = _ref5[1]; + + var gridx = Math.round((x - offset.x) / grid[xField]); + var gridy = Math.round((y - offset.y) / grid[yField]); + result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x)); + result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y)); + } + + return result; + }; +} + +var ___default_64 = createGrid; +_$grid_64["default"] = ___default_64; + +var _$snappers_65 = {}; +"use strict"; + +Object.defineProperty(_$snappers_65, "__esModule", { + value: true +}); +Object.defineProperty(_$snappers_65, "grid", { + enumerable: true, + get: function get() { + return _grid["default"]; + } +}); + +var _grid = ___interopRequireDefault_65(_$grid_64); + +function ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +var _$index_29 = { exports: {} }; +"use strict"; + +Object.defineProperty(_$index_29.exports, "__esModule", { + value: true +}); +_$index_29.exports.init = __init_29; +_$index_29.exports["default"] = void 0; + +var ___interact_29 = ___interopRequireWildcard_29(_$interact_27); + +var __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31); + +_$types_45; + +var ___extend_29 = ___interopRequireDefault_29(_$extend_53); + +var snappers = ___interopRequireWildcard_29(_$snappers_65); + +function ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } + +function ___getRequireWildcardCache_29() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; } + +function ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function ___typeof_29(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return ___typeof_29(obj); } + +if ((typeof window === "undefined" ? "undefined" : ___typeof_29(window)) === 'object' && !!window) { + __init_29(window); +} + +function __init_29(win) { + (0, ___interact_29.init)(win); + return ___interact_29["default"].use({ + id: 'interactjs', + install: function install() { + ___interact_29["default"].modifiers = (0, ___extend_29["default"])({}, __modifiers_29); + ___interact_29["default"].snappers = snappers; + ___interact_29["default"].createSnapGrid = ___interact_29["default"].snappers.grid; + } + }); +} + +var ___default_29 = ___interact_29["default"]; +_$index_29.exports["default"] = ___default_29; +___interact_29["default"]["default"] = ___interact_29["default"] // tslint:disable-line no-string-literal +; +___interact_29["default"].init = __init_29; // tslint:disable-line no-string-literal + +if (( false ? undefined : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) { + _$index_29.exports = ___interact_29["default"]; +} + +_$index_29 = _$index_29.exports +return _$index_29; + +}); + + +//# sourceMappingURL=interact.js.map + + /***/ }), /***/ "fca0": diff --git a/dist/vue-grid-layout.umd.js.map b/dist/vue-grid-layout.umd.js.map index d4cdbeae..5cce6ca7 100644 --- a/dist/vue-grid-layout.umd.js.map +++ b/dist/vue-grid-layout.umd.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueGridLayout/webpack/universalModuleDefinition","webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.min.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?a8b6","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?d677","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD,qBAAqB,mBAAO,CAAC,MAAe;AAC5C,eAAe,mBAAO,CAAC,MAAQ;AAC/B,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;ACpEA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,SAAS,mBAAO,CAAC,MAAc;;AAE/B;AACA;AACA;AACA;AACA;;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;;;ACHa;AACb;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,kBAAkB,mBAAO,CAAC,MAAkB;;AAE5C;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAka;AACxb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;ACRlF,UAAU,mBAAO,CAAC,MAAe;AACjC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,gBAAgB,mBAAO,CAAC,MAAe;AACvC,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,UAAU,mBAAO,CAAC,MAAQ;AAC1B,qBAAqB,mBAAO,CAAC,MAAmB;AAChD;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAc;AAC/B,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAgB;;AAEtC,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACZA;AACA;AACA;AACA;;AAEa;;AAEb,sBAAsB,mBAAO,CAAC,MAAqB;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtPa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA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AAc,iBAAiB,mBAAO,CAAC,MAAc,KAAK;;;;;;;;;ACFtG;;AAEb,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;ACJA;AACA,aAAa,GAAG,IAAoD,oBAAoB,KAAK,EAAiL,CAAC,aAAa,SAAS,sCAAsC,SAAS,mBAAmB,sBAAsB,+CAA+C,SAAS,sCAAsC,SAAS,0CAA0C,OAAO,oDAAoD,cAAc,eAAe,oCAAoC,iGAAiG,cAAc,oEAAoE,oFAAoF,QAAQ,YAAY,SAAS,cAAc,iFAAiF,gBAAgB,aAAa,oGAAoG,KAAK,sCAAsC,SAAS,mBAAmB,kBAAkB,2BAA2B,e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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;AAC9K,gCAAgC,0BAA0B;AAC1D;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,mBAAmB;AACvD;;AAEA,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzIA;AACA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,eAAe,mBAAO,CAAC,MAAc;AACrC,sBAAsB,mBAAO,CAAC,MAAsB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,YAAY,eAAe;AAChC;AACA,KAAK;AACL;AACA;;;;;;;;;ACtBa;AACb,aAAa,mBAAO,CAAC,MAAW;AAChC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,UAAU,mBAAO,CAAC,MAAQ;AAC1B,wBAAwB,mBAAO,CAAC,MAAwB;AACxD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,YAAY,mBAAO,CAAC,MAAU;AAC9B,WAAW,mBAAO,CAAC,MAAgB;AACnC,WAAW,mBAAO,CAAC,MAAgB;AACnC,SAAS,mBAAO,CAAC,MAAc;AAC/B,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAO,CAAC,MAAkB;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,KAAK;AACL;AACA,oCAAoC,cAAc,OAAO;AACzD,qCAAqC,cAAc,OAAO;AAC1D;AACA;AACA,oEAAoE,OAAO;AAC3E;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,mBAAO,CAAC,MAAa;AACvB;;;;;;;;ACpEA,kBAAkB,mBAAO,CAAC,MAAgB,MAAM,mBAAO,CAAC,MAAU;AAClE,+BAA+B,mBAAO,CAAC,MAAe,gBAAgB,mBAAmB,UAAU,EAAE,EAAE;AACvG,CAAC;;;;;;;;;ACFD;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,MAAqB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yDAAyD,OAAO;;AAEhE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAwE,gDAAgD;AACxH,8DAA8D,mMAAmM;AACjQ,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI,2EAA2E,KAAK,YAAY,EAAE,MAAM,YAAY,EAAE,OAAO,YAAY,EAAE,EAAE;AACzI;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACppBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;AACb,uBAAuB,mBAAO,CAAC,MAAuB;AACtD,WAAW,mBAAO,CAAC,MAAc;AACjC,gBAAgB,mBAAO,CAAC,MAAc;AACtC,gBAAgB,mBAAO,CAAC,MAAe;;AAEvC;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,gCAAgC;AAChC,cAAc;AACd,iBAAiB;AACjB;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;;;;;;;ACjCA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA,UAAU,mBAAO,CAAC,MAAQ;AAC1B,gBAAgB,mBAAO,CAAC,MAAe;AACvC,mBAAmB,mBAAO,CAAC,MAAmB;AAC9C,eAAe,mBAAO,CAAC,MAAe;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChBA;AACA;AACA;;;;;;;;ACFA;AACA,UAAU;AACV;;;;;;;;;ACFa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA,gBAAgB,mBAAO,CAAC,MAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;;;;;;;;ACHA,eAAe,mBAAO,CAAC,MAAc;AACrC,qBAAqB,mBAAO,CAAC,MAAmB;AAChD,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;AACA;AACA;;;;;;;;ACfA;AACA;AACA;AACA;;;;;;;;;ACHA;AAAA;AAAA;AAAkf,CAAgB,whBAAG,EAAC,C;;;;;;;ACAtgB,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;;;;;;;;ACL5B;;AAEb,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAgB;AACtD,8BAA8B,mBAAO,CAAC,MAAc;AACpD,8BAA8B,mBAAO,CAAC,MAAY;AAClD,8BAA8B,mBAAO,CAAC,MAAoB;AAC1D,8BAA8B,mBAAO,CAAC,MAAiB;AACvD,8BAA8B,mBAAO,CAAC,MAAiB;;AAEvD;AACA,8BAA8B,mBAAO,CAAC,MAAgC;AACtE,8BAA8B,mBAAO,CAAC,MAAgC;;AAEtE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB;;AAEA;AACA;AACA,UAAU;AACV,cAAc,QAAQ;AACtB;AACA;AACA,cAAc,UAAU;AACxB;AACA,cAAc,SAAS;AACvB;AACA;AACA,cAAc,QAAQ;AACtB;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC,6CAA6C,EAAE;AACpF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,mFAAmF,qBAAqB;;AAExG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,6CAA6C;AACtG;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AA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AFA,CAGA;AACA,KA3CA;AA4CA;AACA;AACA,yBAFA,CAGA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA;AAjEA,GA3NA;AA8RA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GA9RA;AA+TA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,wBA9CA,kCA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAraA;AA/TA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;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,uBAJA;AAKA;AACA,YADA;AAEA,YAFA;AAGA,YAHA;AAIA,YAJA;AAKA;AALA,OALA;AAYA,iBAZA;AAYA;AACA,0BAbA;AAaA;AACA,0BAdA,CAcA;;AAdA;AAgBA,GA5FA;AA6FA,SA7FA,qBA6FA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GA9GA;AA+GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAtHA;AAuHA;AACA;AACA,GAzHA;AA0HA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OArBA;AAsBA,KA3BA;AA4BA,GAxJA;AAyJA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA;AA1DA,GAzJA;AAqNA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KA5BA;AA6BA;AACA;AACA;AADA;AAGA,KAjCA;AAkCA;AACA;AACA;AACA;;AACA;AACA,KAvCA;AAwCA;AACA;AACA;AACA,KA3CA;AA4CA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA;;AACA;AACA;AACA;AACA,KA5EA;AA6EA;AACA,6CADA,CAEA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;;AACA;AACA;AAAA;AAAA;AAAA,mBACA;AAAA;AAAA,SADA;AAGA,8CAJA,CAMA;;AACA;AACA;AACA;AAAA,cACA,iBADA;AAEA;AACA;AACA;AACA,WAHA;AAKA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AAEA,OAZA,MAYA;AACA;AACA;AACA,SAFA;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACA,KAzIA;AA2IA;AACA,wBA5IA,kCA4IA;AAEA;AACA,oEAHA,CAKA;;AACA,6EACA,6DAPA,CASA;;AACA,kDACA,mBADA,EAEA,YAFA,EAGA,gBAHA,EAIA,aAJA,EAKA,mBALA,EAMA,OANA,EAOA,oBAPA,EAVA,CAoBA;;AACA,2CArBA,CAuBA;;AACA;AAEA;AACA;AACA,KAxKA;AA0KA;AACA,0BA3KA,oCA2KA;AACA;AACA;AACA,KA9KA;AAgLA;AACA,kBAjLA,0BAiLA,MAjLA,EAiLA,cAjLA,EAiLA;AAEA;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAHA,CASA;;AACA;AACA;AACA;AACA,SAFA;AAGA,OAJA,EAVA,CAgBA;;AACA;AACA;AAnMA;AArNA,G;;AC7BoU,CAAgB,oHAAG,EAAC,C;;;;;ACA/P;AAC3B;AACL;AACa;;;AAGtE;AAC0F;AAC1F,IAAI,oBAAS,GAAG,kBAAU;AAC1B,EAAE,6CAAM;AACR,EAAE,8CAAM;AACR,EAAE,uDAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEe,mEAAS,Q;;;;;;ACnBxB;AACA;CAEA;;AAGA,IAAMsH,aAAa,GAAG;AAClB;AACAC,YAAU,EAAVA,UAFkB;AAGlBC,UAAQ,EAARA,QAAQA;AAHU,CAAtB,C,CAMA;;AAEAvG,MAAM,CAACD,IAAP,CAAYsG,aAAZ,EAA2B3G,OAA3B,CAAmC,UAAAwC,IAAI,EAAI;AACvCsE,wDAAG,CAACC,SAAJ,CAAcvE,IAAd,EAAoBmE,aAAa,CAACnE,IAAD,CAAjC;AACH,CAFD;AAIemE,4DAAf;;;AClBwB;AACA;AACT,yFAAG;AACI;;;;;;;;ACHtB;AACA,cAAc,mBAAO,CAAC,MAAW;AACjC,gBAAgB,mBAAO,CAAC,MAAW;;AAEnC;AACA;AACA;AACA;AACA,CAAC;;;;;;;;ACRD;AACA","file":"vue-grid-layout.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueGridLayout\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"VueGridLayout\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=c806aad8&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=5a186489&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueGridLayout/webpack/universalModuleDefinition","webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_object-assign.js","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.assign.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?a307","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?f4e6","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["bottom","layout","max","bottomY","i","len","length","y","h","cloneLayout","newLayout","Array","cloneLayoutItem","layoutItem","JSON","parse","stringify","collides","l1","l2","x","w","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","out","l","static","compactItem","push","indexOf","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","id","getAllCollisions","filter","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","Math","undefined","perc","num","setTransform","top","left","width","height","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","position","setTransformRtl","right","setTopLeft","setTopRight","concat","sort","a","b","validateLayout","contextName","subProps","isArray","Error","item","j","autoBindHandlers","el","fns","forEach","key","bind","createMarkup","obj","keys","Object","result","val","hyphenate","addPx","IS_UNITLESS","animationIterationCount","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridColumn","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","name","value","hyphenateRE","str","replace","toLowerCase","findItemInArray","array","property","findAndRemove","index","splice","getControlPosition","e","offsetXYFromParentOf","evt","offsetParent","target","document","body","offsetParentRect","getBoundingClientRect","clientX","scrollLeft","clientY","scrollTop","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","isNaN","currentDir","hasDocument","hasWindow","window","getDocumentDir","direction","dir","getElementsByTagName","getAttribute","setDocumentDir","html","setAttribute","addWindowEventListener","event","callback","addEventListener","removeWindowEventListener","removeEventListener","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","slice","generateResponsiveLayout","VueGridLayout","GridLayout","GridItem","Vue","component"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;AClFa;AACb,cAAc,mBAAO,CAAC,MAAY;AAClC,cAAc,mBAAO,CAAC,MAAW;AACjC,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,kBAAkB,mBAAO,CAAC,MAAgB;AAC1C,qBAAqB,mBAAO,CAAC,MAAsB;AACnD,qBAAqB,mBAAO,CAAC,MAAe;AAC5C,eAAe,mBAAO,CAAC,MAAQ;AAC/B,8CAA8C;AAC9C;AACA;AACA;;AAEA,8BAA8B,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA,yCAAyC,oCAAoC;AAC7E,6CAA6C,oCAAoC;AACjF,KAAK,4BAA4B,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAkC,2BAA2B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;;;;;;;ACpEA,gBAAgB,mBAAO,CAAC,MAAe;AACvC,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AChBa;AACb,SAAS,mBAAO,CAAC,MAAc;;AAE/B;AACA;AACA;AACA;AACA;;;;;;;;ACPA,uBAAuB;AACvB;AACA;AACA;;;;;;;;;ACHa;AACb;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACZA;AACA,YAAY,mBAAO,CAAC,MAAyB;AAC7C,kBAAkB,mBAAO,CAAC,MAAkB;;AAE5C;AACA;AACA;;;;;;;;ACNA;;AAEA;AACA,cAAc,mBAAO,CAAC,MAAka;AACxb,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,MAA6D;AAC/E,6CAA6C,qCAAqC,E;;;;;;;ACRlF,UAAU,mBAAO,CAAC,MAAe;AACjC,iBAAiB,mBAAO,CAAC,MAAkB;AAC3C,gBAAgB,mBAAO,CAAC,MAAe;AACvC,kBAAkB,mBAAO,CAAC,MAAiB;AAC3C,UAAU,mBAAO,CAAC,MAAQ;AAC1B,qBAAqB,mBAAO,CAAC,MAAmB;AAChD;;AAEA,YAAY,mBAAO,CAAC,MAAgB;AACpC;AACA;AACA;AACA;AACA,GAAG,YAAY;AACf;AACA;;;;;;;;ACfA,SAAS,mBAAO,CAAC,MAAc;AAC/B,eAAe,mBAAO,CAAC,MAAc;AACrC,cAAc,mBAAO,CAAC,MAAgB;;AAEtC,iBAAiB,mBAAO,CAAC,MAAgB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACZA;AACA;AACA;AACA;;AAEa;;AAEb,sBAAsB,mBAAO,CAAC,MAAqB;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,oBAAoB,QAAQ,SAAS,aAAa,cAAc,cAAc,YAAY,WAAW,YAAY,gBAAgB,sBAAsB;;AAEtM;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACtNa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;;;;;;;;ACtCA;AACA,eAAe,mBAAO,CAAC,MAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACXA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;;ACNa;AACb,mBAAO,CAAC,MAAmB;AAC3B,eAAe,mBAAO,CAAC,MAAa;AACpC,WAAW,mBAAO,CAAC,MAAS;AAC5B,YAAY,mBAAO,CAAC,MAAU;AAC9B,cAAc,mBAAO,CAAC,MAAY;AAClC,UAAU,mBAAO,CAAC,MAAQ;AAC1B,iBAAiB,mBAAO,CAAC,MAAgB;;AAEzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,yBAAyB,4CAA4C;AACrE;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;AACvC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,2BAA2B,mBAAmB,aAAa;AAC3D;AACA;AACA;AACA;AACA,6CAA6C,WAAW;AACxD;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAkB;AAClB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gCAAgC,qCAAqC;AACrE;AACA;AACA,2BAA2B,gCAAgC;AAC3D;AACA;AACA;;;;;;;;AC/FA,eAAe,mBAAO,CAAC,MAAc;AACrC,eAAe,mBAAO,CAAC,MAAW;AAClC;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;A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MAAc;AACrC,eAAe,mBAAO,CAAC,MAAc;AACrC,yBAAyB,mBAAO,CAAC,MAAyB;AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;;AAElD;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACe;AACf;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D,KAAK;AACL;AACA;AACA;AACA;AACA;;;AC1BA;AAAA;AACA;AACA;AACA;AACA;;AAEyC;;AAEzC;;AAEA;AACA;AACA;AACA;AACA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;;AAEA;;AAEA,eAAe,YAAY;AAC3B;;AAEA;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,YAAY;AAC3B;AACA,KAAK;AACL;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,qBAAqB,uBAAuB;AAC5C;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;;AC7Na;;AAEb;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,eAAe,SAAS;AACxB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC3DA;AACA,cAAc,mBAAO,CAAC,MAAY;AAClC;AACA;AACA;;;;;;;;;ACJa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;AC9Ca;;AAEb;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;ACd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AAC1D,iBAAiB,mBAAO,CAAC,MAAyB;AAClD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAO,CAAC,MAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACrHD,cAAc,mBAAO,CAAC,MAAW;AACjC,cAAc,mBAAO,CAAC,MAAY;AAClC,YAAY,mBAAO,CAAC,MAAU;AAC9B,aAAa,mBAAO,CAAC,MAAc;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC7Ba;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB,mCAAmC,sBAAsB;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,E;;;;;;;AC1CA,iBAAiB,mBAAO,CAAC,MAAsB;AAC/C,cAAc,mBAAO,CAAC,MAAgB;AACtC,eAAe,mBAAO,CAAC,MAAa;AACpC,aAAa,mBAAO,CAAC,MAAW;AAChC,WAAW,mBAAO,CAAC,MAAS;AAC5B,gBAAgB,mBAAO,CAAC,MAAc;AACtC,UAAU,mBAAO,CAAC,MAAQ;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,wBAAwB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACzDA,2BAA2B,mBAAO,CAAC,MAA+C;AAClF;;;AAGA;AACA,cAAc,QAAS,oBAAoB,kBAAkB,mCAAmC,2BAA2B;;AAE3H;;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,MAAgB;AACzC,mBAAO,CAAC,MAAW;AACnB;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;;;;;;;;;ACRY;;AAEb;;AAEA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,aAAa,EAAE;AACf;AACA;AACA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;;;;;;;AClBA;AACA;AACA;AACA;AACA;;;;;;;;;ACJa;;AAEb,YAAY,mBAAO,CAAC,MAAS;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4IAA4I,kCAAkC;A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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kEAAkE,iBAAiB,YAAY,aAAa,aAAa,kBAAkB,WAAW,YAAY;AAClK;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kBAAkB,sBAAsB,wBAAwB;AAC3G;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc,WAAW,UAAU;AAC7K,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB;AAC7H,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,YAAY,kBAAkB,aAAa,oBAAoB,aAAa,cAAc;AACxJ,8DAA8D,SAAS,QAAQ;AAC/E,8DAA8D,aAAa,cAAc;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAC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,SAAS;AACxB,eAAe,kBAAkB;AACjC,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,8EAA8E;AAC9E;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA,yDAAyD,eAAe;AACxE;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;AChUa;AACb,sBAAsB,mBAAO,CAAC,MAAc;AAC5C,iBAAiB,mBAAO,CAAC,MAAkB;;AAE3C;AACA;AACA;AACA;;;;;;;;ACPA;;AAEA;;AAEA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;ACnCD;AACA,cAAc,mBAAO,CAAC,MAA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jBA;AAkBA,eAlBA;AAmBA,gBAnBA;AAqBA,yBArBA;AAsBA,2BAtBA;AAwBA,qBAxBA;AAyBA,qBAzBA;AA0BA,qBA1BA;AA2BA,qBA3BA;AA4BA,oBA5BA;AA6BA,oBA7BA;AA8BA,oBA9BA;AA+BA;AA/BA;AAiCA,GAtIA;AAuIA,SAvIA,qBAuIA;AAAA;;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA;AACA;AACA,KAJA;;AAMA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;;AACA;AACA,KAHA;;AAKA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,GA1LA;AA2LA;AACA,oBADA,CAEA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,+BADA,CACA;AACA;AACA,GAzMA;AA0MA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,KAFA,MAEA;AACA;AACA;;AACA;AACA;AACA,GA5NA;AA6NA;AACA;AACA;AACA,KAHA;AAIA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA,KAVA;AAWA;AACA;AACA,KAbA;AAcA;AACA;AACA,KAhBA;AAiBA;AACA;AACA;AACA,KApBA;AAqBA;AACA;AACA;AACA;AACA,KAzBA;AA0BA;AACA;AACA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AACA,KAlCA;AAmCA;AACA;AACA;AACA,KAtCA;AAuCA;AACA;AACA,yBAFA,CAGA;AACA,KA3CA;AA4CA;AACA;AACA,yBAFA,CAGA;AACA,KAhDA;AAiDA;AACA;AACA;AACA;AACA,KArDA;AAsDA;AACA;AACA,KAxDA;AAyDA;AACA;AACA,KA3DA;AA4DA;AACA;AACA,KA9DA;AA+DA;AACA;AACA,KAjEA;AAkEA;AACA;AACA;AACA;;AACA;AAAA;AAAA;AACA;AACA;AACA;AAzEA,GA7NA;AAwSA;AACA,YADA,sBACA;AACA;AACA,mDADA;AAEA,6BAFA;AAGA,mCAHA;AAIA,iDAJA;AAKA,8CALA;AAMA,oCANA;AAOA,6CAPA;AAQA;AARA;AAUA,KAZA;AAaA,yBAbA,mCAaA;AACA;AACA,KAfA;AAgBA,oCAhBA,8CAgBA;AACA;AACA,KAlBA;AAmBA,aAnBA,uBAmBA;AACA;AACA,KArBA;AAsBA,aAtBA,uBAsBA;AACA;AACA,KAxBA;AAyBA,wBAzBA,kCAyBA;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;AACA;AA/BA,GAxSA;AAyUA;AACA;AACA;AACA;AACA;AACA,OAHA,MAGA;AACA;AACA;AACA;;AACA;;AAGA;AACA,oCADA,CAEA;;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;;AAEA,gBAzBA,CA0BA;;AACA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AAEA,OARA,MAQA;AAAA;AACA;AACA;AACA;AACA,SAFA,MAEA;AACA;AACA;AACA;;AACA;AACA,KA7CA;AA8CA,wBA9CA,kCA8CA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA,sBACA;AACA;AACA;;AACA;AACA,KA1DA;AA2DA;AACA;AACA,+CAFA,CAGA;;AACA,mCAJA,CAIA;;AAJA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAAA,UAKA,CALA,GAKA,QALA,CAKA,CALA;AAOA;AAAA;AAAA;AAAA;AACA;;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,qEARA,CAUA;;AACA;AACA;AACA;;AACA;AAAA;AACA;AACA;AACA;AACA,wCAJA,CAKA;;AACA;AACA;AACA;AACA;AAlCA,OATA,CA8CA;;;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KAzIA;AA0IA,cA1IA,sBA0IA,KA1IA,EA0IA;AACA;AACA;AAEA,+CAJA,CAMA;;AACA,oCAPA,CAOA;;AAPA,UAQA,CARA,GAQA,QARA,CAQA,CARA;AAAA,UAQA,CARA,GAQA,QARA,CAQA,CARA,EAUA;;AACA;AAAA;AAAA;AAAA;;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AAAA;AACA;;AACA;;AACA,mEAHA,CAIA;;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,gEAVA,CAWA;AACA;;AACA;AACA,oCAdA,CAeA;;AACA;AACA;;AACA;AAAA;AACA,yEADA,CAEA;;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;;AACA,mEARA,CASA;AACA;AACA;;AACA;AACA;AACA;AAjDA,OAZA,CAgEA;;;AACA;;AACA;AACA;AACA,OAFA,MAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KA5NA;AA6NA;AACA,yCADA,CAEA;;AACA;;AACA;AACA;AACA,oEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA,OAVA,MAUA;AACA;AACA,mEADA;AAEA,wEAFA;AAGA;AACA;AACA;AACA,oGANA;AAOA;AAPA;AASA;;AAGA;AACA,KAzPA;;AA0PA;;;;;;AAMA;AACA,UAjQA,kBAiQA,GAjQA,EAiQA,IAjQA,EAiQA;AACA,yCADA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA,qFAXA,CAaA;;AACA;AACA;AAEA;AAAA;AAAA;AAAA;AACA,KAnRA;AAoRA;AACA,gBArRA,0BAqRA;AACA,0FADA,CAEA;;AACA;AACA,KAzRA;;AA2RA;;;;;;AAMA,UAjSA,kBAiSA,MAjSA,EAiSA,KAjSA,EAiSA;AACA,yCADA,CAGA;AACA;AACA;;AACA;AACA,wFAPA,CASA;;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA,KA9SA;AA+SA;AACA;;AACA;AACA;AACA;AACA,KApTA;AAqTA;AACA;AACA,KAvTA;AAwTA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,yCADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AACA;AACA;AACA,WAFA;AAGA;AACA,OAbA,MAaA;AACA;AACA;AADA;AAGA;AACA,KA/UA;AAgVA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,oEAFA,CAIA;AACA;;AAEA;AACA,mCADA;AAEA;AACA;AACA,uBADA;AAEA,kDAFA;AAGA,mDAHA;AAIA;AAJA,WAHA;AASA,2CATA;AAUA;AACA;AACA,oCADA;AAEA;AAFA,aADA;AAKA;AACA,oCADA;AAEA;AAFA;AALA;AAVA;AAsBA;;AACA;AACA;AACA,2BACA,EADA,CACA,kCADA,EACA;AACA;AACA,WAHA;AAIA;AACA,OArCA,MAqCA;AACA;AACA;AADA;AAGA;AACA,KA/XA;AAgYA;AACA;AACA;AACA;AAEA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;AACA,OAzBA,CA2BA;AACA;;;AAEA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AAraA;AAzUA,G;;AC/FkU,CAAgB,gHAAG,EAAC,C;;;;;ACAtV;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;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AmGA;AACA,oBADA,CAGA;;AACA;AACA;AACA,KAFA;;AAIA;AACA;AACA,KAFA;;AAIA;AACA;AACA;AACA;AACA;AACA,GApHA;AAqHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5HA;AA6HA;AACA;AACA,GA/HA;AAgIA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA,sCAHA,CAKA;;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA,8BADA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA,WAFA;AAGA,SATA;AAUA,OAvBA;AAwBA,KA7BA;AA8BA,GAhKA;AAiKA;AACA;AACA;AACA;AAAA;;AACA;AACA;;AACA;AACA;;;;;;;;;;;;;;;;;;AAoBA;AACA;AACA,WAFA;AAGA;;AACA;AACA,OA7BA;AA8BA,KAjCA;AAkCA;AACA;AACA,KApCA;AAqCA;AACA;AACA,KAvCA;AAwCA;AACA;AACA,KA1CA;AA2CA;AACA;AACA,KA7CA;AA8CA;AACA;AACA,KAhDA;AAiDA,cAjDA,wBAiDA;AACA;AACA;AACA;AACA;;AACA;AACA,KAvDA;AAwDA;AACA;AACA,KA1DA;AA2DA,UA3DA,oBA2DA;AACA;AACA;AA7DA,GAjKA;AAgOA;AACA,gBADA,0BACA;AACA;AACA;AACA;AAEA;;AACA;AACA;AACA;AACA;AACA,aAFA,MAEA;AACA;AACA;AACA;AACA,iBAFA;AAGA,eAJA;AAKA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AAEA;AACA;AACA,KA9BA;AA+BA;AACA;AACA;AADA;AAGA,KAnCA;AAoCA;AACA;AACA;AACA;;AACA;AACA,KAzCA;AA0CA;AACA,iCADA,CAEA;AACA;;AACA;AACA;AACA,KAhDA;AAiDA;AACA;AACA,6CAFA,CAGA;;AACA;AACA;AAAA;AAAA;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAFA,EANA,CASA;;AACA;AACA,OAXA,MAWA;AACA;AACA;AACA,SAFA;AAGA,OAvBA,CAyBA;;;AACA;AACA,iDA3BA,CA4BA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AA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yBAAyB,qDAAqD;;AAE9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,0DAA0D,QAAQ;AAClE;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,OAAO;AACP,iCAAiC;AACjC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA,6DAA6D;;AAE7D;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iDAAiD,0EAA0E,aAAa,EAAE,qCAAqC;;AAE/K,uCAAuC,uBAAuB,uFAAuF,EAAE,aAAa;;AAEpK,6BAA6B,gGAAgG,gDAAgD,GAAG,2BAA2B;;AAE3M,0CAA0C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,uDAAuD;;AAE/X,gCAAgC,4EAA4E,iBAAiB,UAAU,GAAG,8BAA8B;;AAExK;;AAEA;AACA;AACA;;AAEA,kBAAkB,yBAAyB;AAC3C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,uBAAuB,sCAAsC;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,mDAAmD;;AAEnD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,qBAAqB;;AAErB;AACA;;AAEA,uBAAuB,mCAAmC;AAC1D;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,uBAAuB,4CAA4C;AACnE;AACA,SAAS;AACT;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;;;AAGL,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,wBAAwB;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0BAA0B;;AAE1B,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,2DAA2D;;AAE5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,8DAA8D;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,6BAA6B;;AAE7B,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,MAAM;;AAEN,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,gCAAgC,eAAe;AAC/C;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,qBAAqB;AACpE;AACA;AACA,eAAe,OAAO;AACtB,eAAe,aAAa;AAC5B,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,QAAQ,eAAe;AAClE;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,iBAAiB;AACxB;;AAEA;AACA,KAAK;;AAEL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,eAAe,aAAa;AAC5B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,0DAA0D;;AAE1D;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA,CAAC;AACD;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B,8CAA8C;;AAE9C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,uBAAuB,2EAA2E,kCAAkC,mBAAmB,GAAG,EAAE,OAAO,kCAAkC,8HAA8H,GAAG,EAAE,qBAAqB;;AAE7V;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,qCAAqC,gDAAgD,2BAA2B,iEAAiE,cAAc,GAAG,cAAc;;AAEhN,uCAAuC,6BAA6B,YAAY,EAAE,wCAAwC,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEtpB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sDAAsD;;AAEtD,uJAAuJ;;AAEvJ;AACA,4DAA4D;;AAE5D;AACA,qDAAqD;;AAErD,uHAAuH;;AAEvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ;;AAEX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,qBAAqB;AAClC,+BAA+B;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;;AAGL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;;AAEV;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB,sBAAsB;AAC1C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4CAA4C;;AAE5C;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN,iCAAiC,oFAAoF;;AAErH,6BAA6B,6EAA6E;;AAE1G,wCAAwC,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE1gB,+BAA+B,oCAAoC;;AAEnE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;;AAEA;AACA,KAAK;AACL,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN,qBAAqB,wBAAwB;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,YAAY;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,8CAA8C,YAAY;AAC1D;AACA;AACA,iDAAiD;;AAEjD,wCAAwC,QAAQ;AAChD;AACA;AACA;AACA,sCAAsC;;;AAGtC;AACA;AACA,iCAAiC;AACjC;;AAEA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA,iEAAiE;;AAEjE;AACA;AACA;AACA,WAAW;;;AAGX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;;AAE5B;AACA,mBAAmB,gCAAgC;AACnD;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,wBAAwB;AACjD;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA,sDAAsD;;AAEtD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG,kCAAkC,iFAAiF;;AAEnH,+BAA+B,wEAAwE;;AAEvG,iCAAiC,+HAA+H;;AAEhK,kCAAkC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAEpK;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG,MAAM,WAAW,WAAW,WAAW;;;AAG1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,uBAAuB;AAC3C;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+DAA+D;;AAE/D;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAsB,6BAA6B;AACnD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA,kBAAkB,uBAAuB;AACzC;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kDAAkD,eAAe;AACjE;;AAEA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,sEAAsE;;AAEtE;;AAEA;;AAEA;;AAEA;;AAEA,kEAAkE;;AAElE;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J,gDAAgD,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAEhU,kEAAkE,2EAA2E,mEAAmE,oBAAoB;;AAEpO;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA,oGAAoG,4CAA4C;;AAEhJ;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA,eAAe,QAAQ;AACvB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,gCAAgC;AAChC,gBAAgB,kBAAkB;AAClC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,wBAAwB,iCAAiC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC,yCAAyC,aAAa;AACtD;AACA;AACA,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,mBAAmB;AACnB,gBAAgB,gBAAgB;AAChC;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,cAAc;AAC7B;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,8BAA8B;AACvD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,wBAAwB;AACvC;AACA,eAAe,0BAA0B;AACzC,eAAe,iBAAiB;AAChC;AACA,gBAAgB,aAAa;AAC7B;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,gBAAgB,OAAO;AACvB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAA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;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD;;AAEhD,oDAAoD;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,sDAAsD,0CAA0C,0DAA0D,EAAE;;AAE5J;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA,oBAAoB,gCAAgC;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,qBAAqB,sCAAsC;AAC3D;;AAEA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA,YAAY,uBAAuB;AACnC;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG,2BAA2B,2EAA2E,sCAAsC,mBAAmB,GAAG,EAAE,OAAO,sCAAsC,8HAA8H,GAAG,EAAE,yBAAyB;;AAE7W,sCAAsC,6FAA6F;;AAEnI,mCAAmC,wEAAwE;;AAE3G,qCAAqC,+HAA+H;;AAEpK,sCAAsC,0BAA0B,8CAA8C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE;;AAExK,qDAAqD,0CAA0C,0DAA0D,EAAE;;AAE3J,+CAA+C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE/T,iEAAiE,0EAA0E,kEAAkE,oBAAoB;;AAEjO,qDAAqD,8EAA8E,aAAa,EAAE,yCAAyC;;AAE3L,2CAA2C,uBAAuB,uFAAuF,EAAE,aAAa;;AAExK,iCAAiC,oGAAoG,gDAAgD,GAAG,+BAA+B;;AAEvN,8CAA8C,+DAA+D,2EAA2E,EAAE,yEAAyE,eAAe,sDAAsD,EAAE,EAAE,2DAA2D;;AAEvY,oCAAoC,gFAAgF,iBAAiB,UAAU,GAAG,kCAAkC;;AAEpL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC,cAAc,uBAAuB;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA,cAAc,mBAAmB;AACjC;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB,kBAAkB,gCAAgC;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,8CAA8C;;AAE9C;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;;;AAGL;;AAEA,qBAAqB,2BAA2B;AAChD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;;AAGA;AACA;AACA;;AAEA,mBAAmB,0BAA0B;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB,mBAAmB,oCAAoC;AACvD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,0DAA0D;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,uEAAuE;;AAEvE;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,8BAA8B;;AAE9B;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB,0CAA0C,uCAAuC,kBAAkB;;AAEnG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC;AACA;AACA,oCAAoC,6BAA6B;AACjE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,8BAA8B;;AAE9B;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mCAAmC;AACnC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,6BAA6B;AACnE;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA,cAAc,uBAAuB;AACrC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sBAAsB,kBAAkB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA,mFAAmF;;AAEnF;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,8DAA8D;;AAE9D,kEAAkE;;AAElE,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,gDAAgD;;AAEhD;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,0DAA0D;;AAE1D;;AAEA,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mDAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,6EAA6E,qBAAqB;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,aAAa,wBAAwB;AACrC;AACA,cAAc,0BAA0B;AACxC;AACA;;AAEA;AACA;AACA,GAAG,4EAA4E,oBAAoB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA,cAAc,wBAAwB;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc,uBAAuB;AACrC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,0CAA0C,uCAAuC,kBAAkB;;AAEnG,yCAAyC,gDAAgD,2BAA2B,qEAAqE,cAAc,GAAG,cAAc;;AAExN,2CAA2C,6BAA6B,YAAY,EAAE,4CAA4C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAE9pB;AACA;AACA;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,uCAAuC,SAAS;AAChD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;;AAEA,kBAAkB,qCAAqC;AACvD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B,sEAAsE;;AAEtE;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA,uCAAuC;;AAEvC;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;;;AAGR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG,EAAE;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;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CAAsC,mGAAmG;;AAEzI,kCAAkC,6EAA6E;;AAE/G,6CAA6C,yGAAyG,QAAQ,EAAE,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,iDAAiD,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa;;AAE/gB,oCAAoC,oCAAoC;;AAExE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,oBAAoB;AACtC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,gDAAgD;AAChD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,mBAAmB,qBAAqB;AACxC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,qBAAqB,6BAA6B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,8BAA8B;AACjD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+EAA+E;;AAE/E;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA,SAAS,uBAAuB;;AAEhC;AACA;AACA;AACA;AACA,oEAAoE;;AAEpE;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,KAAK;AACL;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,sBAAsB;;AAEzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA,eAAe,+CAA+C;AAC9D,eAAe,+CAA+C;AAC9D,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C,0CAA0C;AAC1C;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,uBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB,qBAAqB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA,sDAAsD,cAAc;AACpE;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AAC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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,oBAAoB;AACrC;;AAEA,uCAAuC;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,kBAAkB;AACpC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B,4BAA4B;AAC5B,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB,gCAAgC;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;AACH;;AAEA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA,iBAAiB,0BAA0B;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,kBAAkB,kBAAkB;AACpC;AACA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;;AAGH,iEAAiE;;AAEjE;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,4DAA4D;;AAE5D;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,yFAAyF;AACzF,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA,+EAA+E;;AAE/E,0DAA0D;;AAE1D;;AAEA;AACA;AACA;AACA,wCAAwC;;AAExC,kBAAkB,2BAA2B;AAC7C;;AAEA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB;AACnB,qBAAqB,uBAAuB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,eAAe;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sKAAsK;;AAEtK;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,+BAA+B;;AAE/B;;AAEA;;AAEA;;AAEA,2CAA2C,uCAAuC,kBAAkB;;AAEpG,0CAA0C,gDAAgD,2BAA2B,sEAAsE,cAAc,GAAG,cAAc;;AAE1N,4CAA4C,6BAA6B,YAAY,EAAE,6CAA6C,+BAA+B,uBAAuB,EAAE,iBAAiB,mBAAmB,sFAAsF,uBAAuB,sDAAsD,qFAAqF,sCAAsC,0CAA0C,EAAE,OAAO,wBAAwB,EAAE,EAAE,EAAE,EAAE,yBAAyB,aAAa,wBAAwB,EAAE,eAAe;;AAEhqB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA,YAAY;AACZ;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA,WAAW,SAAS;AACpB,WAAW,iBAAiB;AAC5B;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,mBAAmB;AACxC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;AACA;;;AAGA;;AAEA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,OAAO;AACnB;;;AAGA;;AAEA;AACA,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qFAAqF;;AAErF,mBAAmB,sCAAsC;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;A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","file":"vue-grid-layout.umd.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueGridLayout\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"VueGridLayout\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=6594d2a5&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.6.3\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var _ref;\n\n _ref = methodNames[_i];\n var method = _ref;\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref4 = interaction.pointers[_i4];\n var pointer = _ref4;\n\n if (!scope.documents.some(function (_ref5) {\n var doc = _ref5.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref4;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref6;\n\n _ref6 = event.changedTouches[_i5];\n var changedTouch = _ref6;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, signalName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref8;\n\n _ref8 = docEvents[_i7];\n var _ref9 = _ref8,\n type = _ref9.type,\n listener = _ref9.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(_key) {\n Object.defineProperty(_this._proxy, _key, {\n value: function value() {\n return that[_key].apply(that, arguments);\n }\n });\n };\n\n for (var _key in _ProxyMethods) {\n _loop2(_key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireWildcard_51(_$window_66);\n\nfunction ___getRequireWildcardCache_51() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n var dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (dropzone.parentNode === deepestZone.parentNode) {\n var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;\n\n if (dropzoneZIndex >= deepestZIndex) {\n deepestZone = dropzone;\n index = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest dropzone\n\n\n if (!deepestZoneParents.length) {\n var _parent = deepestZone;\n var parentParent = void 0;\n\n while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) {\n deepestZoneParents.unshift(_parent);\n _parent = parentParent;\n }\n }\n\n var parent = void 0; // if this element is an svg element and the current deepest is an\n // HTMLElement\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n var dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n var child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = dropzoneParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___getRequireWildcardCache_49() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___getRequireWildcardCache_61() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_52() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var _ref;\n\n _ref = documents[_i2];\n var doc = _ref;\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref2;\n\n _ref2 = listeners[_i3];\n\n var _ref3 = _ref2,\n _ref4 = _slicedToArray(_ref3, 3),\n fn = _ref4[0],\n capture = _ref4[1],\n passive = _ref4[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___getRequireWildcardCache_63() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___getRequireWildcardCache_59() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_56() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_14() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }, {\n key: \"getRect\",\n value: function getRect(_element) {\n return null;\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_16() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_17() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___getRequireWildcardCache_22() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___getRequireWildcardCache_1() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___getRequireWildcardCache_2() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_3() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___getRequireWildcardCache_4() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_6() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-end', end);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = (0, ___extend_6[\"default\"])({}, interaction.rect);\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: {\n left: startRect.left,\n right: startRect.right,\n top: startRect.top,\n bottom: startRect.bottom\n },\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction end(_ref4) {\n var iEvent = _ref4.iEvent,\n interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction updateEventAxes(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.interaction,\n action = _ref5.action;\n\n if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_7() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___getRequireWildcardCache_8() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_9() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {\n name: null\n }; // clear previous target element cursor\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n var interactable = interaction.interactable,\n element = interaction.element,\n prepared = interaction.prepared;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n return;\n }\n\n var cursor = '';\n\n if (prepared.name) {\n var cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_10() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___getRequireWildcardCache_21() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___getRequireWildcardCache_25() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.setCoords = setCoords;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords, prevCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page)\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var prevCoords = arg.prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n states = arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states;\n var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page);\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords: prevCoords,\n rect: interaction.rect,\n states: states,\n requireEndOnly: false\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n if (arg.modifiedCoords) {\n var page = interaction.coords.cur.page;\n var adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y\n };\n modifierResult.coords.x += adjustment.x;\n modifierResult.coords.y += adjustment.y;\n modifierResult.delta.x += adjustment.x;\n modifierResult.delta.y += adjustment.y;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null\n }, arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = interaction.coords.cur;\n var startCoords = interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_26() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n });\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', __stop_26);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction,\n phase: _$InteractEvent_15.EventPhase.Resume\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: interaction.coords.cur.page,\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: null,\n requireEndOnly: null,\n phase: _$InteractEvent_15.EventPhase.InertiaStart\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n (0, ___base_26.setCoords)(modifierArg);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n (0, ___base_26.restoreCoords)(modifierArg);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = null;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___getRequireWildcardCache_33() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___getRequireWildcardCache_37() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var element = arg.interaction.element;\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___getRequireWildcardCache_38() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_40() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_28() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_27() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.6.3\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_29() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"][\"default\"] = ___interact_29[\"default\"] // tslint:disable-line no-string-literal\n;\n___interact_29[\"default\"].init = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/vue-grid-layout.umd.min.js b/dist/vue-grid-layout.umd.min.js index 4100b095..c30181a3 100644 --- a/dist/vue-grid-layout.umd.min.js +++ b/dist/vue-grid-layout.umd.min.js @@ -1,2 +1,2 @@ -(function(t,e){"object"===typeof exports&&"object"===typeof module?module.exports=e(require("vue")):"function"===typeof define&&define.amd?define([],e):"object"===typeof exports?exports["VueGridLayout"]=e(require("vue")):t["VueGridLayout"]=e(t["Vue"])})("undefined"!==typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(r,i,function(e){return t[e]}.bind(null,i));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s="fb15")}({"01f9":function(t,e,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),u=n("41a0"),c=n("7f20"),l=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",h="keys",v="values",g=function(){return this};t.exports=function(t,e,n,m,y,b,x){u(n,e,m);var w,S,_,E=function(t){if(!d&&t in M)return M[t];switch(t){case h:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},O=e+" Iterator",P=y==v,T=!1,M=t.prototype,j=M[f]||M[p]||y&&M[y],k=j||E(y),z=y?P?E("entries"):k:void 0,I="Array"==e&&M.entries||j;if(I&&(_=l(I.call(new t)),_!==Object.prototype&&_.next&&(c(_,O,!0),r||"function"==typeof _[f]||a(_,f,g))),P&&j&&j.name!==v&&(T=!0,k=function(){return j.call(this)}),r&&!x||!d&&!T&&M[f]||a(M,f,k),s[e]=k,s[O]=g,y)if(w={values:P?k:E(v),keys:b?k:E(h),entries:z},x)for(S in w)S in M||o(M,S,w[S]);else i(i.P+i.F*(d||T),e,w);return w}},"02f4":function(t,e,n){var r=n("4588"),i=n("be13");t.exports=function(t){return function(e,n){var o,a,s=String(i(e)),u=r(n),c=s.length;return u<0||u>=c?t?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===c||(a=s.charCodeAt(u+1))<56320||a>57343?t?s.charAt(u):o:t?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(t,e,n){"use strict";var r=n("02f4")(!0);t.exports=function(t,e,n){return e+(n?r(t,e).length:1)}},"07e3":function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},"0bfb":function(t,e,n){"use strict";var r=n("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,n){var r=n("ce10"),i=n("e11e");t.exports=Object.keys||function(t){return r(t,i)}},1156:function(t,e,n){var r=n("ad20");"string"===typeof r&&(r=[[t.i,r,""]]),r.locals&&(t.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(t,e,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),c=Object.getOwnPropertyDescriptor;e.f=n("9e1e")?c:function(t,e){if(t=o(t),e=a(e,!0),u)try{return c(t,e)}catch(n){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},1495:function(t,e,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");t.exports=n("9e1e")?Object.defineProperties:function(t,e){i(t);var n,a=o(e),s=a.length,u=0;while(s>u)r.f(t,n=a[u++],e[n]);return t}},"18d2":function(t,e,n){"use strict";var r=n("18e9");t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState;if(!e)throw new Error("Missing required dependency: reporter.");function o(t,e){function n(){e(t)}if(r.isIE(8))i(t).object={proxy:n},t.attachEvent("onresize",n);else{var o=u(t);if(!o)throw new Error("Element is not detectable by this strategy.");o.contentDocument.defaultView.addEventListener("resize",n)}}function a(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function s(t,o,s){s||(s=o,o=t,t=null),t=t||{};t.debug;function u(o,s){var u=a(["display: block","position: absolute","top: 0","left: 0","width: 100%","height: 100%","border: none","padding: 0","margin: 0","opacity: 0","z-index: -1000","pointer-events: none"]),c=!1,l=window.getComputedStyle(o),f=o.offsetWidth,d=o.offsetHeight;function p(){function n(){if("static"===l.position){o.style.setProperty("position","relative",t.important?"important":"");var n=function(e,n,r,i){function o(t){return t.replace(/[^-\d\.]/g,"")}var a=r[i];"auto"!==a&&"0"!==o(a)&&(e.warn("An element that is positioned static has style."+i+"="+a+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+i+" will be set to 0. Element: ",n),n.style.setProperty(i,"0",t.important?"important":""))};n(e,o,l,"top"),n(e,o,l,"right"),n(e,o,l,"bottom"),n(e,o,l,"left")}}function a(){function t(e,n){if(!e.contentDocument){var r=i(e);return r.checkForObjectDocumentTimeoutId&&window.clearTimeout(r.checkForObjectDocumentTimeoutId),void(r.checkForObjectDocumentTimeoutId=setTimeout((function(){r.checkForObjectDocumentTimeoutId=0,t(e,n)}),100))}n(e.contentDocument)}c||n();var e=this;t(e,(function(t){s(o)}))}""!==l.position&&(n(l),c=!0);var f=document.createElement("object");f.style.cssText=u,f.tabIndex=-1,f.type="text/html",f.setAttribute("aria-hidden","true"),f.onload=a,r.isIE()||(f.data="about:blank"),i(o)&&(o.appendChild(f),i(o).object=f,r.isIE()&&(f.data="about:blank"))}i(o).startSize={width:f,height:d},n?n.add(p):p()}r.isIE(8)?s(o):u(o,s)}function u(t){return i(t).object}function c(t){if(i(t)){var e=u(t);e&&(r.isIE(8)?t.detachEvent("onresize",e.proxy):t.removeChild(e),i(t).checkForObjectDocumentTimeoutId&&window.clearTimeout(i(t).checkForObjectDocumentTimeoutId),delete i(t).object)}}return{makeDetectable:s,addListener:o,uninstall:c}}},"18e9":function(t,e,n){"use strict";var r=t.exports={};r.isIE=function(t){function e(){var t=navigator.userAgent.toLowerCase();return-1!==t.indexOf("msie")||-1!==t.indexOf("trident")||-1!==t.indexOf(" edge/")}if(!e())return!1;if(!t)return!0;var n=function(){var t,e=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++e+"]>4?e:t}();return t===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(t,e,n){var r=n("f772");t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,e,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},"214f":function(t,e,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),c=s("species"),l=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),f=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var d=s(t),p=!o((function(){var e={};return e[d]=function(){return 7},7!=""[t](e)})),h=p?!o((function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](""),!e})):void 0;if(!p||!h||"replace"===t&&!l||"split"===t&&!f){var v=/./[d],g=n(a,d,""[t],(function(t,e,n,r,i){return e.exec===u?p&&!i?{done:!0,value:v.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}})),m=g[0],y=g[1];r(String.prototype,t,m),i(RegExp.prototype,d,2==e?function(t,e){return y.call(t,this,e)}:function(t){return y.call(t,this)})}}},"230e":function(t,e,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);t.exports=function(t){return o?i.createElement(t):{}}},2350:function(t,e){function n(t,e){var n=t[1]||"",i=t[3];if(!i)return n;if(e&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(t){return"/*# sourceURL="+i.sourceRoot+t+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(t){var e=btoa(unescape(encodeURIComponent(JSON.stringify(t)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+e;return"/*# "+n+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r=n(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r})).join("")},e.i=function(t,n){"string"===typeof t&&(t=[[null,t,""]]);for(var r={},i=0;i";e.style.display="none",n("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),c=t.F;while(r--)delete c[u][o[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[u]=r(t),n=new s,s[u]=null,n[a]=t):n=c(),void 0===e?n:i(n,e)}},"2b4c":function(t,e,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=t.exports=function(t){return r[t]||(r[t]=a&&o[t]||(a?o:i)("Symbol."+t))};s.store=r},"2cef":function(t,e,n){"use strict";t.exports=function(){var t=1;function e(){return t++}return{generate:e}}},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},"2f21":function(t,e,n){"use strict";var r=n("79e5");t.exports=function(t,e){return!!t&&r((function(){e?t.call(null,(function(){}),1):t.call(null)}))}},"32e9":function(t,e,n){var r=n("86cc"),i=n("4630");t.exports=n("9e1e")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"35e8":function(t,e,n){var r=n("d9f6"),i=n("aebd");t.exports=n("8e60")?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"38fd":function(t,e,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,n){t.prototype=r(a,{next:i(1,n)}),o(t,e+" Iterator")}},"454f":function(t,e,n){n("46a7");var r=n("584a").Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},"456d":function(t,e,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(t){return i(r(t))}}))},4588:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"46a7":function(t,e,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(t,e,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(t,e,n,s){return[function(n){var r=t(this),i=void 0==n?void 0:n[e];return void 0!==i?i.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=s(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this);if(!u.global)return a(u,c);var l=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,c))){var h=String(f[0]);d[p]=h,""===h&&(u.lastIndex=o(c,i(u.lastIndex),l)),p++}return 0===p?null:d}]}))},"499e":function(t,e,n){"use strict";function r(t,e){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i=y&&(n=i);else n=i}else n=i}var h,v,m,y;return n},_.matchesUpTo=function(t,e,n){for(;a.default.element(t);){if(O(t,e))return!0;if((t=E(t))===n)return O(t,e)}return!1},_.getActualElement=function(t){return t instanceof g.default.SVGElementInstance?t.correspondingUseElement:t},_.getScrollXY=M,_.getElementClientRect=j,_.getElementRect=function(t){var n=j(t);if(!x.default.isIOS7&&n){var r=M(e.default.getWindow(t));n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n},_.getPath=function(t){for(var e=[];t;)e.push(t),t=E(t);return e},_.trySelector=function(t){return!!a.default.string(t)&&(g.default.document.querySelector(t),!0)};var P=function(t){return t.parentNode||t.host};function T(t,e){for(var n,r=[],i=t;(n=P(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function M(t){return{x:(t=t||e.default.window).scrollX||t.document.documentElement.scrollLeft,y:t.scrollY||t.document.documentElement.scrollTop}}function j(t){var e=t instanceof g.default.SVGElement?t.getBoundingClientRect():t.getClientRects()[0];return e&&{left:e.left,right:e.right,top:e.top,bottom:e.bottom,width:e.width||e.right-e.left,height:e.height||e.bottom-e.top}}var k={};Object.defineProperty(k,"__esModule",{value:!0}),k.default=function(t,e){for(var n in e)t[n]=e[n];return t};var z={};function I(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n1?V(e):e[0],i={};X(r,i),t.page.x=i.x,t.page.y=i.y,Y(r,i),t.client.x=i.x,t.client.y=i.y,t.timeStamp=n},B.getTouchPair=G,B.pointerAverage=V,B.touchBBox=function(t){if(!(t.length||t.touches&&t.touches.length>1))return null;var e=G(t),n=Math.min(e[0].pageX,e[1].pageX),r=Math.min(e[0].pageY,e[1].pageY),i=Math.max(e[0].pageX,e[1].pageX),o=Math.max(e[0].pageY,e[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},B.touchDistance=function(t,e){var n=e+"X",r=e+"Y",i=G(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,H.default)(o,a)},B.touchAngle=function(t,e){var n=e+"X",r=e+"Y",i=G(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI},B.getPointerType=function(t){return a.default.string(t.pointerType)?t.pointerType:a.default.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type)||t instanceof g.default.Touch?"touch":"mouse"},B.getEventTargets=function(t){var e=a.default.func(t.composedPath)?t.composedPath():t.path;return[_.getActualElement(e?e[0]:t.target),_.getActualElement(t.currentTarget)]},B.newCoords=function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},B.coordsToEvent=function(t){return{coords:t,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons},preventDefault:function(){}}},Object.defineProperty(B,"pointerExtend",{enumerable:!0,get:function(){return L.default}});var q={};function U(t,e){for(var n=0;ns.left&&f.xs.top&&f.y=s.left&&v<=s.right&&g>=s.top&&g<=s.bottom}if(h&&a.default.number(c)){var m=Math.max(0,Math.min(s.right,h.right)-Math.max(s.left,h.left))*Math.max(0,Math.min(s.bottom,h.bottom)-Math.max(s.top,h.top))/(h.width*h.height);u=m>=c}return t.options.drop.checker&&(u=t.options.drop.checker(e,n,u,t,o,r,i)),u}(this,t,e,n,r,i,o)},n.dynamicDrop=function(e){return a.default.bool(e)?(t.dynamicDrop=e,n):t.dynamicDrop},(0,k.default)(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=gt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;"drag"===e.prepared.name&&(e.dropState={cur:{dropzone:null,element:null},prev:{dropzone:null,element:null},rejected:null,events:null,activeDrops:[]})},"interactions:after-action-start":function(t,e){var n=t.interaction,r=(t.event,t.iEvent);if("drag"===n.prepared.name){var i=n.dropState;i.activeDrops=null,i.events=null,i.activeDrops=ft(e,n.element),i.events=pt(n,0,r),i.events.activate&&(lt(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":vt,"interactions:action-end":vt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(ht(n,n.dropState.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),n.dropState.events={})},"interactions:after-action-end":function(t,e){var n=t.interaction,r=t.iEvent;"drag"===n.prepared.name&&(ht(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r}))},"interactions:stop":function(t){var e=t.interaction;if("drag"===e.prepared.name){var n=e.dropState;n&&(n.activeDrops=null,n.events=null,n.cur.dropzone=null,n.cur.element=null,n.prev.dropzone=null,n.prev.element=null,n.rejected=!1)}}},getActiveDrops:ft,getDrop:dt,getDropEvents:pt,fireDropEvents:ht,defaults:{enabled:!1,accept:null,overlap:"pointer"}},mt=gt;ct.default=mt;var yt={};function bt(t){var e=t.interaction,n=t.iEvent,r=t.phase;if("gesture"===e.prepared.name){var i=e.pointers.map((function(t){return t.pointer})),o="start"===r,s="end"===r,u=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],o)n.distance=B.touchDistance(i,u),n.box=B.touchBBox(i),n.scale=1,n.ds=0,n.angle=B.touchAngle(i,u),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(s){var c=e.prevEvent;n.distance=c.distance,n.box=c.box,n.scale=c.scale,n.ds=0,n.angle=c.angle,n.da=0}else n.distance=B.touchDistance(i,u),n.box=B.touchBBox(i),n.scale=n.distance/e.gesture.startDistance,n.angle=B.touchAngle(i,u),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,a.default.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}Object.defineProperty(yt,"__esModule",{value:!0}),yt.default=void 0;var xt={id:"actions/gesture",before:["actions/drag","actions/resize"],install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.gesturable=function(t){return a.default.object(t)?(this.options.gesture.enabled=!1!==t.enabled,this.setPerAction("gesture",t),this.setOnEvents("gesture",t),this):a.default.bool(t)?(this.options.gesture.enabled=t,this):this.options.gesture},e.map.gesture=xt,e.methodDict.gesture="gesturable",r.actions.gesture=xt.defaults},listeners:{"interactions:action-start":bt,"interactions:action-move":bt,"interactions:action-end":bt,"interactions:new":function(t){t.interaction.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}},"auto-start:check":function(t){if(!(t.interaction.pointers.length<2)){var e=t.interactable.options.gesture;if(e&&e.enabled)return t.action={name:"gesture"},!1}}},defaults:{},getCursor:function(){return""}},wt=xt;yt.default=wt;var St={};function _t(t,e,n,r,i,o,s){if(!e)return!1;if(!0===e){var u=a.default.number(o.width)?o.width:o.right-o.left,c=a.default.number(o.height)?o.height:o.bottom-o.top;if(s=Math.min(s,Math.abs(("left"===t||"right"===t?u:c)/2)),u<0&&("left"===t?t="right":"right"===t&&(t="left")),c<0&&("top"===t?t="bottom":"bottom"===t&&(t="top")),"left"===t)return n.x<(u>=0?o.left:o.right)+s;if("top"===t)return n.y<(c>=0?o.top:o.bottom)+s;if("right"===t)return n.x>(u>=0?o.right:o.left)-s;if("bottom"===t)return n.y>(c>=0?o.bottom:o.top)-s}return!!a.default.element(r)&&(a.default.element(e)?e===r:_.matchesUpTo(r,e,i))}function Et(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.resizeAxes){var r=e;n.interactable.options.resize.square?("y"===n.resizeAxes?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,"x"===n.resizeAxes?r.delta.y=0:"y"===n.resizeAxes&&(r.delta.x=0))}}Object.defineProperty(St,"__esModule",{value:!0}),St.default=void 0;var Ot={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;Ot.cursors=function(t){return t.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}(n),Ot.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(e){return function(t,e,n){return a.default.object(e)?(t.options.resize.enabled=!1!==e.enabled,t.setPerAction("resize",e),t.setOnEvents("resize",e),a.default.string(e.axis)&&/^x$|^y$|^xy$/.test(e.axis)?t.options.resize.axis=e.axis:null===e.axis&&(t.options.resize.axis=n.defaults.actions.resize.axis),a.default.bool(e.preserveAspectRatio)?t.options.resize.preserveAspectRatio=e.preserveAspectRatio:a.default.bool(e.square)&&(t.options.resize.square=e.square),t):a.default.bool(e)?(t.options.resize.enabled=e,t):t.options.resize}(this,e,t)},e.map.resize=Ot,e.methodDict.resize="resizable",i.actions.resize=Ot.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.rect;n._rects={start:(0,k.default)({},i),corrected:(0,k.default)({},i),previous:(0,k.default)({},i),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}}(t),Et(t)},"interactions:action-move":function(t){!function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e,i=n.interactable.options.resize.invert,o="reposition"===i||"negate"===i,a=n.rect,s=n._rects,u=s.start,c=s.corrected,l=s.delta,f=s.previous;if((0,k.default)(f,c),o){if((0,k.default)(c,a),"reposition"===i){if(c.top>c.bottom){var d=c.top;c.top=c.bottom,c.bottom=d}if(c.left>c.right){var p=c.left;c.left=c.right,c.right=p}}}else c.top=Math.min(a.top,u.bottom),c.bottom=Math.max(a.bottom,u.top),c.left=Math.min(a.left,u.right),c.right=Math.max(a.right,u.left);for(var h in c.width=c.right-c.left,c.height=c.bottom-c.top,c)l[h]=c[h]-f[h];r.edges=n.prepared.edges,r.rect=c,r.deltaRect=l}}(t),Et(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=e;r.edges=n.prepared.edges,r.rect=n._rects.corrected,r.deltaRect=n._rects.delta}},"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.element,i=t.rect,o=t.buttons;if(i){var s=(0,k.default)({},e.coords.cur.page),u=n.options.resize;if(u&&u.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||0!=(o&u.mouseButtons))){if(a.default.object(u.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var l in c)c[l]=_t(l,u.edges[l],s,e._latestPointer.eventTarget,r,i,u.margin||Ot.defaultMargin);c.left=c.left&&!c.right,c.top=c.top&&!c.bottom,(c.left||c.right||c.top||c.bottom)&&(t.action={name:"resize",edges:c})}else{var f="y"!==u.axis&&s.x>i.right-Ot.defaultMargin,d="x"!==u.axis&&s.y>i.bottom-Ot.defaultMargin;(f||d)&&(t.action={name:"resize",axes:(f?"x":"")+(d?"y":"")})}return!t.action&&void 0}}}},defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},cursors:null,getCursor:function(t){var e=t.edges,n=t.axis,r=t.name,i=Ot.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=["top","bottom","left","right"],u=0;u=1){var l={x:Ct.x*c,y:Ct.y*c};if(l.x||l.y){var f=Lt(o);a.default.window(o)?o.scrollBy(l.x,l.y):o&&(o.scrollLeft+=l.x,o.scrollTop+=l.y);var d=Lt(o),p={x:d.x-f.x,y:d.y-f.y};(p.x||p.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:p,interaction:t,container:o})}Ct.prevTime=s}Ct.isScrolling&&(kt.default.cancel(Ct.i),Ct.i=kt.default.request(Ct.scroll))},check:function(t,e){var n=t.options;return n[e].autoScroll&&n[e].autoScroll.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&Ct.check(e.interactable,e.prepared.name))if(e.simulation)Ct.x=Ct.y=0;else{var r,i,o,s,u=e.interactable,c=e.element,l=e.prepared.name,f=u.options[l].autoScroll,d=Ht(f.container,u,c);if(a.default.window(d))s=n.clientXd.innerWidth-Ct.margin,o=n.clientY>d.innerHeight-Ct.margin;else{var p=_.getElementClientRect(d);s=n.clientXp.right-Ct.margin,o=n.clientY>p.bottom-Ct.margin}Ct.x=i?1:s?-1:0,Ct.y=o?1:r?-1:0,Ct.isScrolling||(Ct.margin=f.margin,Ct.speed=f.speed,Ct.start(e))}}};function Ht(t,n,r){return(a.default.string(t)?(0,z.getStringOptionResult)(t,n,r):t)||(0,e.getWindow)(r)}function Lt(t){return a.default.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Nt={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=Ct,Ct.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=Ct.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,Ct.stop(),Ct.interaction&&(Ct.interaction=null)},"interactions:stop":Ct.stop,"interactions:action-move":function(t){return Ct.onInteractionMove(t)}}};At.default=Nt;var Wt={};Object.defineProperty(Wt,"__esModule",{value:!0}),Wt.warnOnce=function(t,n){var r=!1;return function(){return r||(e.default.window.console.warn(n),r=!0),t.apply(this,arguments)}},Wt.copyAction=function(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t};var Bt={};function $t(t){return a.default.bool(t)?(this.options.styleCursor=t,this):null===t?(delete this.options.styleCursor,this):this.options.styleCursor}function Ft(t){return a.default.func(t)?(this.options.actionChecker=t,this):null===t?(delete this.options.actionChecker,this):this.options.actionChecker}Object.defineProperty(Bt,"__esModule",{value:!0}),Bt.default=void 0;var Xt={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(e,n,r,i){var o=function(t,e,n,r,i){var o=t.getRect(r),a=e.buttons||{0:1,1:4,3:8,4:16}[e.button],s={action:null,interactable:t,interaction:n,element:r,rect:o,buttons:a};return i.fire("auto-start:check",s),s.action}(this,n,r,i,t);return this.options.actionChecker?this.options.actionChecker(e,n,o,this,i,r):o},e.prototype.ignoreFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("ignoreFrom",t)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=(0,Wt.warnOnce)((function(t){return this._backCompatOption("allowFrom",t)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ft,e.prototype.styleCursor=$t}};Bt.default=Xt;var Yt={};function Gt(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Zt(e,n,t,i)?t:null}function Vt(t,e,n,r,i,o,a){for(var s=0,u=r.length;s=s)return!1;if(d.interactable===t){if((c+=p===n.name?1:0)>=o)return!1;if(d.element===e&&(l++,p===n.name&&l>=a))return!1}}}return s>0}function Kt(t,e){return a.default.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function Jt(t,e,n){var r=n.autoStart.cursorElement;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function Qt(t,e){var n=t.interactable,r=t.element,i=t.prepared;if("mouse"===t.pointerType&&n&&n.options.styleCursor){var o="";if(i.name){var s=n.options[i.name].cursorChecker;o=a.default.func(s)?s(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}Jt(t.element,o||"",e)}else e.autoStart.cursorElement&&Jt(e.autoStart.cursorElement,"",e)}Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.default=void 0;var te={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Bt.default),n.base.actionChecker=null,n.base.styleCursor=!0,(0,k.default)(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(e){return Kt(e,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Zt,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||Ut(n,qt(n,r,i,o,e),e)},"interactions:move":function(t,e){!function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;"mouse"!==n.pointerType||n.pointerIsDown||n.interacting()||Ut(n,qt(n,r,i,o,e),e)}(t,e),function(t,e){var n=t.interaction;if(n.pointerIsDown&&!n.interacting()&&n.pointerWasMoved&&n.prepared.name){e.fire("autoStart:before-start",t);var r=n.interactable,i=n.prepared.name;i&&r&&(r.options[i].manualStart||!Zt(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),Qt(n,e)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&Jt(n.element,"",e)}},maxInteractions:Kt,withinInteractionLimit:Zt,validateAction:Gt};Yt.default=te;var ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var ne={id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function(t,e){var n=t.interaction,r=t.eventTarget,i=t.dx,o=t.dy;if("drag"===n.prepared.name){var s=Math.abs(i),u=Math.abs(o),c=n.interactable.options.drag,l=c.startAxis,f=s>u?"x":s0&&(e.autoStartHoldTimer=setTimeout((function(){e.start(e.prepared,e.interactable,e.element)}),n))},"interactions:move":function(t){var e=t.interaction,n=t.duplicate;e.pointerWasMoved&&!n&&clearTimeout(e.autoStartHoldTimer)},"autoStart:before-start":function(t){var e=t.interaction;ie(e)>0&&(e.prepared.name=null)}},getHoldDuration:ie};re.default=oe;var ae={};Object.defineProperty(ae,"__esModule",{value:!0}),ae.default=void 0;var se={id:"auto-start",install:function(t){t.usePlugin(Yt.default),t.usePlugin(re.default),t.usePlugin(ee.default)}};ae.default=se;var ue={};Object.defineProperty(ue,"__esModule",{value:!0}),ue.default=void 0,ue.default={};var ce={};function le(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):a.default.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault}function fe(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}function de(t){var n=t.Interactable;n.prototype.preventDefault=le,n.prototype.checkAndPreventDefault=function(n){return function(t,n,r){var i=t.options.preventDefault;if("never"!==i)if("always"!==i){if(n.events.supportsPassive&&/^touch(start|move)$/.test(r.type)){var o=(0,e.getWindow)(r.target).document,s=n.getDocOptions(o);if(!s||!s.events||!1!==s.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(r.type)||a.default.element(r.target)&&(0,_.matchesSelector)(r.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||r.preventDefault()}else r.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&void 0!==arguments[1]?arguments[1]:{},n=e.logger,r=t.Interactable,i=t.defaults;t.logger=n||console,i.base.devTools={ignore:{}},r.prototype.devTools=function(t){return t?((0,k.default)(this.options.devTools,t),this):this.options.devTools}},listeners:{"interactions:action-start":function(t,e){for(var n=t.interaction,r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n150)return null;var e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);var n=112.5<=e&&e<247.5,r=202.5<=e&&e<337.5;return{up:r,down:!r&&22.5<=e&&e<157.5,left:n,right:!n&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}])&&Le(e.prototype,n),r&&Le(e,r),o}(q.BaseEvent);Ce.InteractEvent=Xe,Object.defineProperties(Xe.prototype,{pageX:{get:function(){return this.page.x},set:function(t){this.page.x=t}},pageY:{get:function(){return this.page.y},set:function(t){this.page.y=t}},clientX:{get:function(){return this.client.x},set:function(t){this.client.x=t}},clientY:{get:function(){return this.client.y},set:function(t){this.client.y=t}},dx:{get:function(){return this.delta.x},set:function(t){this.delta.x=t}},dy:{get:function(){return this.delta.y},set:function(t){this.delta.y=t}},velocityX:{get:function(){return this.velocity.x},set:function(t){this.velocity.x=t}},velocityY:{get:function(){return this.velocity.y},set:function(t){this.velocity.y=t}}});var Ye={};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.PointerInfo=void 0,Ye.PointerInfo=function t(e,n,r,i,o){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.id=void 0,this.pointer=void 0,this.event=void 0,this.downTime=void 0,this.downTarget=void 0,this.id=e,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};var Ge,Ve,qe={};function Ue(t,e){for(var n=0;nthis.pointerMoveTolerance);var a=this.getPointerIndex(t),s={pointer:t,pointerIndex:a,pointerInfo:this.pointers[a],event:e,type:"move",eventTarget:n,dx:r,dy:i,duplicate:o,interaction:this};o||B.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",s),o||this.simulation||(this.interacting()&&(s.type=null,this.move(s)),this.pointerWasMoved&&B.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(t){t&&t.event||B.setZeroCoords(this.coords.delta),(t=(0,k.default)({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},t||{})).phase="move",this._doPhase(t)}},{key:"pointerUp",value:function(t,e,n,r){var i=this.getPointerIndex(t);-1===i&&(i=this.updatePointer(t,e,n,!1));var o=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire("interactions:".concat(o),{pointer:t,pointerIndex:i,pointerInfo:this.pointers[i],event:e,eventTarget:n,type:o,curEventTarget:r,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}},{key:"documentBlur",value:function(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}},{key:"end",value:function(t){var e;this._ending=!0,t=t||this._latestPointer.event,this.interacting()&&(e=this._doPhase({event:t,interaction:this,phase:"end"})),this._ending=!1,!0===e&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(t){var e=B.getPointerId(t);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:J.findIndex(this.pointers,(function(t){return t.id===e}))}},{key:"getPointerInfo",value:function(t){return this.pointers[this.getPointerIndex(t)]}},{key:"updatePointer",value:function(t,e,n,r){var i=B.getPointerId(t),o=this.getPointerIndex(t),a=this.pointers[o];return r=!1!==r&&(r||/(down|start)$/i.test(e.type)),a?a.pointer=t:(a=new Ye.PointerInfo(i,t,e,null,null),o=this.pointers.length,this.pointers.push(a)),B.setCoords(this.coords.cur,this.pointers.map((function(t){return t.pointer})),this._now()),B.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,a.downTime=this.coords.cur.timeStamp,a.downTarget=n,B.pointerExtend(this.downPointer,t),this.interacting()||(B.copyCoords(this.coords.start,this.coords.cur),B.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=e,this.pointerWasMoved=!1)),this._updateLatestPointer(t,e,n),this._scopeFire("interactions:update-pointer",{pointer:t,event:e,eventTarget:n,down:r,pointerInfo:a,pointerIndex:o,interaction:this}),o}},{key:"removePointer",value:function(t,e){var n=this.getPointerIndex(t);if(-1!==n){var r=this.pointers[n];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(t,e,n){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(t,e,n,r){return new Ce.InteractEvent(this,t,this.prepared.name,e,this.element,n,r)}},{key:"_fireEvent",value:function(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}},{key:"_doPhase",value:function(t){var e=t.event,n=t.phase,r=t.preEnd,i=t.type,o=this.rect;if(o&&"move"===n&&(z.addEdges(this.edges,o,this.coords.delta[this.interactable.options.deltaSource]),o.width=o.right-o.left,o.height=o.bottom-o.top),!1===this._scopeFire("interactions:before-action-".concat(n),t))return!1;var a=t.iEvent=this._createPreparedEvent(e,n,r,i);return this._scopeFire("interactions:action-".concat(n),t),"start"===n&&(this.prevEvent=a),this._fireEvent(a),this._scopeFire("interactions:after-action-".concat(n),t),!0}},{key:"_now",value:function(){return Date.now()}}]),t}();qe.Interaction=Je;var Qe=Je;qe.default=Qe;var tn={};function en(t){t.pointerIsDown&&(an(t.coords.cur,t.offset.total),t.offset.pending.x=0,t.offset.pending.y=0)}function nn(t){rn(t.interaction)}function rn(t){if(!function(t){return!(!t.offset.pending.x&&!t.offset.pending.y)}(t))return!1;var e=t.offset.pending;return an(t.coords.cur,e),an(t.coords.delta,e),z.addEdges(t.edges,t.rect,e),e.x=0,e.y=0,!0}function on(t){var e=t.x,n=t.y;this.offset.pending.x+=e,this.offset.pending.y+=n,this.offset.total.x+=e,this.offset.total.y+=n}function an(t,e){var n=t.page,r=t.client,i=e.x,o=e.y;n.x+=i,n.y+=o,r.x+=i,r.y+=o}Object.defineProperty(tn,"__esModule",{value:!0}),tn.addTotal=en,tn.applyPending=rn,tn.default=void 0,qe._ProxyMethods.offsetBy="";var sn={id:"offset",before:["modifiers"],install:function(t){t.Interaction.prototype.offsetBy=on},listeners:{"interactions:new":function(t){t.interaction.offset={total:{x:0,y:0},pending:{x:0,y:0}}},"interactions:update-pointer":function(t){return en(t.interaction)},"interactions:before-action-start":nn,"interactions:before-action-move":nn,"interactions:before-action-end":function(t){var e=t.interaction;if(rn(e))return e.move({offset:!0}),e.end(),!1},"interactions:stop":function(t){var e=t.interaction;e.offset.total.x=0,e.offset.total.y=0,e.offset.pending.x=0,e.offset.pending.y=0}}};tn.default=sn;var un={};function cn(t,e){for(var n=0;nn.minSpeed&&i>n.endSpeed)this.startInertia();else{if(o.result=o.setAll(this.modifierArg),!o.result.changed)return!1;this.startSmoothEnd()}return e.modification.result.rect=null,e.offsetBy(this.targetOffset),e._doPhase({interaction:e,event:t,phase:"inertiastart"}),e.offsetBy({x:-this.targetOffset.x,y:-this.targetOffset.y}),e.modification.result.rect=null,this.active=!0,e.simulation=this,!0}},{key:"startInertia",value:function(){var t=this,e=this.interaction.coords.velocity.client,n=fn(this.interaction),r=n.resistance,i=-Math.log(n.endSpeed/this.v0)/r;this.targetOffset={x:(e.x-i)/r,y:(e.y-i)/r},this.te=i,this.lambda_v0=r/this.v0,this.one_ve_v0=1-n.endSpeed/this.v0;var o=this.modification,a=this.modifierArg;a.pageCoords={x:this.startCoords.x+this.targetOffset.x,y:this.startCoords.y+this.targetOffset.y},o.result=o.setAll(a),o.result.changed&&(this.isModified=!0,this.modifiedOffset={x:this.targetOffset.x+o.result.delta.x,y:this.targetOffset.y+o.result.delta.y}),this.timeout=kt.default.request((function(){return t.inertiaTick()}))}},{key:"startSmoothEnd",value:function(){var t=this;this.smoothEnd=!0,this.isModified=!0,this.targetOffset={x:this.modification.result.delta.x,y:this.modification.result.delta.y},this.timeout=kt.default.request((function(){return t.smoothEndTick()}))}},{key:"inertiaTick",value:function(){var t,e,n,r,i,o,a,s=this,u=this.interaction,c=fn(u).resistance,l=(u._now()-this.t0)/1e3;if(l=0;n--){var r=e[n],i=r.selector,o=r.context,s=r.listeners;i===this.target&&o===this._context&&e.splice(n,1);for(var u=s.length-1;u>=0;u--)this._scopeEvents.removeDelegate(this.target,this._context,t,s[u][0],s[u][1])}else this._scopeEvents.remove(this.target,"all")}}]),t}();xn.Interactable=_n;var En={};function On(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;a--){var p=f[a];if(p.selector===t&&p.context===e){for(var h=p.listeners,v=h.length-1;v>=0;v--){var g=jn(h[v],2),m=g[0],y=g[1],b=y.capture,x=y.passive;if(m===i&&b===l.capture&&x===l.passive){h.splice(v,1),h.length||(f.splice(a,1),s(e,r,u),s(e,r,c,!0)),d=!0;break}}if(d)break}}},delegateListener:u,delegateUseCapture:c,delegatedEvents:n,documents:r,targets:e,supportsOptions:!1,supportsPassive:!1};function o(t,n,r,o){var a=In(o),s=J.find(e,(function(e){return e.eventTarget===t}));s||(s={eventTarget:t,events:{}},e.push(s)),s.events[n]||(s.events[n]=[]),t.addEventListener&&!J.contains(s.events[n],r)&&(t.addEventListener(n,r,i.supportsOptions?a:a.capture),s.events[n].push(r))}function s(t,n,r,o){var a=In(o),u=J.findIndex(e,(function(e){return e.eventTarget===t})),c=e[u];if(c&&c.events)if("all"!==n){var l=!1,f=c.events[n];if(f){if("all"===r){for(var d=f.length-1;d>=0;d--)s(t,n,f[d],a);return}for(var p=0;p=2)continue;if(!i.interacting()&&e===i.pointerType)return i}return null}};function Hn(t,e){return t.pointers.some((function(t){return t.id===e}))}var Ln=Cn;An.default=Ln;var Nn={};function Wn(t){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Bn(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!e||n.length!==e);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(t,e)||function(t,e){if(t){if("string"==typeof t)return $n(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?$n(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function $n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;r--){var i=e.interactions.list[r];i.interactable===n&&(i.stop(),e.fire("interactions:destroy",{interaction:i}),i.destroy(),e.interactions.list.length>2&&e.interactions.list.splice(r,1))}}},onDocSignal:Jn,doOnInteractions:Zn,methodNames:Un};Nn.default=Qn;var tr={};function er(t){return(er="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nr(t,e,n){return(nr="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=ar(t)););return t}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function rr(t,e){return(rr=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function ir(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,r=ar(t);if(e){var i=ar(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return or(this,n)}}function or(t,e){return!e||"object"!==er(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ar(t){return(ar=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function sr(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ur(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=Array(e);nMath.abs(u.y),s.coords,s.rect),(0,k.default)(r,s.coords)),s.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function zr(t,e,n){var r=t.startCoords,i=t.edgeSign;e?n.y=r.y+(n.x-r.x)*i:n.x=r.x+(n.y-r.y)*i}function Ir(t,e,n,r){var i=t.startRect,o=t.startCoords,a=t.ratio,s=t.edgeSign;if(e){var u=r.width/a;n.y=o.y+(u-i.height)*s}else{var c=r.height*a;n.x=o.x+(c-i.width)*s}}Pr.aspectRatio=kr;var Rr=(0,Ie.makeModifier)(kr,"aspectRatio");Pr.default=Rr;var Dr={};Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.default=void 0;var Ar=function(){};Ar._defaults={};var Cr=Ar;Dr.default=Cr;var Hr={};Object.defineProperty(Hr,"__esModule",{value:!0}),Object.defineProperty(Hr,"default",{enumerable:!0,get:function(){return Dr.default}});var Lr={};function Nr(t,e,n){return a.default.func(t)?z.resolveRectLike(t,e.interactable,e.element,[n.x,n.y,e]):z.resolveRectLike(t,e.interactable,e.element)}Object.defineProperty(Lr,"__esModule",{value:!0}),Lr.getRestrictionRect=Nr,Lr.restrict=Lr.default=void 0;var Wr={start:function(t){var e=t.rect,n=t.startOffset,r=t.state,i=t.interaction,o=t.pageCoords,a=r.options,s=a.elementRect,u=(0,k.default)({left:0,top:0,right:0,bottom:0},a.offset||{});if(e&&s){var c=Nr(a.restriction,i,o);if(c){var l=c.right-c.left-e.width,f=c.bottom-c.top-e.height;l<0&&(u.left+=l,u.right+=l),f<0&&(u.top+=f,u.bottom+=f)}u.left+=n.left-e.width*s.left,u.top+=n.top-e.height*s.top,u.right+=n.right-e.width*(1-s.right),u.bottom+=n.bottom-e.height*(1-s.bottom)}r.offset=u},set:function(t){var e=t.coords,n=t.interaction,r=t.state,i=r.options,o=r.offset,a=Nr(i.restriction,n,e);if(a){var s=z.xywhToTlbr(a);e.x=Math.max(Math.min(s.right-o.right,e.x),s.left+o.left),e.y=Math.max(Math.min(s.bottom-o.bottom,e.y),s.top+o.top)}},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};Lr.restrict=Wr;var Br=(0,Ie.makeModifier)(Wr,"restrict");Lr.default=Br;var $r={};Object.defineProperty($r,"__esModule",{value:!0}),$r.restrictEdges=$r.default=void 0;var Fr={top:1/0,left:1/0,bottom:-1/0,right:-1/0},Xr={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function Yr(t,e){for(var n=["top","left","bottom","right"],r=0;rt.length)&&(e=t.length);for(var n=0,r=Array(e);n1&&o.call(a[0],n,(function(){for(l=1;lf)n=u(r,e=c[f++]),void 0!==n&&s(l,e,n);return l}})},9093:function(t,e,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"990b":function(t,e,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(o(t)),n=i.f;return n?e.concat(n(t)):e}},"9b43":function(t,e,n){var r=n("d8e8");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9cbe":function(t,e,n){e=t.exports=n("2350")(!1),e.push([t.i,'.vue-grid-item{-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transition-property:left,top,right;transition-property:left,top,right}.vue-grid-item.no-touch{-ms-touch-action:none;touch-action:none}.vue-grid-item.cssTransforms{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;left:0;right:auto}.vue-grid-item.cssTransforms.render-rtl{left:auto;right:0}.vue-grid-item.resizing{opacity:.6;z-index:3}.vue-grid-item.vue-draggable-dragging{-webkit-transition:none;transition:none;z-index:3}.vue-grid-item.vue-grid-placeholder{background:red;opacity:.2;-webkit-transition-duration:.1s;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.vue-grid-item>.vue-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;background:url("data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZ6IiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+");background-position:100% 100%;padding:0 3px 3px 0;background-repeat:no-repeat;background-origin:content-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:se-resize}.vue-grid-item>.vue-rtl-resizable-handle{bottom:0;left:0;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS0xLTFoMTJ2MTJILTF6Ii8+PGc+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGQ9Ik0xNDQuODIxLTM4LjM5M2wtMjAuMzU3LTMxLjc4NSIvPjxwYXRoIHN0cm9rZT0iIzY2NiIgc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZD0iTS45NDctLjAxOHY5LjEyNU0tLjY1NiA5aDEwLjczIi8+PC9nPjwvc3ZnPg==);background-position:0 100%;padding-left:3px;background-repeat:no-repeat;background-origin:content-box;cursor:sw-resize;right:auto}.vue-grid-item.disable-userselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}',""])},"9def":function(t,e,n){var r=n("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,n){t.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a481:function(t,e,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),s=n("0390"),u=n("5f1b"),c=Math.max,l=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g,h=function(t){return void 0===t?t:String(t)};n("214f")("replace",2,(function(t,e,n,v){return[function(r,i){var o=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(t,e){var i=v(n,t,this,e);if(i.done)return i.value;var f=r(t),d=String(this),p="function"===typeof e;p||(e=String(e));var m=f.global;if(m){var y=f.unicode;f.lastIndex=0}var b=[];while(1){var x=u(f,d);if(null===x)break;if(b.push(x),!m)break;var w=String(x[0]);""===w&&(f.lastIndex=s(d,o(f.lastIndex),y))}for(var S="",_=0,E=0;E=_&&(S+=d.slice(_,P)+z,_=P+O.length)}return S+d.slice(_)}];function g(t,e,r,o,a,s){var u=r+t.length,c=o.length,l=p;return void 0!==a&&(a=i(a),l=d),n.call(s,l,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return n;if(l>c){var d=f(l/10);return 0===d?n:d<=c?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[l-1]}return void 0===s?"":s}))}}))},aa77:function(t,e,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",c=RegExp("^"+s+s+"*"),l=RegExp(s+s+"*$"),f=function(t,e,n){var i={},s=o((function(){return!!a[t]()||u[t]()!=u})),c=i[t]=s?e(d):a[t];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},d=f.trim=function(t,e){return t=String(i(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(l,"")),t};t.exports=f},abb4:function(t,e,n){"use strict";t.exports=function(t){function e(){}var n={log:e,warn:e,error:e};if(!t&&window.console){var r=function(t,e){t[e]=function(){var t=console[e];if(t.apply)t.apply(console,arguments);else for(var n=0;nn?n=i:il)if(s=u[l++],s!=s)return!0}else for(;c>l;l++)if((t||l in u)&&u[l]===n)return t||l||0;return!t&&-1}}},c5f6:function(t,e,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),c=n("9093").f,l=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",h=r[p],v=h,g=h.prototype,m=o(n("2aeb")(g))==p,y="trim"in String.prototype,b=function(t){var e=s(t,!1);if("string"==typeof e&&e.length>2){e=y?e.trim():d(e,3);var n,r,i,o=e.charCodeAt(0);if(43===o||45===o){if(n=e.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(e.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+e}for(var a,u=e.slice(2),c=0,l=u.length;ci)return NaN;return parseInt(u,r)}}return+e};if(!h(" 0o1")||!h("0b1")||h("+0x1")){h=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof h&&(m?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new v(b(e)),n,h):b(e)};for(var x,w=n("9e1e")?c(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),S=0;w.length>S;S++)i(v,x=w[S])&&!i(h,x)&&f(h,x,l(v,x));h.prototype=g,g.constructor=h,n("2aba")(r,p,h)}},c69a:function(t,e,n){t.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c946:function(t,e,n){"use strict";var r=n("b770").forEach;t.exports=function(t){t=t||{};var e=t.reporter,n=t.batchProcessor,i=t.stateHandler.getState,o=(t.stateHandler.hasState,t.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!e)throw new Error("Missing required dependency: reporter.");var a=f(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function c(t){d(t,s,u)}function l(e){var n=t.important?" !important; ":"; ";return(e.join(n)+n).trim()}function f(){var t=500,e=500,n=document.createElement("div");n.style.cssText=l(["position: absolute","width: "+2*t+"px","height: "+2*e+"px","visibility: hidden","margin: 0","padding: 0"]);var r=document.createElement("div");r.style.cssText=l(["position: absolute","width: "+t+"px","height: "+e+"px","overflow: scroll","visibility: none","top: "+3*-t+"px","left: "+3*-e+"px","visibility: hidden","margin: 0","padding: 0"]),r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=t-r.clientWidth,o=e-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function d(t,e,n){function r(n,r){r=r||function(e){t.head.appendChild(e)};var i=t.createElement("style");return i.innerHTML=n,i.id=e,r(i),i}if(!t.getElementById(e)){var i=n+"_animation",o=n+"_animation_active",a="/* Created by the element-resize-detector library. */\n";a+="."+n+" > div::-webkit-scrollbar { "+l(["display: none"])+" }\n\n",a+="."+o+" { "+l(["-webkit-animation-duration: 0.1s","animation-duration: 0.1s","-webkit-animation-name: "+i,"animation-name: "+i])+" }\n",a+="@-webkit-keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",a+="@keyframes "+i+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",r(a)}}function p(t){t.className+=" "+u+"_animation_active"}function h(t,n,r){if(t.addEventListener)t.addEventListener(n,r);else{if(!t.attachEvent)return e.error("[scroll] Don't know how to add event listeners.");t.attachEvent("on"+n,r)}}function v(t,n,r){if(t.removeEventListener)t.removeEventListener(n,r);else{if(!t.detachEvent)return e.error("[scroll] Don't know how to remove event listeners.");t.detachEvent("on"+n,r)}}function g(t){return i(t).container.childNodes[0].childNodes[0].childNodes[0]}function m(t){return i(t).container.childNodes[0].childNodes[0].childNodes[1]}function y(t,e){var n=i(t).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(t).listeners.push(e)}function b(t,s,c){function f(){if(t.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),e.log.apply)e.log.apply(null,n);else for(var r=0;r=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(t,e,n){var r=n("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");t.exports=function(t,e){var n,s=i(t),u=0,c=[];for(n in s)n!=a&&r(s,n)&&c.push(n);while(e.length>u)r(s,n=e[u++])&&(~o(c,n)||c.push(n));return c}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d6eb:function(t,e,n){"use strict";var r="_erd";function i(t){return t[r]={},o(t)}function o(t){return t[r]}function a(t){delete t[r]}t.exports={initState:i,getState:o,cleanState:a}},d864:function(t,e,n){var r=n("79aa");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;e.f=n("8e60")?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return a(t,e,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(t,e,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(t,e,n){var r=n("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eec4:function(t,e,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),c=n("18e9"),l=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function h(t){return Array.isArray(t)||void 0!==t.length}function v(t){if(Array.isArray(t))return t;var e=[];return r(t,(function(t){e.push(t)})),e}function g(t){return t&&1===t.nodeType}function m(t,e,n){var r=t[e];return void 0!==r&&null!==r||void 0===n?r:n}t.exports=function(t){var e;if(t=t||{},t.idHandler)e={get:function(e){return t.idHandler.get(e,!0)},set:t.idHandler.set};else{var n=a(),y=s({idGenerator:n,stateHandler:f});e=y}var b=t.reporter;if(!b){var x=!1===b;b=u(x)}var w=m(t,"batchProcessor",l({reporter:b})),S={};S.callOnAdd=!!m(t,"callOnAdd",!0),S.debug=!!m(t,"debug",!1);var _,E=o(e),O=i({stateHandler:f}),P=m(t,"strategy","object"),T=m(t,"important",!1),M={reporter:b,batchProcessor:w,stateHandler:f,idHandler:e,important:T};if("scroll"===P&&(c.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),P="object"):c.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),P="object")),"scroll"===P)_=p(M);else{if("object"!==P)throw new Error("Invalid strategy name: "+P);_=d(M)}var j={};function k(t,n,i){function o(t){var e=E.get(t);r(e,(function(e){e(t)}))}function a(t,e,n){E.add(e,n),t&&n(e)}if(i||(i=n,n=t,t={}),!n)throw new Error("At least one element required.");if(!i)throw new Error("Listener required.");if(g(n))n=[n];else{if(!h(n))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");n=v(n)}var s=0,u=m(t,"callOnAdd",S.callOnAdd),c=m(t,"onReady",(function(){})),l=m(t,"debug",S.debug);r(n,(function(t){f.getState(t)||(f.initState(t),e.set(t));var d=e.get(t);if(l&&b.log("Attaching listener to element",d,t),!O.isDetectable(t))return l&&b.log(d,"Not detectable."),O.isBusy(t)?(l&&b.log(d,"System busy making it detectable"),a(u,t,i),j[d]=j[d]||[],void j[d].push((function(){s++,s===n.length&&c()}))):(l&&b.log(d,"Making detectable..."),O.markBusy(t,!0),_.makeDetectable({debug:l,important:T},t,(function(t){if(l&&b.log(d,"onElementDetectable"),f.getState(t)){O.markAsDetectable(t),O.markBusy(t,!1),_.addListener(t,o),a(u,t,i);var e=f.getState(t);if(e&&e.startSize){var p=t.offsetWidth,h=t.offsetHeight;e.startSize.width===p&&e.startSize.height===h||o(t)}j[d]&&r(j[d],(function(t){t()}))}else l&&b.log(d,"Element uninstalled before being detectable.");delete j[d],s++,s===n.length&&c()})));l&&b.log(d,"Already detecable, adding listener."),a(u,t,i),s++})),s===n.length&&c()}function z(t){if(!t)return b.error("At least one element is required.");if(g(t))t=[t];else{if(!h(t))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");t=v(t)}r(t,(function(t){E.removeAllListeners(t),_.uninstall(t),f.cleanState(t)}))}function I(t){_.initDocument&&_.initDocument(t)}return{listenTo:k,removeListener:E.removeListener,removeAllListeners:E.removeAllListeners,uninstall:z,initDocument:I}}},f1ae:function(t,e,n){"use strict";var r=n("86cc"),i=n("4630");t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},f6fd:function(t,e){(function(t){var e="currentScript",n=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(r){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(t in n)if(n[t].src==e||"interactive"==n[t].readyState)return n[t];return null}}})})(document)},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,n){t.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,n){var r=n("7726").document;t.exports=r&&r.documentElement},fb15:function(t,e,n){"use strict";var r;(n.r(e),n.d(e,"GridLayout",(function(){return it})),n.d(e,"GridItem",(function(){return $})),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var i=n("8bbf"),o=n.n(i),a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-item",class:t.classObj,style:t.style},[t._t("default"),t.resizableAndNotStatic?n("span",{ref:"handle",class:t.resizableHandleClass}):t._e()],2)},s=[];n("4917"),n("c5f6"),n("a481"),n("55dd");function u(t){for(var e,n=0,r=0,i=t.length;rn&&(n=e);return n}function c(t){for(var e=Array(t.length),n=0,r=t.length;n=e.x+e.w)&&(!(t.y+t.h<=e.y)&&!(t.y>=e.y+e.h))))}function d(t,e){for(var n=y(t),r=O(t),i=Array(t.length),o=0,a=r.length;o0&&!g(t,e))e.y--;var r;while(r=g(t,e))e.y=r.y+r.h;return e}function h(t,e){for(var n=y(t),r=0,i=t.length;re.cols&&(o.x=e.cols-o.w),o.x<0&&(o.x=0,o.w=e.cols),o.static)while(g(n,o))o.y++;else n.push(o)}return t}function v(t,e){for(var n=0,r=t.length;nr;"number"===typeof n&&(e.x=n),"number"===typeof r&&(e.y=r),e.moved=!0;var c=O(t);u&&(c=c.reverse());var l=m(c,e);if(o&&l.length)return e.x=a,e.y=s,e.moved=!1,t;for(var f=0,d=l.length;fp.y&&e.y-p.y>p.h/4||(t=p.static?x(t,p,e,i):x(t,e,p,i)))}return t}function x(t,e,n,r){var i=!1;if(r){var o={x:n.x,y:n.y,w:n.w,h:n.h,i:"-1"};if(o.y=Math.max(e.y-n.h,0),!g(t,o))return b(t,n,void 0,o.y,i)}return b(t,n,void 0,n.y+1,i)}function w(t,e,n,r){var i="translate3d("+e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function S(t,e,n,r){var i="translate3d("+-1*e+"px,"+t+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function _(t,e,n,r){return{top:t+"px",left:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function E(t,e,n,r){return{top:t+"px",right:e+"px",width:n+"px",height:r+"px",position:"absolute"}}function O(t){return[].concat(t).sort((function(t,e){return t.y===e.y&&t.x===e.x?0:t.y>e.y||t.y===e.y&&t.x>e.x?1:-1}))}function P(t,e){e=e||"Layout";var n=["x","y","w","h"];if(!Array.isArray(t))throw new Error(e+" must be an array!");for(var r=0,i=t.length;rthis.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var t,e=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(e.top=this.dragging.top,this.renderRtl?e.right=this.dragging.left:e.left=this.dragging.left),this.isResizing&&(e.width=this.resizing.width,e.height=this.resizing.height),t=this.useCssTransforms?this.renderRtl?S(e.top,e.right,e.width,e.height):w(e.top,e.left,e.width,e.height):this.renderRtl?E(e.top,e.right,e.width,e.height):_(e.top,e.left,e.width,e.height),this.style=t},emitContainerResized:function(){for(var t={},e=0,n=["width","height"];ethis.maxW&&(n.w=this.maxW),n.hthis.maxH&&(n.h=this.maxH),n.h<1&&(n.h=1),n.w<1&&(n.w=1),this.lastW=r,this.lastH=i,this.innerW===n.w&&this.innerH===n.h||this.$emit("resize",this.i,n.h,n.w,o.height,o.width),"resizeend"!==t.type||this.previousW===this.innerW&&this.previousH===this.innerH||this.$emit("resized",this.i,n.h,n.w,o.height,o.width),this.eventBus.$emit("resizeEvent",t.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(t){if(!this.static&&!this.isResizing){var e=T(t);if(null!==e){var n,r=e.x,i=e.y,o={top:0,left:0};switch(t.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var a=t.target.offsetParent.getBoundingClientRect(),s=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(s.right-a.right):o.left=s.left-a.left,o.top=s.top-a.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var u=t.target.offsetParent.getBoundingClientRect(),c=t.target.getBoundingClientRect();this.renderRtl?o.left=-1*(c.right-u.right):o.left=c.left-u.left,o.top=c.top-u.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var l=j(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-l.deltaX:o.left=this.dragging.left+l.deltaX,o.top=this.dragging.top+l.deltaY,this.dragging=o;break}n=(this.renderRtl,this.calcXY(o.top,o.left)),this.lastX=r,this.lastY=i,this.innerX===n.x&&this.innerY===n.y||this.$emit("move",this.i,n.x,n.y),"dragend"!==t.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",t.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(t,e,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])}:{left:Math.round(o*t+(t+1)*this.margin[0]),top:Math.round(this.rowHeight*e+(e+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])},i},calcXY:function(t,e){var n=this.calcColWidth(),r=Math.round((e-this.margin[0])/(n+this.margin[0])),i=Math.round((t-this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerW),0),i=Math.max(Math.min(i,this.maxRows-this.innerH),0),{x:r,y:i}},calcColWidth:function(){var t=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return t},calcWH:function(t,e){var n=this.calcColWidth(),r=Math.round((e+this.margin[0])/(n+this.margin[0])),i=Math.round((t+this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerX),0),i=Math.max(Math.min(i,this.maxRows-this.innerY),0),{w:r,h:i}},updateWidth:function(t,e){this.containerWidth=t,void 0!==e&&null!==e&&(this.cols=e)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=H(this.$refs.item)),this.draggable&&!this.static){var e={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(e),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(e){t.handleDrag(e)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var t=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=H(this.$refs.item)),this.resizable&&!this.static){var e=this.calcPosition(0,0,this.maxW,this.maxH),n=this.calcPosition(0,0,this.minW,this.minH),r={preserveAspectRatio:!0,edges:{left:!1,right:"."+this.resizableHandleClass,bottom:"."+this.resizableHandleClass,top:!1},ignoreFrom:this.resizeIgnoreFrom,restrictSize:{min:{height:n.height,width:n.width},max:{height:e.height,width:e.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(e){t.handleResize(e)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var t=this.$slots.default[0].elm.getBoundingClientRect(),e=this.calcWH(t.height,t.width);e.wthis.maxW&&(e.w=this.maxW),e.hthis.maxH&&(e.h=this.maxH),e.h<1&&(e.h=1),e.w<1&&(e.w=1),this.innerW===e.w&&this.innerH===e.h||this.$emit("resize",this.i,e.h,e.w,t.height,t.width),this.previousW===e.w&&this.previousH===e.h||(this.$emit("resized",this.i,e.h,e.w,t.height,t.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,e.h,e.w))}}},N=L;n("5ed4");function W(t,e,n,r,i,o,a,s){var u,c="function"===typeof t?t.options:t;if(e&&(c.render=e,c.staticRenderFns=n,c._compiled=!0),r&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),a?(u=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},c._ssrRegister=u):i&&(u=s?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),u)if(c.functional){c._injectStyles=u;var l=c.render;c.render=function(t,e){return u.call(e),l(t,e)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,u):[u]}return{exports:t,options:c}}var B=W(N,a,s,!1,null,null,null),$=B.exports,F=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:t.mergedStyle},[t._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:t.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:t.placeholder.x,y:t.placeholder.y,w:t.placeholder.w,h:t.placeholder.h,i:t.placeholder.i}})],2)},X=[],Y=(n("8e6e"),n("fca0"),n("85f2")),G=n.n(Y);function V(t,e,n){return e in t?G()(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function q(t,e){for(var n=K(t),r=n[0],i=1,o=n.length;it[a]&&(r=a)}return r}function U(t,e){if(!e[t])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+t+" is missing!");return e[t]}function Z(t,e,n,r,i,o,a){if(e[r])return c(e[r]);for(var s=t,u=K(n),l=u.slice(u.indexOf(r)),f=0,p=l.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(t):this.originalLayout=this.originalLayout.filter((function(e){return!t.some((function(t){return e.i===t.i}))}))),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}d(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight()}},updateHeight:function(){this.mergedStyle={height:this.containerHeight()}},onWindowResize:function(){null!==this.$refs&&null!==this.$refs.item&&void 0!==this.$refs.item&&(this.width=this.$refs.item.offsetWidth),this.eventBus.$emit("resizeEvent")},containerHeight:function(){if(this.autoSize)return u(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px"},dragEvent:function(t,e,n,r,i,o){var a=v(this.layout,e);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===t||"dragstart"===t?(this.placeholder.i=e,this.placeholder.x=a.x,this.placeholder.y=a.y,this.placeholder.w=o,this.placeholder.h=i,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.layout=b(this.layout,a,n,r,!0,this.preventCollision),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===t&&this.$emit("layout-updated",this.layout)},resizeEvent:function(t,e,n,r,i,o){var a,s=v(this.layout,e);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=m(this.layout,Q(Q({},s),{},{w:o,h:i})).filter((function(t){return t.i!==s.i}));if(a=u.length>0,a){var c=1/0,l=1/0;u.forEach((function(t){t.x>s.x&&(c=Math.min(c,t.x)),t.y>s.y&&(l=Math.min(l,t.y))})),Number.isFinite(c)&&(s.w=c-s.x),Number.isFinite(l)&&(s.h=l-s.y)}}a||(s.w=o,s.h=i),"resizestart"===t||"resizemove"===t?(this.placeholder.i=e,this.placeholder.x=n,this.placeholder.y=r,this.placeholder.w=s.w,this.placeholder.h=s.h,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.responsive&&this.responsiveGridLayout(),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===t&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var t=q(this.breakpoints,this.width),e=U(t,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=c(this.layout));var n=Z(this.originalLayout,this.layouts,this.breakpoints,t,this.lastBreakpoint,e,this.verticalCompact);this.layouts[t]=n,this.$emit("update:layout",n),this.lastBreakpoint=t,this.eventBus.$emit("setColNum",U(t,this.cols))},initResponsiveFeatures:function(){this.layouts={}},findDifference:function(t,e){var n=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))})),r=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))}));return n.concat(r)}}},nt=et,rt=(n("e279"),W(nt,F,X,!1,null,null,null)),it=rt.exports,ot={GridLayout:it,GridItem:$};Object.keys(ot).forEach((function(t){o.a.component(t,ot[t])}));var at=ot;e["default"]=at},fca0:function(t,e,n){var r=n("5ca1"),i=n("7726").isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&i(t)}})},fdef:function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"}})["default"]})); +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["VueGridLayout"]=t(require("vue")):e["VueGridLayout"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="fb15")}({"01f9":function(e,t,n){"use strict";var r=n("2d00"),i=n("5ca1"),o=n("2aba"),a=n("32e9"),s=n("84f2"),u=n("41a0"),l=n("7f20"),c=n("38fd"),f=n("2b4c")("iterator"),d=!([].keys&&"next"in[].keys()),p="@@iterator",v="keys",h="values",g=function(){return this};e.exports=function(e,t,n,y,m,b,w){u(n,t,y);var x,O,P,_=function(e){if(!d&&e in E)return E[e];switch(e){case v:return function(){return new n(this,e)};case h:return function(){return new n(this,e)}}return function(){return new n(this,e)}},j=t+" Iterator",S=m==h,M=!1,E=e.prototype,k=E[f]||E[p]||m&&E[m],T=k||_(m),z=m?S?_("entries"):T:void 0,D="Array"==t&&E.entries||k;if(D&&(P=c(D.call(new e)),P!==Object.prototype&&P.next&&(l(P,j,!0),r||"function"==typeof P[f]||a(P,f,g))),S&&k&&k.name!==h&&(M=!0,T=function(){return k.call(this)}),r&&!w||!d&&!M&&E[f]||a(E,f,T),s[t]=T,s[j]=g,m)if(x={values:S?T:_(h),keys:b?T:_(v),entries:z},w)for(O in x)O in E||o(E,O,x[O]);else i(i.P+i.F*(d||M),t,x);return x}},"02f4":function(e,t,n){var r=n("4588"),i=n("be13");e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),u=r(n),l=s.length;return u<0||u>=l?e?"":void 0:(o=s.charCodeAt(u),o<55296||o>56319||u+1===l||(a=s.charCodeAt(u+1))<56320||a>57343?e?s.charAt(u):o:e?s.slice(u,u+2):a-56320+(o-55296<<10)+65536)}}},"0390":function(e,t,n){"use strict";var r=n("02f4")(!0);e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},"07e3":function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},"0bfb":function(e,t,n){"use strict";var r=n("cb7c");e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},"0d58":function(e,t,n){var r=n("ce10"),i=n("e11e");e.exports=Object.keys||function(e){return r(e,i)}},1156:function(e,t,n){var r=n("ad20");"string"===typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);var i=n("499e").default;i("c1ec597e",r,!0,{sourceMap:!1,shadowMode:!1})},"11e9":function(e,t,n){var r=n("52a7"),i=n("4630"),o=n("6821"),a=n("6a99"),s=n("69a8"),u=n("c69a"),l=Object.getOwnPropertyDescriptor;t.f=n("9e1e")?l:function(e,t){if(e=o(e),t=a(t,!0),u)try{return l(e,t)}catch(n){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},1495:function(e,t,n){var r=n("86cc"),i=n("cb7c"),o=n("0d58");e.exports=n("9e1e")?Object.defineProperties:function(e,t){i(e);var n,a=o(t),s=a.length,u=0;while(s>u)r.f(e,n=a[u++],t[n]);return e}},"18d2":function(e,t,n){"use strict";var r=n("18e9");e.exports=function(e){e=e||{};var t=e.reporter,n=e.batchProcessor,i=e.stateHandler.getState;if(!t)throw new Error("Missing required dependency: reporter.");function o(e,t){if(!s(e))throw new Error("Element is not detectable by this strategy.");function n(){t(e)}if(r.isIE(8))i(e).object={proxy:n},e.attachEvent("onresize",n);else{var o=s(e);o.contentDocument.defaultView.addEventListener("resize",n)}}function a(e,o,a){a||(a=o,o=e,e=null),e=e||{};e.debug;function s(e,o){var a="display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; padding: 0; margin: 0; opacity: 0; z-index: -1000; pointer-events: none;",s=!1,u=window.getComputedStyle(e),l=e.offsetWidth,c=e.offsetHeight;function f(){function n(){if("static"===u.position){e.style.position="relative";var n=function(e,t,n,r){function i(e){return e.replace(/[^-\d\.]/g,"")}var o=n[r];"auto"!==o&&"0"!==i(o)&&(e.warn("An element that is positioned static has style."+r+"="+o+" which is ignored due to the static positioning. The element will need to be positioned relative, so the style."+r+" will be set to 0. Element: ",t),t.style[r]=0)};n(t,e,u,"top"),n(t,e,u,"right"),n(t,e,u,"bottom"),n(t,e,u,"left")}}function l(){function t(e,n){e.contentDocument?n(e.contentDocument):setTimeout((function(){t(e,n)}),100)}s||n();var r=this;t(r,(function(t){o(e)}))}""!==u.position&&(n(u),s=!0);var c=document.createElement("object");c.style.cssText=a,c.tabIndex=-1,c.type="text/html",c.setAttribute("aria-hidden","true"),c.onload=l,r.isIE()||(c.data="about:blank"),e.appendChild(c),i(e).object=c,r.isIE()&&(c.data="about:blank")}i(e).startSize={width:l,height:c},n?n.add(f):f()}r.isIE(8)?a(o):s(o,a)}function s(e){return i(e).object}function u(e){r.isIE(8)?e.detachEvent("onresize",i(e).object.proxy):e.removeChild(s(e)),delete i(e).object}return{makeDetectable:a,addListener:o,uninstall:u}}},"18e9":function(e,t,n){"use strict";var r=e.exports={};r.isIE=function(e){function t(){var e=navigator.userAgent.toLowerCase();return-1!==e.indexOf("msie")||-1!==e.indexOf("trident")||-1!==e.indexOf(" edge/")}if(!t())return!1;if(!e)return!0;var n=function(){var e,t=3,n=document.createElement("div"),r=n.getElementsByTagName("i");do{n.innerHTML="\x3c!--[if gt IE "+ ++t+"]>4?t:e}();return e===n},r.isLegacyOpera=function(){return!!window.opera}},"1bc3":function(e,t,n){var r=n("f772");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(e,t,n){var r=n("f772"),i=n("e53d").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},"214f":function(e,t,n){"use strict";n("b0c5");var r=n("2aba"),i=n("32e9"),o=n("79e5"),a=n("be13"),s=n("2b4c"),u=n("520a"),l=s("species"),c=!o((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),f=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var d=s(e),p=!o((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),v=p?!o((function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[l]=function(){return n}),n[d](""),!t})):void 0;if(!p||!v||"replace"===e&&!c||"split"===e&&!f){var h=/./[d],g=n(a,d,""[e],(function(e,t,n,r,i){return t.exec===u?p&&!i?{done:!0,value:h.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}})),y=g[0],m=g[1];r(String.prototype,e,y),i(RegExp.prototype,d,2==t?function(e,t){return m.call(e,this,t)}:function(e){return m.call(e,this)})}}},"230e":function(e,t,n){var r=n("d3f4"),i=n("7726").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},2350:function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"===typeof btoa){var o=r(i),a=i.sources.map((function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"}));return[n].concat(a).concat([o]).join("\n")}return[n].join("\n")}function r(e){var t=btoa(unescape(encodeURIComponent(JSON.stringify(e)))),n="sourceMappingURL=data:application/json;charset=utf-8;base64,"+t;return"/*# "+n+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=n(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r})).join("")},t.i=function(e,n){"string"===typeof e&&(e=[[null,e,""]]);for(var r={},i=0;i";t.style.display="none",n("fab2").appendChild(t),t.src="javascript:",e=t.contentWindow.document,e.open(),e.write(i+"script"+a+"document.F=Object"+i+"/script"+a),e.close(),l=e.F;while(r--)delete l[u][o[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s[u]=r(e),n=new s,s[u]=null,n[a]=e):n=l(),void 0===t?n:i(n,t)}},"2b4c":function(e,t,n){var r=n("5537")("wks"),i=n("ca5a"),o=n("7726").Symbol,a="function"==typeof o,s=e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))};s.store=r},"2cef":function(e,t,n){"use strict";e.exports=function(){var e=1;function t(){return e++}return{generate:t}}},"2d00":function(e,t){e.exports=!1},"2d95":function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},"2f21":function(e,t,n){"use strict";var r=n("79e5");e.exports=function(e,t){return!!e&&r((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},"32e9":function(e,t,n){var r=n("86cc"),i=n("4630");e.exports=n("9e1e")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"35e8":function(e,t,n){var r=n("d9f6"),i=n("aebd");e.exports=n("8e60")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"38fd":function(e,t,n){var r=n("69a8"),i=n("4bf8"),o=n("613b")("IE_PROTO"),a=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?a:null}},"41a0":function(e,t,n){"use strict";var r=n("2aeb"),i=n("4630"),o=n("7f20"),a={};n("32e9")(a,n("2b4c")("iterator"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},"454f":function(e,t,n){n("46a7");var r=n("584a").Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},"456d":function(e,t,n){var r=n("4bf8"),i=n("0d58");n("5eda")("keys",(function(){return function(e){return i(r(e))}}))},4588:function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},4630:function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"46a7":function(e,t,n){var r=n("63b6");r(r.S+r.F*!n("8e60"),"Object",{defineProperty:n("d9f6").f})},4917:function(e,t,n){"use strict";var r=n("cb7c"),i=n("9def"),o=n("0390"),a=n("5f1b");n("214f")("match",1,(function(e,t,n,s){return[function(n){var r=e(this),i=void 0==n?void 0:n[t];return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=s(n,e,this);if(t.done)return t.value;var u=r(e),l=String(this);if(!u.global)return a(u,l);var c=u.unicode;u.lastIndex=0;var f,d=[],p=0;while(null!==(f=a(u,l))){var v=String(f[0]);d[p]=v,""===v&&(u.lastIndex=o(l,i(u.lastIndex),c)),p++}return 0===p?null:d}]}))},"499e":function(e,t,n){"use strict";function r(e,t){for(var n=[],r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i1&&o.call(a[0],n,(function(){for(c=1;cc){var p,v=u(arguments[c++]),h=f?i(v).concat(f(v)):i(v),g=h.length,y=0;while(g>y)p=h[y++],r&&!d.call(v,p)||(n[p]=v[p])}return n}:l},7726:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},"77f1":function(e,t,n){var r=n("4588"),i=Math.max,o=Math.min;e.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},"794b":function(e,t,n){e.exports=!n("8e60")&&!n("294c")((function(){return 7!=Object.defineProperty(n("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"79e5":function(e,t){e.exports=function(e){try{return!!e()}catch(t){return!0}}},"7f20":function(e,t,n){var r=n("86cc").f,i=n("69a8"),o=n("2b4c")("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},"7f7f":function(e,t,n){var r=n("86cc").f,i=Function.prototype,o=/^\s*function ([^ (]*)/,a="name";a in i||n("9e1e")&&r(i,a,{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},8378:function(e,t){var n=e.exports={version:"2.6.10"};"number"==typeof __e&&(__e=n)},"84f2":function(e,t){e.exports={}},"85f2":function(e,t,n){e.exports=n("454f")},"86cc":function(e,t,n){var r=n("cb7c"),i=n("c69a"),o=n("6a99"),a=Object.defineProperty;t.f=n("9e1e")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},"8b97":function(e,t,n){var r=n("d3f4"),i=n("cb7c"),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{r=n("9b43")(Function.call,n("11e9").f(Object.prototype,"__proto__").set,2),r(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return o(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:o}},"8bbf":function(t,n){t.exports=e},"8e60":function(e,t,n){e.exports=!n("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8e6e":function(e,t,n){var r=n("5ca1"),i=n("990b"),o=n("6821"),a=n("11e9"),s=n("f1ae");r(r.S,"Object",{getOwnPropertyDescriptors:function(e){var t,n,r=o(e),u=a.f,l=i(r),c={},f=0;while(l.length>f)n=u(r,t=l[f++]),void 0!==n&&s(c,t,n);return c}})},9093:function(e,t,n){var r=n("ce10"),i=n("e11e").concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},"990b":function(e,t,n){var r=n("9093"),i=n("2621"),o=n("cb7c"),a=n("7726").Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(o(e)),n=i.f;return n?t.concat(n(e)):t}},"9b43":function(e,t,n){var r=n("d8e8");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"9c6c":function(e,t,n){var r=n("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&n("32e9")(i,r,{}),e.exports=function(e){i[r][e]=!0}},"9cbe":function(e,t,n){t=e.exports=n("2350")(!1),t.push([e.i,'.vue-grid-item{-webkit-transition:all .2s ease;transition:all .2s ease;-webkit-transition-property:left,top,right;transition-property:left,top,right}.vue-grid-item.no-touch{-ms-touch-action:none;touch-action:none}.vue-grid-item.cssTransforms{-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;left:0;right:auto}.vue-grid-item.cssTransforms.render-rtl{left:auto;right:0}.vue-grid-item.resizing{opacity:.6;z-index:3}.vue-grid-item.vue-draggable-dragging{-webkit-transition:none;transition:none;z-index:3}.vue-grid-item.vue-grid-placeholder{background:red;opacity:.2;-webkit-transition-duration:.1s;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.vue-grid-item>.vue-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;background:url("data:image/svg+xml;base64,PHN2ZyBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZ6IiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+");background-position:100% 100%;padding:0 3px 3px 0;background-repeat:no-repeat;background-origin:content-box;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:se-resize}.vue-grid-item>.vue-rtl-resizable-handle{bottom:0;left:0;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTS0xLTFoMTJ2MTJILTF6Ii8+PGc+PHBhdGggc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiIGQ9Ik0xNDQuODIxLTM4LjM5M2wtMjAuMzU3LTMxLjc4NSIvPjxwYXRoIHN0cm9rZT0iIzY2NiIgc3Ryb2tlLWxpbmVjYXA9InVuZGVmaW5lZCIgc3Ryb2tlLWxpbmVqb2luPSJ1bmRlZmluZWQiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZD0iTS45NDctLjAxOHY5LjEyNU0tLjY1NiA5aDEwLjczIi8+PC9nPjwvc3ZnPg==);background-position:0 100%;padding-left:3px;background-repeat:no-repeat;background-origin:content-box;cursor:sw-resize;right:auto}.vue-grid-item.disable-userselect{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}',""])},"9def":function(e,t,n){var r=n("4588"),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},"9e1e":function(e,t,n){e.exports=!n("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a481:function(e,t,n){"use strict";var r=n("cb7c"),i=n("4bf8"),o=n("9def"),a=n("4588"),s=n("0390"),u=n("5f1b"),l=Math.max,c=Math.min,f=Math.floor,d=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g,v=function(e){return void 0===e?e:String(e)};n("214f")("replace",2,(function(e,t,n,h){return[function(r,i){var o=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,o,i):n.call(String(o),r,i)},function(e,t){var i=h(n,e,this,t);if(i.done)return i.value;var f=r(e),d=String(this),p="function"===typeof t;p||(t=String(t));var y=f.global;if(y){var m=f.unicode;f.lastIndex=0}var b=[];while(1){var w=u(f,d);if(null===w)break;if(b.push(w),!y)break;var x=String(w[0]);""===x&&(f.lastIndex=s(d,o(f.lastIndex),m))}for(var O="",P=0,_=0;_=P&&(O+=d.slice(P,S)+z,P=S+j.length)}return O+d.slice(P)}];function g(e,t,r,o,a,s){var u=r+e.length,l=o.length,c=p;return void 0!==a&&(a=i(a),c=d),n.call(s,c,(function(n,i){var s;switch(i.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(u);case"<":s=a[i.slice(1,-1)];break;default:var c=+i;if(0===c)return n;if(c>l){var d=f(c/10);return 0===d?n:d<=l?void 0===o[d-1]?i.charAt(1):o[d-1]+i.charAt(1):n}s=o[c-1]}return void 0===s?"":s}))}}))},aa77:function(e,t,n){var r=n("5ca1"),i=n("be13"),o=n("79e5"),a=n("fdef"),s="["+a+"]",u="​…",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),f=function(e,t,n){var i={},s=o((function(){return!!a[e]()||u[e]()!=u})),l=i[e]=s?t(d):a[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=f.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=f},abb4:function(e,t,n){"use strict";e.exports=function(e){function t(){}var n={log:t,warn:t,error:t};if(!e&&window.console){var r=function(e,t){e[t]=function(){var e=console[t];if(e.apply)e.apply(console,arguments);else for(var n=0;nn?n=i:ic)if(s=u[c++],s!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},c5f6:function(e,t,n){"use strict";var r=n("7726"),i=n("69a8"),o=n("2d95"),a=n("5dbc"),s=n("6a99"),u=n("79e5"),l=n("9093").f,c=n("11e9").f,f=n("86cc").f,d=n("aa77").trim,p="Number",v=r[p],h=v,g=v.prototype,y=o(n("2aeb")(g))==p,m="trim"in String.prototype,b=function(e){var t=s(e,!1);if("string"==typeof t&&t.length>2){t=m?t.trim():d(t,3);var n,r,i,o=t.charCodeAt(0);if(43===o||45===o){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49;break;case 79:case 111:r=8,i=55;break;default:return+t}for(var a,u=t.slice(2),l=0,c=u.length;li)return NaN;return parseInt(u,r)}}return+t};if(!v(" 0o1")||!v("0b1")||v("+0x1")){v=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof v&&(y?u((function(){g.valueOf.call(n)})):o(n)!=p)?a(new h(b(t)),n,v):b(t)};for(var w,x=n("9e1e")?l(h):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;x.length>O;O++)i(h,w=x[O])&&!i(v,w)&&f(v,w,c(h,w));v.prototype=g,g.constructor=v,n("2aba")(r,p,v)}},c69a:function(e,t,n){e.exports=!n("9e1e")&&!n("79e5")((function(){return 7!=Object.defineProperty(n("230e")("div"),"a",{get:function(){return 7}}).a}))},c946:function(e,t,n){"use strict";var r=n("b770").forEach;e.exports=function(e){e=e||{};var t=e.reporter,n=e.batchProcessor,i=e.stateHandler.getState,o=(e.stateHandler.hasState,e.idHandler);if(!n)throw new Error("Missing required dependency: batchProcessor");if(!t)throw new Error("Missing required dependency: reporter.");var a=l(),s="erd_scroll_detection_scrollbar_style",u="erd_scroll_detection_container";function l(){var e=500,t=500,n=document.createElement("div");n.style.cssText="position: absolute; width: "+2*e+"px; height: "+2*t+"px; visibility: hidden; margin: 0; padding: 0;";var r=document.createElement("div");r.style.cssText="position: absolute; width: "+e+"px; height: "+t+"px; overflow: scroll; visibility: none; top: "+3*-e+"px; left: "+3*-t+"px; visibility: hidden; margin: 0; padding: 0;",r.appendChild(n),document.body.insertBefore(r,document.body.firstChild);var i=e-r.clientWidth,o=t-r.clientHeight;return document.body.removeChild(r),{width:i,height:o}}function c(e,t){function n(t,n){n=n||function(e){document.head.appendChild(e)};var r=document.createElement("style");return r.innerHTML=t,r.id=e,n(r),r}if(!document.getElementById(e)){var r=t+"_animation",i=t+"_animation_active",o="/* Created by the element-resize-detector library. */\n";o+="."+t+" > div::-webkit-scrollbar { display: none; }\n\n",o+="."+i+" { -webkit-animation-duration: 0.1s; animation-duration: 0.1s; -webkit-animation-name: "+r+"; animation-name: "+r+"; }\n",o+="@-webkit-keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }\n",o+="@keyframes "+r+" { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }",n(o)}}function f(e){e.className+=" "+u+"_animation_active"}function d(e,n,r){if(e.addEventListener)e.addEventListener(n,r);else{if(!e.attachEvent)return t.error("[scroll] Don't know how to add event listeners.");e.attachEvent("on"+n,r)}}function p(e,n,r){if(e.removeEventListener)e.removeEventListener(n,r);else{if(!e.detachEvent)return t.error("[scroll] Don't know how to remove event listeners.");e.detachEvent("on"+n,r)}}function v(e){return i(e).container.childNodes[0].childNodes[0].childNodes[0]}function h(e){return i(e).container.childNodes[0].childNodes[0].childNodes[1]}function g(e,t){var n=i(e).listeners;if(!n.push)throw new Error("Cannot add listener to an element that is not detectable.");i(e).listeners.push(t)}function y(e,s,l){function c(){if(e.debug){var n=Array.prototype.slice.call(arguments);if(n.unshift(o.get(s),"Scroll: "),t.log.apply)t.log.apply(null,n);else for(var r=0;r=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},cb7c:function(e,t,n){var r=n("d3f4");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},ce10:function(e,t,n){var r=n("69a8"),i=n("6821"),o=n("c366")(!1),a=n("613b")("IE_PROTO");e.exports=function(e,t){var n,s=i(e),u=0,l=[];for(n in s)n!=a&&r(s,n)&&l.push(n);while(t.length>u)r(s,n=t[u++])&&(~o(l,n)||l.push(n));return l}},d3f4:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},d53b:function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},d6eb:function(e,t,n){"use strict";var r="_erd";function i(e){return e[r]={},o(e)}function o(e){return e[r]}function a(e){delete e[r]}e.exports={initState:i,getState:o,cleanState:a}},d864:function(e,t,n){var r=n("79aa");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},d8e8:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},d9f6:function(e,t,n){var r=n("e4ae"),i=n("794b"),o=n("1bc3"),a=Object.defineProperty;t.f=n("8e60")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},e11e:function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},e279:function(e,t,n){"use strict";var r=n("1156"),i=n.n(r);i.a},e4ae:function(e,t,n){var r=n("f772");e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},e53d:function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},eec4:function(e,t,n){"use strict";var r=n("b770").forEach,i=n("5be5"),o=n("49ad"),a=n("2cef"),s=n("5058"),u=n("abb4"),l=n("18e9"),c=n("c274"),f=n("d6eb"),d=n("18d2"),p=n("c946");function v(e){return Array.isArray(e)||void 0!==e.length}function h(e){if(Array.isArray(e))return e;var t=[];return r(e,(function(e){t.push(e)})),t}function g(e){return e&&1===e.nodeType}function y(e,t,n){var r=e[t];return void 0!==r&&null!==r||void 0===n?r:n}e.exports=function(e){var t;if(e=e||{},e.idHandler)t={get:function(t){return e.idHandler.get(t,!0)},set:e.idHandler.set};else{var n=a(),m=s({idGenerator:n,stateHandler:f});t=m}var b=e.reporter;if(!b){var w=!1===b;b=u(w)}var x=y(e,"batchProcessor",c({reporter:b})),O={};O.callOnAdd=!!y(e,"callOnAdd",!0),O.debug=!!y(e,"debug",!1);var P,_=o(t),j=i({stateHandler:f}),S=y(e,"strategy","object"),M={reporter:b,batchProcessor:x,stateHandler:f,idHandler:t};if("scroll"===S&&(l.isLegacyOpera()?(b.warn("Scroll strategy is not supported on legacy Opera. Changing to object strategy."),S="object"):l.isIE(9)&&(b.warn("Scroll strategy is not supported on IE9. Changing to object strategy."),S="object")),"scroll"===S)P=p(M);else{if("object"!==S)throw new Error("Invalid strategy name: "+S);P=d(M)}var E={};function k(e,n,i){function o(e){var t=_.get(e);r(t,(function(t){t(e)}))}function a(e,t,n){_.add(t,n),e&&n(t)}if(i||(i=n,n=e,e={}),!n)throw new Error("At least one element required.");if(!i)throw new Error("Listener required.");if(g(n))n=[n];else{if(!v(n))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");n=h(n)}var s=0,u=y(e,"callOnAdd",O.callOnAdd),l=y(e,"onReady",(function(){})),c=y(e,"debug",O.debug);r(n,(function(e){f.getState(e)||(f.initState(e),t.set(e));var d=t.get(e);if(c&&b.log("Attaching listener to element",d,e),!j.isDetectable(e))return c&&b.log(d,"Not detectable."),j.isBusy(e)?(c&&b.log(d,"System busy making it detectable"),a(u,e,i),E[d]=E[d]||[],void E[d].push((function(){s++,s===n.length&&l()}))):(c&&b.log(d,"Making detectable..."),j.markBusy(e,!0),P.makeDetectable({debug:c},e,(function(e){if(c&&b.log(d,"onElementDetectable"),f.getState(e)){j.markAsDetectable(e),j.markBusy(e,!1),P.addListener(e,o),a(u,e,i);var t=f.getState(e);if(t&&t.startSize){var p=e.offsetWidth,v=e.offsetHeight;t.startSize.width===p&&t.startSize.height===v||o(e)}E[d]&&r(E[d],(function(e){e()}))}else c&&b.log(d,"Element uninstalled before being detectable.");delete E[d],s++,s===n.length&&l()})));c&&b.log(d,"Already detecable, adding listener."),a(u,e,i),s++})),s===n.length&&l()}function T(e){if(!e)return b.error("At least one element is required.");if(g(e))e=[e];else{if(!v(e))return b.error("Invalid arguments. Must be a DOM element or a collection of DOM elements.");e=h(e)}r(e,(function(e){_.removeAllListeners(e),P.uninstall(e),f.cleanState(e)}))}return{listenTo:k,removeListener:_.removeListener,removeAllListeners:_.removeAllListeners,uninstall:T}}},f1ae:function(e,t,n){"use strict";var r=n("86cc"),i=n("4630");e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},f6fd:function(e,t){(function(e){var t="currentScript",n=e.getElementsByTagName("script");t in e||Object.defineProperty(e,t,{get:function(){try{throw new Error}catch(r){var e,t=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(r.stack)||[!1])[1];for(e in n)if(n[e].src==t||"interactive"==n[e].readyState)return n[e];return null}}})})(document)},f751:function(e,t,n){var r=n("5ca1");r(r.S+r.F,"Object",{assign:n("7333")})},f772:function(e,t){e.exports=function(e){return"object"===typeof e?null!==e:"function"===typeof e}},fa5b:function(e,t,n){e.exports=n("5537")("native-function-to-string",Function.toString)},fab2:function(e,t,n){var r=n("7726").document;e.exports=r&&r.documentElement},fb15:function(e,t,n){"use strict";var r;(n.r(t),"undefined"!==typeof window)&&(n("f6fd"),(r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(n.p=r[1]));n("7f7f"),n("cadf"),n("456d"),n("ac6a");var i=n("8bbf"),o=n.n(i),a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"item",staticClass:"vue-grid-item",class:e.classObj,style:e.style},[e._t("default"),e.resizableAndNotStatic?n("span",{ref:"handle",class:e.resizableHandleClass}):e._e()],2)},s=[];n("4917"),n("c5f6"),n("a481"),n("55dd");function u(e){for(var t,n=0,r=0,i=e.length;rn&&(n=t);return n}function l(e){for(var t=Array(e.length),n=0,r=e.length;n=t.x+t.w)&&(!(e.y+e.h<=t.y)&&!(e.y>=t.y+t.h))))}function d(e,t){for(var n=m(e),r=j(e),i=Array(e.length),o=0,a=r.length;o0&&!g(e,t))t.y--;var r;while(r=g(e,t))t.y=r.y+r.h;return t}function v(e,t){for(var n=m(e),r=0,i=e.length;rt.cols&&(o.x=t.cols-o.w),o.x<0&&(o.x=0,o.w=t.cols),o.static)while(g(n,o))o.y++;else n.push(o)}return e}function h(e,t){for(var n=0,r=e.length;nr;"number"===typeof n&&(t.x=n),"number"===typeof r&&(t.y=r),t.moved=!0;var l=j(e);u&&(l=l.reverse());var c=y(l,t);if(o&&c.length)return t.x=a,t.y=s,t.moved=!1,e;for(var f=0,d=c.length;fp.y&&t.y-p.y>p.h/4||(e=p.static?w(e,p,t,i):w(e,t,p,i)))}return e}function w(e,t,n,r){var i=!1;if(r){var o={x:n.x,y:n.y,w:n.w,h:n.h,i:"-1"};if(o.y=Math.max(t.y-n.h,0),!g(e,o))return b(e,n,void 0,o.y,i)}return b(e,n,void 0,n.y+1,i)}function x(e,t,n,r){var i="translate3d("+t+"px,"+e+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function O(e,t,n,r){var i="translate3d("+-1*t+"px,"+e+"px, 0)";return{transform:i,WebkitTransform:i,MozTransform:i,msTransform:i,OTransform:i,width:n+"px",height:r+"px",position:"absolute"}}function P(e,t,n,r){return{top:e+"px",left:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function _(e,t,n,r){return{top:e+"px",right:t+"px",width:n+"px",height:r+"px",position:"absolute"}}function j(e){return[].concat(e).sort((function(e,t){return e.y===t.y&&e.x===t.x?0:e.y>t.y||e.y===t.y&&e.x>t.x?1:-1}))}function S(e,t){t=t||"Layout";var n=["x","y","w","h"];if(!Array.isArray(e))throw new Error(t+" must be an array!");for(var r=0,i=e.length;rthis.cols?(this.innerX=0,this.innerW=this.w>this.cols?this.cols:this.w):(this.innerX=this.x,this.innerW=this.w);var e,t=this.calcPosition(this.innerX,this.innerY,this.innerW,this.innerH);this.isDragging&&(t.top=this.dragging.top,this.renderRtl?t.right=this.dragging.left:t.left=this.dragging.left),this.isResizing&&(t.width=this.resizing.width,t.height=this.resizing.height),e=this.useCssTransforms?this.renderRtl?O(t.top,t.right,t.width,t.height):x(t.top,t.left,t.width,t.height):this.renderRtl?_(t.top,t.right,t.width,t.height):P(t.top,t.left,t.width,t.height),this.style=e},emitContainerResized:function(){for(var e={},t=0,n=["width","height"];tthis.maxW&&(n.w=this.maxW),n.hthis.maxH&&(n.h=this.maxH),n.h<1&&(n.h=1),n.w<1&&(n.w=1),this.lastW=r,this.lastH=i,this.innerW===n.w&&this.innerH===n.h||this.$emit("resize",this.i,n.h,n.w,o.height,o.width),"resizeend"!==e.type||this.previousW===this.innerW&&this.previousH===this.innerH||this.$emit("resized",this.i,n.h,n.w,o.height,o.width),this.eventBus.$emit("resizeEvent",e.type,this.i,this.innerX,this.innerY,n.h,n.w)}}},handleDrag:function(e){if(!this.static&&!this.isResizing){var t=M(e);if(null!==t){var n,r=t.x,i=t.y,o={top:0,left:0};switch(e.type){case"dragstart":this.previousX=this.innerX,this.previousY=this.innerY;var a=e.target.offsetParent.getBoundingClientRect(),s=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(s.right-a.right):o.left=s.left-a.left,o.top=s.top-a.top,this.dragging=o,this.isDragging=!0;break;case"dragend":if(!this.isDragging)return;var u=e.target.offsetParent.getBoundingClientRect(),l=e.target.getBoundingClientRect();this.renderRtl?o.left=-1*(l.right-u.right):o.left=l.left-u.left,o.top=l.top-u.top,this.dragging=null,this.isDragging=!1;break;case"dragmove":var c=k(this.lastX,this.lastY,r,i);this.renderRtl?o.left=this.dragging.left-c.deltaX:o.left=this.dragging.left+c.deltaX,o.top=this.dragging.top+c.deltaY,this.dragging=o;break}n=(this.renderRtl,this.calcXY(o.top,o.left)),this.lastX=r,this.lastY=i,this.innerX===n.x&&this.innerY===n.y||this.$emit("move",this.i,n.x,n.y),"dragend"!==e.type||this.previousX===this.innerX&&this.previousY===this.innerY||this.$emit("moved",this.i,n.x,n.y),this.eventBus.$emit("dragEvent",e.type,this.i,n.x,n.y,this.innerH,this.innerW)}}},calcPosition:function(e,t,n,r){var i,o=this.calcColWidth();return i=this.renderRtl?{right:Math.round(o*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])}:{left:Math.round(o*e+(e+1)*this.margin[0]),top:Math.round(this.rowHeight*t+(t+1)*this.margin[1]),width:n===1/0?n:Math.round(o*n+Math.max(0,n-1)*this.margin[0]),height:r===1/0?r:Math.round(this.rowHeight*r+Math.max(0,r-1)*this.margin[1])},i},calcXY:function(e,t){var n=this.calcColWidth(),r=Math.round((t-this.margin[0])/(n+this.margin[0])),i=Math.round((e-this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerW),0),i=Math.max(Math.min(i,this.maxRows-this.innerH),0),{x:r,y:i}},calcColWidth:function(){var e=(this.containerWidth-this.margin[0]*(this.cols+1))/this.cols;return e},calcWH:function(e,t){var n=this.calcColWidth(),r=Math.round((t+this.margin[0])/(n+this.margin[0])),i=Math.round((e+this.margin[1])/(this.rowHeight+this.margin[1]));return r=Math.max(Math.min(r,this.cols-this.innerX),0),i=Math.max(Math.min(i,this.maxRows-this.innerY),0),{w:r,h:i}},updateWidth:function(e,t){this.containerWidth=e,void 0!==t&&null!==t&&(this.cols=t)},compact:function(){this.createStyle()},tryMakeDraggable:function(){var e=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=W(this.$refs.item)),this.draggable&&!this.static){var t={ignoreFrom:this.dragIgnoreFrom,allowFrom:this.dragAllowFrom};this.interactObj.draggable(t),this.dragEventSet||(this.dragEventSet=!0,this.interactObj.on("dragstart dragmove dragend",(function(t){e.handleDrag(t)})))}else this.interactObj.draggable({enabled:!1})},tryMakeResizable:function(){var e=this;if(null!==this.interactObj&&void 0!==this.interactObj||(this.interactObj=W(this.$refs.item)),this.resizable&&!this.static){var t=this.calcPosition(0,0,this.maxW,this.maxH),n=this.calcPosition(0,0,this.minW,this.minH),r={preserveAspectRatio:!0,edges:{left:!1,right:"."+this.resizableHandleClass,bottom:"."+this.resizableHandleClass,top:!1},ignoreFrom:this.resizeIgnoreFrom,restrictSize:{min:{height:n.height,width:n.width},max:{height:t.height,width:t.width}}};this.interactObj.resizable(r),this.resizeEventSet||(this.resizeEventSet=!0,this.interactObj.on("resizestart resizemove resizeend",(function(t){e.handleResize(t)})))}else this.interactObj.resizable({enabled:!1})},autoSize:function(){this.previousW=this.innerW,this.previousH=this.innerH;var e=this.$slots.default[0].elm.getBoundingClientRect(),t=this.calcWH(e.height,e.width);t.wthis.maxW&&(t.w=this.maxW),t.hthis.maxH&&(t.h=this.maxH),t.h<1&&(t.h=1),t.w<1&&(t.w=1),this.innerW===t.w&&this.innerH===t.h||this.$emit("resize",this.i,t.h,t.w,e.height,e.width),this.previousW===t.w&&this.previousH===t.h||(this.$emit("resized",this.i,t.h,t.w,e.height,e.width),this.eventBus.$emit("resizeEvent","resizeend",this.i,this.innerX,this.innerY,t.h,t.w))}}},H=N;n("5ed4");function L(e,t,n,r,i,o,a,s){var u,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),a?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=u):i&&(u=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),u)if(l.functional){l._injectStyles=u;var c=l.render;l.render=function(e,t){return u.call(t),c(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,u):[u]}return{exports:e,options:l}}var $=L(H,a,s,!1,null,null,null),B=$.exports,X=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{ref:"item",staticClass:"vue-grid-layout",style:e.mergedStyle},[e._t("default"),n("grid-item",{directives:[{name:"show",rawName:"v-show",value:e.isDragging,expression:"isDragging"}],staticClass:"vue-grid-placeholder",attrs:{x:e.placeholder.x,y:e.placeholder.y,w:e.placeholder.w,h:e.placeholder.h,i:e.placeholder.i}})],2)},Y=[],F=(n("8e6e"),n("f751"),n("fca0"),n("85f2")),G=n.n(F);function q(e,t,n){return t in e?G()(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V(e,t){for(var n=J(e),r=n[0],i=1,o=n.length;ie[a]&&(r=a)}return r}function U(e,t){if(!t[e])throw new Error("ResponsiveGridLayout: `cols` entry for breakpoint "+e+" is missing!");return t[e]}function Z(e,t,n,r,i,o,a){if(t[r])return l(t[r]);for(var s=e,u=J(n),c=u.slice(u.indexOf(r)),f=0,p=c.length;f0&&(this.layout.length>this.originalLayout.length?this.originalLayout=this.originalLayout.concat(e):this.originalLayout=this.originalLayout.filter((function(t){return!e.some((function(e){return t.i===e.i}))}))),this.lastLayoutLength=this.layout.length,this.initResponsiveFeatures()}d(this.layout,this.verticalCompact),this.eventBus.$emit("updateWidth",this.width),this.updateHeight(),this.$emit("layout-updated",this.layout)}},updateHeight:function(){this.mergedStyle={height:this.containerHeight()}},onWindowResize:function(){null!==this.$refs&&null!==this.$refs.item&&void 0!==this.$refs.item&&(this.width=this.$refs.item.offsetWidth),this.eventBus.$emit("resizeEvent")},containerHeight:function(){if(this.autoSize){var e=u(this.layout)*(this.rowHeight+this.margin[1])+this.margin[1]+"px";return e}},dragEvent:function(e,t,n,r,i,o){var a=h(this.layout,t);void 0!==a&&null!==a||(a={x:0,y:0}),"dragmove"===e||"dragstart"===e?(this.placeholder.i=t,this.placeholder.x=a.x,this.placeholder.y=a.y,this.placeholder.w=o,this.placeholder.h=i,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.layout=b(this.layout,a,n,r,!0,this.preventCollision),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"dragend"===e&&this.$emit("layout-updated",this.layout)},resizeEvent:function(e,t,n,r,i,o){var a,s=h(this.layout,t);if(void 0!==s&&null!==s||(s={h:0,w:0}),this.preventCollision){var u=y(this.layout,K({},s,{w:o,h:i})).filter((function(e){return e.i!==s.i}));if(a=u.length>0,a){var l=1/0,c=1/0;u.forEach((function(e){e.x>s.x&&(l=Math.min(l,e.x)),e.y>s.y&&(c=Math.min(c,e.y))})),Number.isFinite(l)&&(s.w=l-s.x),Number.isFinite(c)&&(s.h=c-s.y)}}a||(s.w=o,s.h=i),"resizestart"===e||"resizemove"===e?(this.placeholder.i=t,this.placeholder.x=n,this.placeholder.y=r,this.placeholder.w=s.w,this.placeholder.h=s.h,this.$nextTick((function(){this.isDragging=!0})),this.eventBus.$emit("updateWidth",this.width)):this.$nextTick((function(){this.isDragging=!1})),this.responsive&&this.responsiveGridLayout(),d(this.layout,this.verticalCompact),this.eventBus.$emit("compact"),this.updateHeight(),"resizeend"===e&&this.$emit("layout-updated",this.layout)},responsiveGridLayout:function(){var e=V(this.breakpoints,this.width),t=U(e,this.cols);null==this.lastBreakpoint||this.layouts[this.lastBreakpoint]||(this.layouts[this.lastBreakpoint]=l(this.layout));var n=Z(this.originalLayout,this.layouts,this.breakpoints,e,this.lastBreakpoint,t,this.verticalCompact);this.layouts[e]=n,this.lastBreakpoint!==e&&this.$emit("breakpoint-changed",e,n),this.$emit("update:layout",n),this.lastBreakpoint=e,this.eventBus.$emit("setColNum",U(e,this.cols))},initResponsiveFeatures:function(){this.layouts=Object.assign({},this.responsiveLayouts)},findDifference:function(e,t){var n=e.filter((function(e){return!t.some((function(t){return e.i===t.i}))})),r=t.filter((function(t){return!e.some((function(e){return t.i===e.i}))}));return n.concat(r)}}},ne=te,re=(n("e279"),L(ne,X,Y,!1,null,null,null)),ie=re.exports,oe={GridLayout:ie,GridItem:B};Object.keys(oe).forEach((function(e){o.a.component(e,oe[e])}));var ae=oe;n.d(t,"GridLayout",(function(){return ie})),n.d(t,"GridItem",(function(){return B}));t["default"]=ae},fb3a:function(e,t,n){(function(t){e.exports=t()})((function(){var e=function(e){var t;return function(n){return t||e(t={exports:{},parent:n},t.exports),t.exports}},t=e((function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Scope=t.ActionName=void 0;var r=v(tn),i=d(f),o=d(Sn),a=d(kn),s=d(Bn),u=d(or),l=d(jr),c=d(n({}));function d(e){return e&&e.__esModule?e:{default:e}}function p(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return p=function(){return e},e}function v(e){if(e&&e.__esModule)return e;var t=p();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function h(e){return h="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function g(e,t){return!t||"object"!==h(t)&&"function"!==typeof t?y(e):t}function y(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m(e,t,n){return m="undefined"!==typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=b(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(n):i.value}},m(e,t,n||e)}function b(e,t){while(!Object.prototype.hasOwnProperty.call(e,t))if(e=w(e),null===e)break;return e}function w(e){return w=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},w(e)}function x(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&O(e,t)}function O(e,t){return O=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},O(e,t)}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var n=0;n=0;e--){var r=n.interactions.list[e];r.interactable===this&&(r.stop(),n.interactions.signals.fire("destroy",{interaction:r}),r.destroy(),n.interactions.list.length>2&&n.interactions.list.splice(e,1))}n.interactables.signals.fire("unset",{interactable:this})}},{key:"_defaults",get:function(){return n.defaults}}]),t}(s["default"])}return j(e,[{key:"init",value:function(e){return R(this,e)}},{key:"pluginIsInstalled",value:function(e){return this._pluginMap[e.id]||-1!==this._plugins.indexOf(e)}},{key:"usePlugin",value:function(e,t){return this.pluginIsInstalled(e)?this:(e.id&&(this._pluginMap[e.id]=e),e.install(this,t),this._plugins.push(e),this)}},{key:"addDocument",value:function(e,t){if(-1!==this.getDocIndex(e))return!1;var n=M.getWindow(e);t=t?r.extend({},t):{},this.documents.push({doc:e,options:t}),z.documents.push(e),e!==this.document&&z.add(n,"unload",this.onWindowUnload),this.signals.fire("add-document",{doc:e,window:n,scope:this,options:t})}},{key:"removeDocument",value:function(e){var t=this.getDocIndex(e),n=M.getWindow(e),r=this.documents[t].options;z.remove(n,"unload",this.onWindowUnload),this.documents.splice(t,1),z.documents.splice(t,1),this.signals.fire("remove-document",{doc:e,window:n,scope:this,options:r})}},{key:"getDocIndex",value:function(e){for(var t=0;tthis.pointerMoveTolerance);var s={pointer:e,pointerIndex:this.getPointerIndex(e),event:t,eventTarget:n,dx:r,dy:i,duplicate:a,interaction:this};a||(o.pointer.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),o.pointer.setCoordVelocity(this.coords.velocity,this.coords.delta)),this._signals.fire("move",s),a||(this.interacting()&&this.move(s),this.pointerWasMoved&&o.pointer.copyCoords(this.coords.prev,this.coords.cur))}},{key:"move",value:function(e){e=o.extend({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{}),e.phase=a.EventPhase.Move,this._doPhase(e)}},{key:"pointerUp",value:function(e,t,n,r){var i=this.getPointerIndex(e);-1===i&&(i=this.updatePointer(e,t,n,!1)),this._signals.fire(/cancel$/i.test(t.type)?"cancel":"up",{pointer:e,pointerIndex:i,event:t,eventTarget:n,curEventTarget:r,interaction:this}),this.simulation||this.end(t),this.pointerIsDown=!1,this.removePointer(e,t)}},{key:"documentBlur",value:function(e){this.end(e),this._signals.fire("blur",{event:e,interaction:this})}},{key:"end",value:function(e){var t;this._ending=!0,e=e||this._latestPointer.event,this.interacting()&&(t=this._doPhase({event:e,interaction:this,phase:a.EventPhase.End})),this._ending=!1,!0===t&&this.stop()}},{key:"currentAction",value:function(){return this._interacting?this.prepared.name:null}},{key:"interacting",value:function(){return this._interacting}},{key:"stop",value:function(){this._signals.fire("stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}},{key:"getPointerIndex",value:function(e){var t=o.pointer.getPointerId(e);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:o.arr.findIndex(this.pointers,(function(e){return e.id===t}))}},{key:"getPointerInfo",value:function(e){return this.pointers[this.getPointerIndex(e)]}},{key:"updatePointer",value:function(e,t,n,r){var i=o.pointer.getPointerId(e),a=this.getPointerIndex(e),u=this.pointers[a];return r=!1!==r&&(r||/(down|start)$/i.test(t.type)),u?u.pointer=e:(u=new s["default"](i,e,t,null,null),a=this.pointers.length,this.pointers.push(u)),r&&(this.pointerIsDown=!0,this.interacting()||(o.pointer.setCoords(this.coords.start,this.pointers.map((function(e){return e.pointer})),this._now()),o.pointer.copyCoords(this.coords.cur,this.coords.start),o.pointer.copyCoords(this.coords.prev,this.coords.start),o.pointer.pointerExtend(this.downPointer,e),this.downEvent=t,u.downTime=this.coords.cur.timeStamp,u.downTarget=n,this.pointerWasMoved=!1)),this._updateLatestPointer(e,t,n),this._signals.fire("update-pointer",{pointer:e,event:t,eventTarget:n,down:r,pointerInfo:u,pointerIndex:a,interaction:this}),a}},{key:"removePointer",value:function(e,t){var n=this.getPointerIndex(e);if(-1!==n){var r=this.pointers[n];this._signals.fire("remove-pointer",{pointer:e,event:t,pointerIndex:n,pointerInfo:r,interaction:this}),this.pointers.splice(n,1)}}},{key:"_updateLatestPointer",value:function(e,t,n){this._latestPointer.pointer=e,this._latestPointer.event=t,this._latestPointer.eventTarget=n}},{key:"destroy",value:function(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}},{key:"_createPreparedEvent",value:function(e,t,n,r){var i=this.prepared.name;return new a["default"](this,e,i,t,this.element,null,n,r)}},{key:"_fireEvent",value:function(e){this.interactable.fire(e),(!this.prevEvent||e.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=e)}},{key:"_doPhase",value:function(e){var t=e.event,n=e.phase,r=e.preEnd,i=e.type,o=this._signals.fire("before-action-".concat(n),e);if(!1===o)return!1;var a=e.iEvent=this._createPreparedEvent(t,n,r,i),s=this.rect;if(s){var u=this.edges||this.prepared.edges||{left:!0,right:!0,top:!0,bottom:!0};u.top&&(s.top+=a.delta.y),u.bottom&&(s.bottom+=a.delta.y),u.left&&(s.left+=a.delta.x),u.right&&(s.right+=a.delta.x),s.width=s.right-s.left,s.height=s.bottom-s.top}return this._signals.fire("action-".concat(n),e),this._fireEvent(a),this._signals.fire("after-action-".concat(n),e),!0}},{key:"_now",value:function(){return Date.now()}},{key:"pointerMoveTolerance",get:function(){return 1}}]),e}();n.Interaction=h;var g=h;n["default"]=g})),i={};function o(e,t){return-1!==e.indexOf(t)}function a(e,t){return e.splice(e.indexOf(t),1)}function s(e,t){for(var n=0;n=p&&(i=a,o=t)}else i=a,o=t}else i=a,o=t}return o}function ce(e,t,n){while(K.element(e)){if(se(e,t))return!0;if(e=ae(e),e===n)return se(e,t)}return!1}function fe(e){return e instanceof Q["default"].SVGElementInstance?e.correspondingUseElement:e}function de(e){return e=e||ee["default"].window,{x:e.scrollX||e.document.documentElement.scrollLeft,y:e.scrollY||e.document.documentElement.scrollTop}}function pe(e){var t=e instanceof Q["default"].SVGElement?e.getBoundingClientRect():e.getClientRects()[0];return t&&{left:t.left,right:t.right,top:t.top,bottom:t.bottom,width:t.width||t.right-t.left,height:t.height||t.bottom-t.top}}function ve(e){var t=pe(e);if(!J["default"].isIOS7&&t){var n=de(ee["default"].getWindow(e));t.left+=n.x,t.right+=n.x,t.top+=n.y,t.bottom+=n.y}return t}function he(e){var t=[];while(e)t.push(e),e=ae(e);return t}function ge(e){return!!K.string(e)&&(Q["default"].document.querySelector(e),!0)}var ye={};Object.defineProperty(ye,"__esModule",{value:!0}),ye["default"]=Oe;var me=xe(i),be=xe(j);function we(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return we=function(){return e},e}function xe(e){if(e&&e.__esModule)return e;var t=we();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Oe(e){var t={};for(var n in e){var r=e[n];be.plainObject(r)?t[n]=Oe(r):be.array(r)?t[n]=me.from(r):t[n]=r}return t}var Pe={};function _e(e,t){for(var n in t){var r=_e.prefixedPropREs,i=!1;for(var o in r)if(0===n.indexOf(o)&&r[o].test(n)){i=!0;break}i||"function"===typeof t[n]||(e[n]=t[n])}return e}Object.defineProperty(Pe,"__esModule",{value:!0}),Pe["default"]=void 0,_e.prefixedPropREs={webkit:/(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,moz:/(Pressure)$/};var je=_e;Pe["default"]=je;var Se={};Object.defineProperty(Se,"__esModule",{value:!0}),Se["default"]=void 0;var Me=function(e,t){return Math.sqrt(e*e+t*t)};Se["default"]=Me;var Ee={};Object.defineProperty(Ee,"__esModule",{value:!0}),Ee["default"]=void 0;var ke=We(L),Te=We(f),ze=Ce(Z),De=We(Se),Re=Ce(j),Ie=We(Pe);function Ae(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ae=function(){return e},e}function Ce(e){if(e&&e.__esModule)return e;var t=Ae();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function We(e){return e&&e.__esModule?e:{default:e}}var Ne={copyCoords:function(e,t){e.page=e.page||{},e.page.x=t.page.x,e.page.y=t.page.y,e.client=e.client||{},e.client.x=t.client.x,e.client.y=t.client.y,e.timeStamp=t.timeStamp},setCoordDeltas:function(e,t,n){e.page.x=n.page.x-t.page.x,e.page.y=n.page.y-t.page.y,e.client.x=n.client.x-t.client.x,e.client.y=n.client.y-t.client.y,e.timeStamp=n.timeStamp-t.timeStamp},setCoordVelocity:function(e,t){var n=Math.max(t.timeStamp/1e3,.001);e.page.x=t.page.x/n,e.page.y=t.page.y/n,e.client.x=t.client.x/n,e.client.y=t.client.y/n,e.timeStamp=n},isNativePointer:function(e){return e instanceof Te["default"].Event||e instanceof Te["default"].Touch},getXY:function(e,t,n){return n=n||{},e=e||"page",n.x=t[e+"X"],n.y=t[e+"Y"],n},getPageXY:function(e,t){return t=t||{x:0,y:0},ke["default"].isOperaMobile&&Ne.isNativePointer(e)?(Ne.getXY("screen",e,t),t.x+=window.scrollX,t.y+=window.scrollY):Ne.getXY("page",e,t),t},getClientXY:function(e,t){return t=t||{},ke["default"].isOperaMobile&&Ne.isNativePointer(e)?Ne.getXY("screen",e,t):Ne.getXY("client",e,t),t},getPointerId:function(e){return Re.number(e.pointerId)?e.pointerId:e.identifier},setCoords:function(e,t,n){var r=t.length>1?Ne.pointerAverage(t):t[0],i={};Ne.getPageXY(r,i),e.page.x=i.x,e.page.y=i.y,Ne.getClientXY(r,i),e.client.x=i.x,e.client.y=i.y,e.timeStamp=n},pointerExtend:Ie["default"],getTouchPair:function(e){var t=[];return Re.array(e)?(t[0]=e[0],t[1]=e[1]):"touchend"===e.type?1===e.touches.length?(t[0]=e.touches[0],t[1]=e.changedTouches[0]):0===e.touches.length&&(t[0]=e.changedTouches[0],t[1]=e.changedTouches[1]):(t[0]=e.touches[0],t[1]=e.touches[1]),t},pointerAverage:function(e){for(var t={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n1))return null;var t=Ne.getTouchPair(e),n=Math.min(t[0].pageX,t[1].pageX),r=Math.min(t[0].pageY,t[1].pageY),i=Math.max(t[0].pageX,t[1].pageX),o=Math.max(t[0].pageY,t[1].pageY);return{x:n,y:r,left:n,top:r,right:i,bottom:o,width:i-n,height:o-r}},touchDistance:function(e,t){var n=t+"X",r=t+"Y",i=Ne.getTouchPair(e),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return(0,De["default"])(o,a)},touchAngle:function(e,t){var n=t+"X",r=t+"Y",i=Ne.getTouchPair(e),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r],s=180*Math.atan2(a,o)/Math.PI;return s},getPointerType:function(e){return Re.string(e.pointerType)?e.pointerType:Re.number(e.pointerType)?[void 0,void 0,"touch","pen","mouse"][e.pointerType]:/touch/.test(e.type)||e instanceof Te["default"].Touch?"touch":"mouse"},getEventTargets:function(e){var t=Re.func(e.composedPath)?e.composedPath():e.path;return[ze.getActualElement(t?t[0]:e.target),ze.getActualElement(e.currentTarget)]},newCoords:function(){return{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0}},coordsToEvent:function(e){var t={coords:e,get page(){return this.coords.page},get client(){return this.coords.client},get timeStamp(){return this.coords.timeStamp},get pageX(){return this.coords.page.x},get pageY(){return this.coords.page.y},get clientX(){return this.coords.client.x},get clientY(){return this.coords.client.y},get pointerId(){return this.coords.pointerId},get target(){return this.coords.target},get type(){return this.coords.type},get pointerType(){return this.coords.pointerType},get buttons(){return this.coords.buttons}};return t}},He=Ne;Ee["default"]=He;var Le={};Object.defineProperty(Le,"__esModule",{value:!0}),Le["default"]=Le.FakeEvent=void 0;var $e=qe(Z),Be=qe(j),Xe=Fe(Pe),Ye=Fe(Ee);function Fe(e){return e&&e.__esModule?e:{default:e}}function Ge(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ge=function(){return e},e}function qe(e){if(e&&e.__esModule)return e;var t=Ge();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ue(e,t){for(var n=0;n=0;l--)if(c.selectors[l]===e&&c.contexts[l]===t)break;-1===l&&(l=c.selectors.length,c.selectors.push(e),c.contexts.push(t),c.listeners.push([])),c.listeners[l].push([r,!!o.capture,o.passive])}function ut(e,t,n,r,i){var o,a=ft(i),s=rt[n],u=!1;if(s)for(o=s.selectors.length-1;o>=0;o--)if(s.selectors[o]===e&&s.contexts[o]===t){for(var l=s.listeners[o],c=l.length-1;c>=0;c--){var f=Je(l[c],3),d=f[0],p=f[1],v=f[2];if(d===r&&p===!!a.capture&&v===a.passive){l.splice(c,1),l.length||(s.selectors.splice(o,1),s.contexts.splice(o,1),s.listeners.splice(o,1),at(t,n,lt),at(t,n,ct,!0),s.selectors.length||(rt[n]=null)),u=!0;break}}if(u)break}}function lt(e,t){var n=ft(t),r=new dt(e),i=rt[e.type],o=Ye["default"].getEventTargets(e),a=Je(o,1),s=a[0],u=s;while(Be.element(u)){for(var l=0;l150)return null;var t=180*Math.atan2(e.prevEvent.velocityY,e.prevEvent.velocityX)/Math.PI,n=22.5;t<0&&(t+=360);var r=135-n<=t&&t<225+n,i=225-n<=t&&t<315+n,o=!r&&(315-n<=t||t<45+n),a=!i&&45-n<=t&&t<135+n;return{up:i,down:a,left:r,right:o,angle:t,speed:e.prevEvent.speed,velocity:{x:e.prevEvent.velocityX,y:e.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"pageX",get:function(){return this.page.x},set:function(e){this.page.x=e}},{key:"pageY",get:function(){return this.page.y},set:function(e){this.page.y=e}},{key:"clientX",get:function(){return this.client.x},set:function(e){this.client.x=e}},{key:"clientY",get:function(){return this.client.y},set:function(e){this.client.y=e}},{key:"dx",get:function(){return this.delta.x},set:function(e){this.delta.x=e}},{key:"dy",get:function(){return this.delta.y},set:function(e){this.delta.y=e}},{key:"velocityX",get:function(){return this.velocity.x},set:function(e){this.velocity.x=e}},{key:"velocityY",get:function(){return this.velocity.y},set:function(e){this.velocity.y=e}}]),t}(Tr["default"]);jr.InteractEvent=Br;var Xr=Br;jr["default"]=Xr;var Yr={};function Fr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(Yr,"__esModule",{value:!0}),Yr["default"]=Yr.PointerInfo=void 0;var Gr=function e(t,n,r,i,o){Fr(this,e),this.id=t,this.pointer=n,this.event=r,this.downTime=i,this.downTarget=o};Yr.PointerInfo=Gr;var qr=Gr;Yr["default"]=qr;var Vr={};Object.defineProperty(Vr,"__esModule",{value:!0}),Vr["default"]=void 0;var Ur=Jr(Z);function Zr(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Zr=function(){return e},e}function Jr(e){if(e&&e.__esModule)return e;var t=Zr();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}var Qr={methodOrder:["simulationResume","mouseOrPen","hasPointer","idle"],search:function(e){for(var t=0;t=2)continue;if(!o.interacting()&&t===o.pointerType)return o}return null}};function Kr(e,t){return e.pointers.some((function(e){var n=e.id;return n===t}))}var ei=Qr;Vr["default"]=ei;var ti={};Object.defineProperty(ti,"__esModule",{value:!0}),ti["default"]=void 0;var ni=t({}),ri=ai(i),ii=ai(j);function oi(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return oi=function(){return e},e}function ai(e){if(e&&e.__esModule)return e;var t=oi();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function si(e){var t=e.actions,n=e.Interactable,r=e.interactions,i=e.defaults;r.signals.on("before-action-move",ui),r.signals.on("action-resume",ui),r.signals.on("action-move",li),n.prototype.draggable=fi.draggable,t[ni.ActionName.Drag]=fi,t.names.push(ni.ActionName.Drag),ri.merge(t.eventTypes,["dragstart","dragmove","draginertiastart","dragresume","dragend"]),t.methodDict.drag="draggable",i.actions.drag=fi.defaults}function ui(e){var t=e.interaction;if("drag"===t.prepared.name){var n=t.prepared.axis;"x"===n?(t.coords.cur.page.y=t.coords.start.page.y,t.coords.cur.client.y=t.coords.start.client.y,t.coords.velocity.client.y=0,t.coords.velocity.page.y=0):"y"===n&&(t.coords.cur.page.x=t.coords.start.page.x,t.coords.cur.client.x=t.coords.start.client.x,t.coords.velocity.client.x=0,t.coords.velocity.page.x=0)}}function li(e){var t=e.iEvent,n=e.interaction;if("drag"===n.prepared.name){var r=n.prepared.axis;if("x"===r||"y"===r){var i="x"===r?"y":"x";t.page[i]=n.coords.start.page[i],t.client[i]=n.coords.start.client[i],t.delta[i]=0}}}ni.ActionName.Drag="drag";var ci=function(e){return ii.object(e)?(this.options.drag.enabled=!1!==e.enabled,this.setPerAction("drag",e),this.setOnEvents("drag",e),/^(xy|x|y|start)$/.test(e.lockAxis)&&(this.options.drag.lockAxis=e.lockAxis),/^(xy|x|y)$/.test(e.startAxis)&&(this.options.drag.startAxis=e.startAxis),this):ii.bool(e)?(this.options.drag.enabled=e,this):this.options.drag},fi={id:"actions/drag",install:si,draggable:ci,beforeMove:ui,move:li,defaults:{startAxis:"xy",lockAxis:"xy"},checker:function(e,t,n){var r=n.options.drag;return r.enabled?{name:"drag",axis:"start"===r.lockAxis?r.startAxis:r.lockAxis}:null},getCursor:function(){return"move"}},di=fi;ti["default"]=di;var pi={};Object.defineProperty(pi,"__esModule",{value:!0}),pi["default"]=void 0;var vi=mi(br),hi=yi(i);function gi(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return gi=function(){return e},e}function yi(e){if(e&&e.__esModule)return e;var t=gi();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function mi(e){return e&&e.__esModule?e:{default:e}}function bi(e){return bi="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},bi(e)}function wi(e){return Pi(e)||Oi(e)||xi()}function xi(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Oi(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function Pi(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);ta.left&&c.xa.top&&c.y=a.left&&v<=a.right&&h>=a.top&&h<=a.bottom}if(p&&Ai.is.number(u)){var g=Math.max(0,Math.min(a.right,p.right)-Math.max(a.left,p.left))*Math.max(0,Math.min(a.bottom,p.bottom)-Math.max(a.top,p.top)),y=g/(p.width*p.height);s=y>=u}return e.options.drop.checker&&(s=e.options.drop.checker(t,n,s,e,o,r,i)),s}var Ji={id:"actions/drop",install:$i,getActiveDrops:Yi,getDrop:Fi,getDropEvents:Gi,fireDropEvents:qi,defaults:{enabled:!1,accept:null,overlap:"pointer"}},Qi=Ji;Ii["default"]=Qi;var Ki={};Object.defineProperty(Ki,"__esModule",{value:!0}),Ki["default"]=void 0;var eo=oo(jr),to=t({}),no=io(tn);function ro(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return ro=function(){return e},e}function io(e){if(e&&e.__esModule)return e;var t=ro();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function oo(e){return e&&e.__esModule?e:{default:e}}function ao(e){var t=e.actions,n=e.Interactable,r=e.interactions,i=e.defaults;n.prototype.gesturable=function(e){return no.is.object(e)?(this.options.gesture.enabled=!1!==e.enabled,this.setPerAction("gesture",e),this.setOnEvents("gesture",e),this):no.is.bool(e)?(this.options.gesture.enabled=e,this):this.options.gesture},r.signals.on("action-start",uo),r.signals.on("action-move",uo),r.signals.on("action-end",uo),r.signals.on("new",(function(e){var t=e.interaction;t.gesture={angle:0,distance:0,scale:1,startAngle:0,startDistance:0}})),t[to.ActionName.Gesture]=so,t.names.push(to.ActionName.Gesture),no.arr.merge(t.eventTypes,["gesturestart","gesturemove","gestureend"]),t.methodDict.gesture="gesturable",i.actions.gesture=so.defaults}to.ActionName.Gesture="gesture";var so={id:"actions/gesture",install:ao,defaults:{},checker:function(e,t,n,r,i){return i.pointers.length>=2?{name:"gesture"}:null},getCursor:function(){return""}};function uo(e){var t=e.interaction,n=e.iEvent,r=e.event,i=e.phase;if("gesture"===t.prepared.name){var o=t.pointers.map((function(e){return e.pointer})),a="start"===i,s="end"===i,u=t.interactable.options.deltaSource;if(n.touches=[o[0],o[1]],a)n.distance=no.pointer.touchDistance(o,u),n.box=no.pointer.touchBBox(o),n.scale=1,n.ds=0,n.angle=no.pointer.touchAngle(o,u),n.da=0,t.gesture.startDistance=n.distance,t.gesture.startAngle=n.angle;else if(s||r instanceof eo["default"]){var l=t.prevEvent;n.distance=l.distance,n.box=l.box,n.scale=l.scale,n.ds=0,n.angle=l.angle,n.da=0}else n.distance=no.pointer.touchDistance(o,u),n.box=no.pointer.touchBBox(o),n.scale=n.distance/t.gesture.startDistance,n.angle=no.pointer.touchAngle(o,u),n.ds=n.scale-t.gesture.scale,n.da=n.angle-t.gesture.angle;t.gesture.distance=n.distance,t.gesture.angle=n.angle,no.is.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(t.gesture.scale=n.scale)}}var lo=so;Ki["default"]=lo;var co={};Object.defineProperty(co,"__esModule",{value:!0}),co["default"]=void 0;var fo=t({}),po=bo(i),vo=bo(Z),ho=yo(ht),go=bo(j);function yo(e){return e&&e.__esModule?e:{default:e}}function mo(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return mo=function(){return e},e}function bo(e){if(e&&e.__esModule)return e;var t=mo();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function wo(e){var t=e.actions,n=e.browser,r=e.Interactable,i=e.interactions,o=e.defaults;i.signals.on("new",(function(e){e.resizeAxes="xy"})),i.signals.on("action-start",jo),i.signals.on("action-move",So),i.signals.on("action-end",Mo),i.signals.on("action-start",Eo),i.signals.on("action-move",Eo),xo.cursors=_o(n),xo.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(t){return Oo(this,t,e)},t[fo.ActionName.Resize]=xo,t.names.push(fo.ActionName.Resize),po.merge(t.eventTypes,["resizestart","resizemove","resizeinertiastart","resizeresume","resizeend"]),t.methodDict.resize="resizable",o.actions.resize=xo.defaults}fo.ActionName.Resize="resize";var xo={id:"actions/resize",install:wo,defaults:{square:!1,preserveAspectRatio:!1,axis:"xy",margin:NaN,edges:null,invert:"none"},checker:function(e,t,n,r,i,o){if(!o)return null;var a=(0,ho["default"])({},i.coords.cur.page),s=n.options;if(s.resize.enabled){var u=s.resize,l={left:!1,right:!1,top:!1,bottom:!1};if(go.object(u.edges)){for(var c in l)l[c]=Po(c,u.edges[c],a,i._latestPointer.eventTarget,r,o,u.margin||this.defaultMargin);if(l.left=l.left&&!l.right,l.top=l.top&&!l.bottom,l.left||l.right||l.top||l.bottom)return{name:"resize",edges:l}}else{var f="y"!==s.resize.axis&&a.x>o.right-this.defaultMargin,d="x"!==s.resize.axis&&a.y>o.bottom-this.defaultMargin;if(f||d)return{name:"resize",axes:(f?"x":"")+(d?"y":"")}}}return null},cursors:null,getCursor:function(e){var t=e.edges,n=e.axis,r=e.name,i=xo.cursors,o=null;if(n)o=i[r+n];else if(t){for(var a="",s=["top","bottom","left","right"],u=0;u=0?o.left:o.right)+a;if("top"===e)return n.y<(u>=0?o.top:o.bottom)+a;if("right"===e)return n.x>(s>=0?o.right:o.left)-a;if("bottom"===e)return n.y>(u>=0?o.bottom:o.top)-a}return!!go.element(r)&&(go.element(t)?t===r:vo.matchesUpTo(r,t,i))}function _o(e){return e.isIe9?{x:"e-resize",y:"s-resize",xy:"se-resize",top:"n-resize",left:"w-resize",bottom:"s-resize",right:"e-resize",topleft:"se-resize",bottomright:"se-resize",topright:"ne-resize",bottomleft:"ne-resize"}:{x:"ew-resize",y:"ns-resize",xy:"nwse-resize",top:"ns-resize",left:"ew-resize",bottom:"ns-resize",right:"ew-resize",topleft:"nwse-resize",bottomright:"nwse-resize",topright:"nesw-resize",bottomleft:"nesw-resize"}}function jo(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r=(0,ho["default"])({},n.rect),i=n.interactable.options.resize;if(i.square||i.preserveAspectRatio){var o=(0,ho["default"])({},n.prepared.edges);o.top=o.top||o.left&&!o.bottom,o.left=o.left||o.top&&!o.right,o.bottom=o.bottom||o.right&&!o.top,o.right=o.right||o.bottom&&!o.left,n.prepared._linkedEdges=o}else n.prepared._linkedEdges=null;i.preserveAspectRatio&&(n.resizeStartAspectRatio=r.width/r.height),n.resizeRects={start:r,current:{left:r.left,right:r.right,top:r.top,bottom:r.bottom},inverted:(0,ho["default"])({},r),previous:(0,ho["default"])({},r),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},t.edges=n.prepared.edges,t.rect=n.resizeRects.inverted,t.deltaRect=n.resizeRects.delta}}function So(e){var t=e.iEvent,n=e.interaction;if("resize"===n.prepared.name&&n.prepared.edges){var r,i=n.interactable.options.resize,o=i.invert,a="reposition"===o||"negate"===o,s=n.prepared.edges,u=n.resizeRects.start,l=n.resizeRects.current,c=n.resizeRects.inverted,f=n.resizeRects.delta,d=(0,ho["default"])(n.resizeRects.previous,c),p=s,v=(0,ho["default"])({},t.delta);if(i.preserveAspectRatio||i.square){var h=i.preserveAspectRatio?n.resizeStartAspectRatio:1;s=n.prepared._linkedEdges,p.left&&p.bottom||p.right&&p.top?v.y=-v.x/h:p.left||p.right?v.y=v.x/h:(p.top||p.bottom)&&(v.x=v.y*h)}if(s.top&&(l.top+=v.y),s.bottom&&(l.bottom+=v.y),s.left&&(l.left+=v.x),s.right&&(l.right+=v.x),a){if((0,ho["default"])(c,l),"reposition"===o)c.top>c.bottom&&(r=c.top,c.top=c.bottom,c.bottom=r),c.left>c.right&&(r=c.left,c.left=c.right,c.right=r)}else c.top=Math.min(l.top,u.bottom),c.bottom=Math.max(l.bottom,u.top),c.left=Math.min(l.left,u.right),c.right=Math.max(l.right,u.left);for(var g in c.width=c.right-c.left,c.height=c.bottom-c.top,c)f[g]=c[g]-d[g];t.edges=n.prepared.edges,t.rect=c,t.deltaRect=f}}function Mo(e){var t=e.iEvent,n=e.interaction;"resize"===n.prepared.name&&n.prepared.edges&&(t.edges=n.prepared.edges,t.rect=n.resizeRects.inverted,t.deltaRect=n.resizeRects.delta)}function Eo(e){var t=e.iEvent,n=e.interaction,r=e.action;if(r===fo.ActionName.Resize&&n.resizeAxes){var i=n.interactable.options;i.resize.square?("y"===n.resizeAxes?t.delta.x=t.delta.y:t.delta.y=t.delta.x,t.axes="xy"):(t.axes=n.resizeAxes,"x"===n.resizeAxes?t.delta.y=0:"y"===n.resizeAxes&&(t.delta.x=0))}}var ko=xo;co["default"]=ko;var To={};Object.defineProperty(To,"__esModule",{value:!0}),To.install=Co,Object.defineProperty(To,"drag",{enumerable:!0,get:function(){return zo["default"]}}),Object.defineProperty(To,"drop",{enumerable:!0,get:function(){return Do["default"]}}),Object.defineProperty(To,"gesture",{enumerable:!0,get:function(){return Ro["default"]}}),Object.defineProperty(To,"resize",{enumerable:!0,get:function(){return Io["default"]}}),To.id=void 0;var zo=Ao(ti),Do=Ao(Ii),Ro=Ao(Ki),Io=Ao(co);function Ao(e){return e&&e.__esModule?e:{default:e}}function Co(e){e.usePlugin(Ro["default"]),e.usePlugin(Io["default"]),e.usePlugin(zo["default"]),e.usePlugin(Do["default"])}var Wo="actions";To.id=Wo;var No={};Object.defineProperty(No,"__esModule",{value:!0}),No.getContainer=qo,No.getScroll=Vo,No.getScrollSize=Uo,No.getScrollSizeDelta=Zo,No["default"]=void 0;var Ho=Yo(Z),Lo=Yo(j),$o=Bo(Xt);function Bo(e){return e&&e.__esModule?e:{default:e}}function Xo(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Xo=function(){return e},e}function Yo(e){if(e&&e.__esModule)return e;var t=Xo();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Fo(e){var t=e.interactions,n=e.defaults,r=e.actions;e.autoScroll=Go,Go.now=function(){return e.now()},t.signals.on("new",(function(e){var t=e.interaction;t.autoScroll=null})),t.signals.on("destroy",(function(e){var t=e.interaction;t.autoScroll=null,Go.stop(),Go.interaction&&(Go.interaction=null)})),t.signals.on("stop",Go.stop),t.signals.on("action-move",(function(e){return Go.onInteractionMove(e)})),r.eventTypes.push("autoscroll"),n.perAction.autoScroll=Go.defaults}var Go={defaults:{enabled:!1,margin:60,container:null,speed:300},now:Date.now,interaction:null,i:null,x:0,y:0,isScrolling:!1,prevTime:0,margin:0,speed:0,start:function(e){Go.isScrolling=!0,$o["default"].cancel(Go.i),e.autoScroll=Go,Go.interaction=e,Go.prevTime=Go.now(),Go.i=$o["default"].request(Go.scroll)},stop:function(){Go.isScrolling=!1,Go.interaction&&(Go.interaction.autoScroll=null),$o["default"].cancel(Go.i)},scroll:function(){var e=Go.interaction,t=e.interactable,n=e.element,r=t.options[Go.interaction.prepared.name].autoScroll,i=qo(r.container,t,n),o=Go.now(),a=(o-Go.prevTime)/1e3,s=r.speed*a;if(s>=1){var u={x:Go.x*s,y:Go.y*s};if(u.x||u.y){var l=Vo(i);Lo.window(i)?i.scrollBy(u.x,u.y):i&&(i.scrollLeft+=u.x,i.scrollTop+=u.y);var c=Vo(i),f={x:c.x-l.x,y:c.y-l.y};(f.x||f.y)&&t.fire({type:"autoscroll",target:n,interactable:t,delta:f,interaction:e,container:i})}Go.prevTime=o}Go.isScrolling&&($o["default"].cancel(Go.i),Go.i=$o["default"].request(Go.scroll))},check:function(e,t){var n=e.options;return n[t].autoScroll&&n[t].autoScroll.enabled},onInteractionMove:function(e){var t=e.interaction,n=e.pointer;if(t.interacting()&&Go.check(t.interactable,t.prepared.name))if(t.simulation)Go.x=Go.y=0;else{var r,i,o,a,s=t.interactable,u=t.element,l=s.options[t.prepared.name].autoScroll,c=qo(l.container,s,u);if(Lo.window(c))a=n.clientXc.innerWidth-Go.margin,o=n.clientY>c.innerHeight-Go.margin;else{var f=Ho.getElementClientRect(c);a=n.clientXf.right-Go.margin,o=n.clientY>f.bottom-Go.margin}Go.x=i?1:a?-1:0,Go.y=o?1:r?-1:0,Go.isScrolling||(Go.margin=l.margin,Go.speed=l.speed,Go.start(t))}}};function qo(e,t,n){return(Lo.string(e)?(0,yt.getStringOptionResult)(e,t,n):e)||(0,m.getWindow)(n)}function Vo(e){return Lo.window(e)&&(e=window.document.body),{x:e.scrollLeft,y:e.scrollTop}}function Uo(e){return Lo.window(e)&&(e=window.document.body),{x:e.scrollWidth,y:e.scrollHeight}}function Zo(e,t){var n=e.interaction,r=e.element,i=n&&n.interactable.options[n.prepared.name].autoScroll;if(!i||!i.enabled)return t(),{x:0,y:0};var o=qo(i.container,n.interactable,r),a=Vo(o);t();var s=Vo(o);return{x:s.x-a.x,y:s.y-a.y}}var Jo={id:"auto-scroll",install:Fo};No["default"]=Jo;var Qo={};Object.defineProperty(Qo,"__esModule",{value:!0}),Qo["default"]=void 0;var Ko=ta(j);function ea(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return ea=function(){return e},e}function ta(e){if(e&&e.__esModule)return e;var t=ea();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function na(e){var t=e.Interactable,n=e.actions;t.prototype.getAction=ra,t.prototype.ignoreFrom=(0,tn.warnOnce)((function(e){return this._backCompatOption("ignoreFrom",e)}),"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),t.prototype.allowFrom=(0,tn.warnOnce)((function(e){return this._backCompatOption("allowFrom",e)}),"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),t.prototype.actionChecker=aa,t.prototype.styleCursor=oa,t.prototype.defaultActionChecker=function(e,t,r,i){return ia(this,e,t,r,i,n)}}function ra(e,t,n,r){var i=this.defaultActionChecker(e,t,n,r);return this.options.actionChecker?this.options.actionChecker(e,t,i,this,r,n):i}function ia(e,t,n,r,i,o){for(var a=e.getRect(i),s=n.buttons||{0:1,1:4,3:8,4:16}[n.button],u=null,l=0;l=s)return!1;if(p.interactable===e){if(l+=v===n.name?1:0,l>=o)return!1;if(p.element===t&&(c++,v===n.name&&c>=a))return!1}}}return s>0}function wa(e,t){return la.is.number(e)?(t.autoStart.maxInteractions=e,this):t.autoStart.maxInteractions}function xa(e,t,n){n.autoStart.cursorElement&&(n.autoStart.cursorElement.style.cursor=""),e.ownerDocument.documentElement.style.cursor=t,e.style.cursor=t,n.autoStart.cursorElement=t?e:null}function Oa(e,t){var n=e.interactable,r=e.element,i=e.prepared;if("mouse"===e.pointerType&&n&&n.options.styleCursor){var o="";if(i.name){var a=n.options[i.name].cursorChecker;o=la.is.func(a)?a(i,n,r,e._interacting):t.actions[i.name].getCursor(i)}xa(e.element,o||"",t)}}var Pa={id:"auto-start/base",install:va,maxInteractions:wa,withinInteractionLimit:ba,validateAction:ha};ua["default"]=Pa;var _a={};Object.defineProperty(_a,"__esModule",{value:!0}),_a["default"]=void 0;var ja=t({}),Sa=Ta(j),Ma=Ea(ua);function Ea(e){return e&&e.__esModule?e:{default:e}}function ka(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return ka=function(){return e},e}function Ta(e){if(e&&e.__esModule)return e;var t=ka();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function za(e){function t(e,t){if(!t)return!1;var n=t.options[ja.ActionName.Drag].startAxis;return"xy"===e||"xy"===n||n===e}e.autoStart.signals.on("before-start",(function(n){var r=n.interaction,i=n.eventTarget,o=n.dx,a=n.dy;if("drag"===r.prepared.name){var s=Math.abs(o),u=Math.abs(a),l=r.interactable.options.drag,c=l.startAxis,f=s>u?"x":s0&&(t.autoStartHoldTimer=setTimeout((function(){t.start(t.prepared,t.interactable,t.element)}),n))})),n.signals.on("move",(function(e){var t=e.interaction,n=e.duplicate;t.pointerWasMoved&&!n&&clearTimeout(t.autoStartHoldTimer)})),t.signals.on("before-start",(function(e){var t=e.interaction,n=Wa(t);n>0&&(t.prepared.name=null)}))}function Wa(e){var t=e.prepared&&e.prepared.name;if(!t)return null;var n=e.interactable.options;return n[t].hold||n[t].delay}var Na={id:"auto-start/hold",install:Ca,getHoldDuration:Wa};Ra["default"]=Na;var Ha={};Object.defineProperty(Ha,"__esModule",{value:!0}),Ha.install=Ya,Object.defineProperty(Ha,"autoStart",{enumerable:!0,get:function(){return La["default"]}}),Object.defineProperty(Ha,"dragAxis",{enumerable:!0,get:function(){return $a["default"]}}),Object.defineProperty(Ha,"hold",{enumerable:!0,get:function(){return Ba["default"]}}),Ha.id=void 0;var La=Xa(ua),$a=Xa(_a),Ba=Xa(Ra);function Xa(e){return e&&e.__esModule?e:{default:e}}function Ya(e){e.usePlugin(La["default"]),e.usePlugin(Ba["default"]),e.usePlugin($a["default"])}var Fa="auto-start";Ha.id=Fa;var Ga={};Object.defineProperty(Ga,"__esModule",{value:!0}),Ga.install=ts,Ga["default"]=void 0;var qa=Ja(Le),Va=Za(j);function Ua(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return Ua=function(){return e},e}function Za(e){if(e&&e.__esModule)return e;var t=Ua();if(t&&t.has(e))return t.get(e);var n={};if(null!=e){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i)){var o=r?Object.getOwnPropertyDescriptor(e,i):null;o&&(o.get||o.set)?Object.defineProperty(n,i,o):n[i]=e[i]}}return n["default"]=e,t&&t.set(e,n),n}function Ja(e){return e&&e.__esModule?e:{default:e}}function Qa(e){return/^(always|never|auto)$/.test(e)?(this.options.preventDefault=e,this):Va.bool(e)?(this.options.preventDefault=e?"always":"never",this):this.options.preventDefault}function Ka(e,t,n){var r=e.options.preventDefault;if("never"!==r)if("always"!==r){if(qa["default"].supportsPassive&&/^touch(start|move)$/.test(n.type)){var i=(0,m.getWindow)(n.target).document,o=t.getDocOptions(i);if(!o||!o.events||!1!==o.events.passive)return}/^(mouse|pointer|touch)*(down|start)/i.test(n.type)||Va.element(n.target)&&(0,Z.matchesSelector)(n.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||n.preventDefault()}else n.preventDefault()}function es(e){var t=e.interaction,n=e.event;t.interactable&&t.interactable.checkAndPreventDefault(n)}function ts(e){var t=e.Interactable;t.prototype.preventDefault=Qa,t.prototype.checkAndPreventDefault=function(t){return Ka(this,e,t)};for(var n=["down","move","up","cancel"],r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=t.logger,r=e.interactions,i=e.Interactable,o=e.defaults;n=n||console,r.signals.on("action-start",(function(e){for(var t=e.interaction,r=0;rs.minSpeed&&c>s.endSpeed,v={interaction:n,pageCoords:n.coords.cur.page,states:d&&n.modifiers.states.map((function(e){return Zs.extend({},e)})),preEnd:!0,prevCoords:null,requireEndOnly:null,phase:jr.EventPhase.InertiaStart};return d&&!p&&(v.prevCoords=n.modifiers.result?n.modifiers.result.coords:n.prevEvent.page,v.requireEndOnly=!1,a=Us["default"].setAll(v),a.changed&&(f=!0)),p||f?(Zs.pointer.copyCoords(o.upCoords,n.coords.cur),(0,Us.setCoords)(v),n.pointers[0].pointer=o.startEvent=new t.InteractEvent(n,r,n.prepared.name,jr.EventPhase.InertiaStart,n.element),(0,Us.restoreCoords)(v),o.t0=u,o.active=!0,o.allowResume=s.allowResume,n.simulation=o,n.interactable.fire(o.startEvent),p?(o.vx0=n.coords.velocity.client.x,o.vy0=n.coords.velocity.client.y,o.v0=c,ou(n,o),Zs.extend(v.pageCoords,n.coords.cur.page),v.pageCoords.x+=o.xe,v.pageCoords.y+=o.ye,v.prevCoords=null,v.requireEndOnly=!0,a=Us["default"].setAll(v),o.modifiedXe+=a.delta.x,o.modifiedYe+=a.delta.y,o.timeout=Js["default"].request((function(){return au(n)}))):(o.smoothEnd=!0,o.xe=a.delta.x,o.ye=a.delta.y,o.sx=o.sy=0,o.timeout=Js["default"].request((function(){return su(n)}))),!1):null}function iu(e){var t=e.interaction,n=t.inertia;n.active&&(Js["default"].cancel(n.timeout),n.active=!1,t.simulation=null)}function ou(e,t){var n=lu(e),r=n.resistance,i=-Math.log(n.endSpeed/t.v0)/r;t.x0=e.prevEvent.page.x,t.y0=e.prevEvent.page.y,t.t0=t.startEvent.timeStamp/1e3,t.sx=t.sy=0,t.modifiedXe=t.xe=(t.vx0-i)/r,t.modifiedYe=t.ye=(t.vy0-i)/r,t.te=i,t.lambda_v0=r/t.v0,t.one_ve_v0=1-n.endSpeed/t.v0}function au(e){uu(e),Zs.pointer.setCoordDeltas(e.coords.delta,e.coords.prev,e.coords.cur),Zs.pointer.setCoordVelocity(e.coords.velocity,e.coords.delta);var t=e.inertia,n=lu(e),r=n.resistance,i=e._now()/1e3-t.t0;if(i String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=c806aad8&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\n\nimport {cloneLayout, compact, correctBounds} from './utils';\n\nimport type {Layout} from './utils';\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\ntype Breakpoint = string;\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\n\n/**\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\n *\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\n * @param {Number} width Screen width.\n * @return {String} Highest breakpoint that is less than width.\n */\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\n const sorted = sortBreakpoints(breakpoints);\n let matching = sorted[0];\n for (let i = 1, len = sorted.length; i < len; i++) {\n const breakpointName = sorted[i];\n if (width > breakpoints[breakpointName]) matching = breakpointName;\n }\n return matching;\n}\n\n\n/**\n * Given a breakpoint, get the # of cols set for it.\n * @param {String} breakpoint Breakpoint name.\n * @param {Object} cols Map of breakpoints to cols.\n * @return {Number} Number of cols.\n */\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\n if (!cols[breakpoint]) {\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\n }\n return cols[breakpoint];\n}\n\n/**\n * Given existing layouts and a new breakpoint, find or generate a new layout.\n *\n * This finds the layout above the new one and generates from it, if it exists.\n *\n * @param {Array} orgLayout Original layout.\n * @param {Object} layouts Existing layouts.\n * @param {Array} breakpoints All breakpoints.\n * @param {String} breakpoint New breakpoint.\n * @param {String} breakpoint Last breakpoint (for fallback).\n * @param {Number} cols Column count at new breakpoint.\n * @param {Boolean} verticalCompact Whether or not to compact the layout\n * vertically.\n * @return {Array} New layout.\n */\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = orgLayout;\n\n const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\n cols: number, verticalCompact: boolean): Layout {\n // If it already exists, just return it.\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\n // Find or generate the next layout\n let layout = layouts[lastBreakpoint];*/\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\n const b = breakpointsAbove[i];\n if (layouts[b]) {\n layout = layouts[b];\n break;\n }\n }*/\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\n}\n\n/**\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\n * e.g. ['xxs', 'xs', 'sm', ...]\n *\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\n * @return {Array} Sorted breakpoints.\n */\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\n const keys: Array = Object.keys(breakpoints);\n return keys.sort(function(a, b) {\n return breakpoints[a] - breakpoints[b];\n });\n}\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=5a186489&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport GridItem from './GridItem.vue';\nimport GridLayout from './GridLayout.vue';\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\n\n\nconst VueGridLayout = {\n // ResponsiveGridLayout,\n GridLayout,\n GridItem\n}\n\n// module.exports = VueGridLayout;\n\nObject.keys(VueGridLayout).forEach(name => {\n Vue.component(name, VueGridLayout[name]);\n});\n\nexport default VueGridLayout;\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueGridLayout/webpack/universalModuleDefinition","webpack://VueGridLayout/webpack/bootstrap","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-define.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-at.js","webpack://VueGridLayout/./node_modules/core-js/modules/_advance-string-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_flags.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?43b0","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopd.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dps.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/browser-detector.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_to-primitive.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fix-re-wks.js","webpack://VueGridLayout/./node_modules/core-js/modules/_dom-create.js","webpack://VueGridLayout/./node_modules/css-loader/lib/css-base.js","webpack://VueGridLayout/./node_modules/core-js/modules/_classof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gops.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_redefine.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-create.js","webpack://VueGridLayout/./node_modules/core-js/modules/_wks.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-generator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_library.js","webpack://VueGridLayout/./node_modules/core-js/modules/_cof.js","webpack://VueGridLayout/./node_modules/core-js/modules/_strict-method.js","webpack://VueGridLayout/./node_modules/core-js/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_hide.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gpo.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-create.js","webpack://VueGridLayout/./node_modules/core-js/library/fn/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-integer.js","webpack://VueGridLayout/./node_modules/core-js/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/es6.object.define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.match.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/listToStyles.js","webpack://VueGridLayout/./node_modules/vue-style-loader/lib/addStylesClient.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/listener-handler.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-object.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/id-handler.js","webpack://VueGridLayout/./node_modules/batch-processor/src/utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-pie.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.sort.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_core.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_inherit-if-required.js","webpack://VueGridLayout/./src/components/GridItem.vue?70f1","webpack://VueGridLayout/./node_modules/core-js/modules/_object-sap.js","webpack://VueGridLayout/./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack://VueGridLayout/./node_modules/core-js/modules/_shared-key.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iobject.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_export.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-iobject.js","webpack://VueGridLayout/./node_modules/core-js/modules/_has.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-primitive.js","webpack://VueGridLayout/./src/components/GridItem.vue?73c4","webpack://VueGridLayout/./node_modules/core-js/modules/_object-assign.js","webpack://VueGridLayout/./node_modules/core-js/modules/_global.js","webpack://VueGridLayout/./node_modules/core-js/modules/_to-absolute-index.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/modules/_fails.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-to-string-tag.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.function.name.js","webpack://VueGridLayout/./node_modules/core-js/modules/_core.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iterators.js","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/core-js/object/define-property.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_set-proto.js","webpack://VueGridLayout/external {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://VueGridLayout/./node_modules/core-js/library/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-gopn.js","webpack://VueGridLayout/./node_modules/core-js/modules/_own-keys.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_add-to-unscopables.js","webpack://VueGridLayout/./src/components/GridItem.vue?b235","webpack://VueGridLayout/./node_modules/core-js/modules/_to-length.js","webpack://VueGridLayout/./node_modules/core-js/modules/_descriptors.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.replace.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-trim.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/reporter.js","webpack://VueGridLayout/./node_modules/core-js/modules/web.dom.iterable.js","webpack://VueGridLayout/./src/components/GridLayout.vue?af6b","webpack://VueGridLayout/./node_modules/core-js/library/modules/_property-desc.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.regexp.exec.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/collection-utils.js","webpack://VueGridLayout/./node_modules/core-js/modules/_defined.js","webpack://VueGridLayout/./node_modules/batch-processor/src/batch-processor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_array-includes.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.constructor.js","webpack://VueGridLayout/./node_modules/core-js/modules/_ie8-dom-define.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/detection-strategy/scroll.js","webpack://VueGridLayout/./node_modules/core-js/modules/_uid.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.array.iterator.js","webpack://VueGridLayout/./node_modules/core-js/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_object-keys-internal.js","webpack://VueGridLayout/./node_modules/core-js/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_iter-step.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/state-handler.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_ctx.js","webpack://VueGridLayout/./node_modules/core-js/modules/_a-function.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_object-dp.js","webpack://VueGridLayout/./node_modules/core-js/modules/_enum-bug-keys.js","webpack://VueGridLayout/./src/components/GridLayout.vue?2bdf","webpack://VueGridLayout/./node_modules/core-js/library/modules/_an-object.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_global.js","webpack://VueGridLayout/./node_modules/element-resize-detector/src/element-resize-detector.js","webpack://VueGridLayout/./node_modules/core-js/modules/_create-property.js","webpack://VueGridLayout/./node_modules/current-script-polyfill/currentScript.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.object.assign.js","webpack://VueGridLayout/./node_modules/core-js/library/modules/_is-object.js","webpack://VueGridLayout/./node_modules/core-js/modules/_function-to-string.js","webpack://VueGridLayout/./node_modules/core-js/modules/_html.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueGridLayout/./src/components/GridItem.vue?a307","webpack://VueGridLayout/./src/helpers/utils.js","webpack://VueGridLayout/./src/helpers/draggableUtils.js","webpack://VueGridLayout/./src/helpers/DOM.js","webpack://VueGridLayout/src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridItem.vue?2537","webpack://VueGridLayout/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueGridLayout/./src/components/GridItem.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?f4e6","webpack://VueGridLayout/./node_modules/@babel/runtime-corejs2/helpers/esm/defineProperty.js","webpack://VueGridLayout/./src/helpers/responsiveUtils.js","webpack://VueGridLayout/src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/GridLayout.vue?2dea","webpack://VueGridLayout/./src/components/GridLayout.vue","webpack://VueGridLayout/./src/components/index.js","webpack://VueGridLayout/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js","webpack://VueGridLayout/./node_modules/interactjs/dist/interact.js","webpack://VueGridLayout/./node_modules/core-js/modules/es6.number.is-finite.js","webpack://VueGridLayout/./node_modules/core-js/modules/_string-ws.js"],"names":["root","factory","exports","module","require","define","amd","self","this","__WEBPACK_EXTERNAL_MODULE__8bbf__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","LIBRARY","$export","redefine","hide","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","keys","FF_ITERATOR","KEYS","VALUES","returnThis","Base","NAME","Constructor","next","DEFAULT","IS_SET","FORCED","methods","IteratorPrototype","getMethod","kind","proto","TAG","DEF_VALUES","VALUES_BUG","$native","$default","$entries","undefined","$anyNative","entries","values","P","F","toInteger","defined","TO_STRING","that","pos","a","b","String","length","charCodeAt","charAt","slice","at","S","index","unicode","it","anObject","result","global","ignoreCase","multiline","sticky","$keys","enumBugKeys","O","content","locals","add","default","pIE","createDesc","toIObject","toPrimitive","has","IE8_DOM_DEFINE","gOPD","getOwnPropertyDescriptor","f","e","dP","getKeys","defineProperties","Properties","browserDetector","options","reporter","batchProcessor","getState","stateHandler","Error","addListener","element","listener","getObject","listenerProxy","isIE","proxy","attachEvent","contentDocument","defaultView","addEventListener","makeDetectable","callback","debug","injectObject","OBJECT_STYLE","positionCheckPerformed","style","window","getComputedStyle","width","offsetWidth","height","offsetHeight","mutateDom","alterPositionStyles","position","removeRelativeStyles","getNumericalValue","replace","warn","onObjectLoad","getDocument","setTimeout","objectElement","objectDocument","document","createElement","cssText","tabIndex","type","setAttribute","onload","data","appendChild","startSize","uninstall","detachEvent","removeChild","detector","version","isAnyIeVersion","agent","navigator","userAgent","toLowerCase","indexOf","ieVersion","undef","v","div","all","getElementsByTagName","innerHTML","isLegacyOpera","opera","isObject","fn","val","toString","valueOf","TypeError","is","fails","wks","regexpExec","SPECIES","REPLACE_SUPPORTS_NAMED_GROUPS","re","exec","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","apply","arguments","split","KEY","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","constructor","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","done","strfn","rxfn","RegExp","string","arg","cssWithMappingToString","item","useSourceMap","cssMapping","btoa","sourceMapping","toComment","sourceURLs","sources","map","source","sourceRoot","concat","join","sourceMap","base64","unescape","encodeURIComponent","JSON","stringify","list","mediaQuery","alreadyImportedModules","id","push","cof","ARG","tryGet","T","B","callee","getOwnPropertySymbols","SRC","$toString","TPL","inspectSource","safe","isFunction","Function","dPs","IE_PROTO","Empty","PROTOTYPE","createDict","iframeDocument","iframe","lt","gt","display","src","contentWindow","open","write","close","store","uid","USE_SYMBOL","$exports","idCount","generate","method","toObject","ObjectProto","descriptor","$Object","desc","ceil","Math","floor","isNaN","bitmap","configurable","writable","toLength","advanceStringIndex","regExpExec","MATCH","$match","maybeCallNative","res","rx","fullUnicode","lastIndex","A","matchStr","listToStyles","parentId","styles","newStyles","css","media","part","parts","hasDocument","DEBUG","stylesInDom","head","singletonElement","singletonCounter","isProduction","noop","ssrIdKey","isOldIE","test","addStylesClient","_isProduction","_options","addStylesToDom","newList","mayRemove","domStyle","refs","j","addStyle","createStyleElement","styleElement","obj","update","remove","querySelector","parentNode","styleIndex","applyToSingletonTag","applyToTag","newObj","replaceText","textStore","replacement","filter","Boolean","styleSheet","cssNode","createTextNode","childNodes","insertBefore","ssrId","firstChild","idHandler","eventListeners","getListeners","removeListener","listeners","len","splice","removeAllListeners","idGenerator","getId","state","setId","set","utils","getOption","defaultValue","regexpFlags","nativeExec","nativeReplace","patchedExec","LAST_INDEX","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","PATCH","reCopy","match","propertyIsEnumerable","core","SHARED","copyright","aFunction","$sort","sort","comparefn","__e","isDetectable","markAsDetectable","isBusy","busy","markBusy","ctx","own","out","exp","IS_FORCED","IS_GLOBAL","G","IS_STATIC","IS_PROTO","IS_BIND","target","expProto","U","W","R","setPrototypeOf","C","classof","builtinExec","shared","IS_WRAP","virtual","IObject","DESCRIPTORS","gOPS","$assign","assign","K","forEach","k","aLen","getSymbols","isEnum","__g","max","min","def","tag","stat","FProto","nameRE","Attributes","check","buggy","Array","__proto__","ownKeys","createProperty","getOwnPropertyDescriptors","getDesc","hiddenKeys","getOwnPropertyNames","gOPN","Reflect","UNSCOPABLES","ArrayProto","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","captures","namedCaptures","replacerArgs","getSubstitution","tailPos","symbols","ch","capture","spaces","space","non","ltrim","rtrim","exporter","ALIAS","FORCE","trim","TYPE","quiet","log","error","console","attachFunction","$iterators","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","forced","collection","Batch","batch","size","topLevel","bottomLevel","level","process","getSize","asyncProcess","autoProcess","asyncFrameHandler","isProcessing","addFunction","processBatchAsync","processBatch","processingBatch","forceProcessBatch","localAsyncProcess","cancelFrame","requestFrame","cancel","clearTimeout","raf","force","toAbsoluteIndex","IS_INCLUDES","$this","el","fromIndex","inheritIfRequired","$trim","NUMBER","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","NaN","code","digits","parseInt","hasState","scrollbarSizes","getScrollbarSizes","styleId","detectionContainerClass","child","container","body","widthSize","clientWidth","heightSize","clientHeight","injectScrollStyle","containerClass","injectStyle","getElementById","containerAnimationClass","containerAnimationActiveClass","addAnimationClass","className","addEvent","cb","removeEvent","removeEventListener","getExpandElement","getShrinkElement","args","unshift","isDetached","isInDocument","ownerDocument","contains","isUnrendered","getStyle","elementStyle","top","right","bottom","left","widthCSS","heightCSS","storeStartSize","initListeners","storeStyle","storeCurrentSize","lastWidth","lastHeight","getExpandChildElement","getWidthOffset","getHeightOffset","getExpandWidth","getExpandHeight","getShrinkWidth","getShrinkHeight","positionScrollbars","expand","shrink","expandWidth","expandHeight","shrinkWidth","shrinkHeight","scrollLeft","scrollTop","injectContainerElement","onAnimationStart","onRendered","injectScrollElements","getLeftTopBottomRightCssText","rootContainer","scrollbarWidth","scrollbarHeight","containerContainerStyle","containerStyle","expandStyle","shrinkStyle","expandChildStyle","shrinkChildStyle","containerContainer","expandChild","shrinkChild","dir","onExpandScroll","onShrinkScroll","onExpand","onShrink","registerListenersAndPositionElements","updateChildSizes","updateDetectorElements","areElementsInjected","w","h","notifyListenersIfNeeded","isFirstNotify","lastNotifiedWidth","lastNotifiedHeight","handleRender","handleScroll","finalizeDomMutation","ready","install","px","random","addToUnscopables","step","iterated","_t","_i","_k","Arguments","arrayIndexOf","names","prop","initState","cleanState","elementUtilsMaker","listenerHandlerMaker","idGeneratorMaker","idHandlerMaker","reporterMaker","batchProcessorMaker","objectStrategyMaker","scrollStrategyMaker","isCollection","isArray","toArray","array","isElement","nodeType","defaultIdHandler","globalOptions","callOnAdd","detectionStrategy","eventListenerHandler","elementUtils","desiredStrategy","strategyOptions","onReadyCallbacks","listenTo","elements","onResizeCallback","elementsReady","onReadyCallback","$defineProperty","currentScript","scripts","err","stack","readyState","documentElement","render","_vm","_h","$createElement","_c","_self","ref","staticClass","class","classObj","resizableHandleClass","_e","staticRenderFns","layout","bottomY","y","cloneLayout","newLayout","cloneLayoutItem","layoutItem","parse","collides","l1","l2","x","compact","verticalCompact","compareWith","getStatics","sorted","sortLayoutItemsByRowCol","static","compactItem","moved","getFirstCollision","correctBounds","bounds","collidesWith","cols","getLayoutItem","getAllCollisions","moveElement","isUserAction","preventCollision","oldX","oldY","movingUp","reverse","collisions","collision","moveElementAwayFromCollision","itemToMove","fakeItem","setTransform","translate","transform","WebkitTransform","MozTransform","msTransform","OTransform","setTransformRtl","setTopLeft","setTopRight","validateLayout","contextName","subProps","getControlPosition","offsetXYFromParentOf","evt","offsetParent","offsetParentRect","getBoundingClientRect","clientX","clientY","createCoreData","lastX","lastY","isStart","isNum","deltaX","deltaY","num","currentDir","hasWindow","getDocumentDir","direction","getAttribute","addWindowEventListener","event","removeWindowEventListener","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","existing","beforeCreate","component","directives","rawName","expression","attrs","placeholder","_defineProperty","getBreakpointFromWidth","breakpoints","sortBreakpoints","matching","breakpointName","getColsFromBreakpoint","breakpoint","findOrGenerateResponsiveLayout","orgLayout","layouts","lastBreakpoint","breakpointsSorted","breakpointsAbove","VueGridLayout","GridLayout","GridItem","Vue","createModuleFactory","_$scope_24","Scope","ActionName","_interopRequireWildcard","_$utils_56","_domObjects","_interopRequireDefault","_$domObjects_50","_defaultOptions","_$defaultOptions_20","_Eventable","_$Eventable_14","_Interactable","_$Interactable_16","_InteractableSet","_$InteractableSet_17","_InteractEvent","_$InteractEvent_15","_interactions","_$interactions_23","_getRequireWildcardCache","WeakMap","cache","hasPropertyDescriptor","_typeof","iterator","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_get","receiver","base","_superPropBase","_getPrototypeOf","_inherits","subClass","superClass","_setPrototypeOf","_classCallCheck","instance","_defineProperties","props","_createClass","protoProps","staticProps","win","browser","Signals","events","_this","signals","defaults","clone","Eventable","actions","methodDict","eventTypes","InteractEvent","interactables","documents","_plugins","_pluginMap","onWindowUnload","removeDocument","scope","Interactable","_InteractableBase","fire","interactable","interactions","interaction","stop","destroy","initScope","plugin","pluginIsInstalled","doc","getDocIndex","getWindow","extend","docIndex","Date","now","init","usePlugin","_browser","_$browser_48","_events","_$events_52","_pointerUtils","_$pointerUtils_61","_Signals","_$Signals_46","_Interaction","_$Interaction_18","_interactionFinder","_$interactionFinder_22","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","_arr","_n","_d","_s","methodNames","_ref","doOnInteractions","docEvents","pEventTypes","releasePointersOnRemovedEls","_i3","_ref3","pointerIsDown","pointerType","_interacting","_loop","_ref4","pointers","_i4","pointer","some","_ref5","_$domUtils_51","nodeContains","downTarget","removePointer","PointerEvent","down","pointerDown","move","pointerMove","up","pointerUp","_i2","_ref2","documentBlur","on","onDocSignal","prevTouchTime","Interaction","_InteractionBase","pointerMoveTolerance","getPointerType","_pointerUtils$getEven","getEventTargets","_pointerUtils$getEven2","eventTarget","curEventTarget","matches","_i5","changedTouches","_ref6","changedTouch","pointerId","getPointerId","searchDetails","eventType","getInteraction","invalidPointer","supportsPointerEvent","timeStamp","_searchDetails","_interaction","_i6","_matches$_i","_pointer","_eventTarget","_curEventTarget","_interaction2","foundInteraction","search","signalArg","_ref7","signalName","eventMethod","isIOS","passive","delegatedEvents","delegateListener","delegateUseCapture","eventOptions","_i7","_ref8","_ref9","_default","_PointerInfo","_ProxyMethods","_ProxyValues","_$PointerInfo_19","_scope","prepared","axis","edges","downEvent","downPointer","_latestPointer","prevEvent","pointerWasMoved","_ending","_stopped","_proxy","simulation","doMove","warnOnce","coords","start","newCoords","prev","cur","delta","velocity","_signals","_loop2","_key","pointerIndex","updatePointer","action","interacting","Gesture","enabled","copyAction","rect","getRect","_doPhase","phase","EventPhase","Start","modifiers","endPrevented","setCoords","_now","dx","dy","duplicateMove","page","client","hypot","getPointerIndex","duplicate","setCoordDeltas","setCoordVelocity","copyCoords","Move","end","endPhaseResult","End","findIndex","curPointer","pointerInfo","pointerExtend","downTime","_updateLatestPointer","preEnd","actionName","iEvent","beforeResult","_createPreparedEvent","_fireEvent","_$arr_47","merge","from","func","find","domObjects","DocumentFragment","SVGElement","SVGSVGElement","SVGElementInstance","Element","HTMLElement","Event","Touch","blank","MSPointerEvent","_$isWindow_58","___default_58","thing","Window","_$window_66","__init_66","_isWindow","realWindow","wrap","node","rootNode","___default_66","_$is_57","plainObject","bool","number","docFrag","___isWindow_57","___interopRequireDefault_57","_window2","__window_57","_window","nodeName","___interopRequireDefault_48","__init_48","supportsTouch","isIOS7","isIe9","isOperaMobile","prefixedMatchesSelector","wheelEvent","DocumentTouch","pointerEnabled","platform","appVersion","appName","over","___default_48","closest","matchesSelector","indexOfDeepestElement","matchesUpTo","getActualElement","getScrollXY","getElementClientRect","getElementRect","getPath","trySelector","___interopRequireDefault_51","___domObjects_51","__is_51","___interopRequireWildcard_51","___window_51","___getRequireWildcardCache_51","selector","host","getParent","deepestZoneParents","deepestZone","dropzone","_parent","parentParent","ownerSVGElement","dropzoneParents","parents","lastChild","previousSibling","deepestZIndex","zIndex","dropzoneZIndex","limit","correspondingUseElement","relevantWindow","scrollX","scrollY","clientRect","getClientRects","scroll","path","_$clone_49","___interopRequireWildcard_49","__is_49","___getRequireWildcardCache_49","dest","_$pointerExtend_60","prefixedPropREs","deprecated","vendor","webkit","moz","___default_60","_$hypot_55","___default_55","sqrt","___browser_61","___interopRequireDefault_61","___domObjects_61","domUtils","___interopRequireWildcard_61","_hypot","__is_61","_pointerExtend","___getRequireWildcardCache_61","pointerUtils","targetObj","dt","isNativePointer","getXY","xy","getPageXY","getClientXY","identifier","pointerAverage","tmpXY","getTouchPair","touches","average","pageX","pageY","screenX","screenY","_prop","touchBBox","minX","minY","maxX","maxY","touchDistance","deltaSource","sourceX","sourceY","touchAngle","angle","atan2","PI","composedPath","currentTarget","coordsToEvent","buttons","___default_61","FakeEvent","__domUtils_52","___interopRequireWildcard_52","__is_52","___pointerExtend_52","___interopRequireDefault_52","___getRequireWildcardCache_52","targets","optionalArg","getOptions","elementIndex","typeCount","supportsOptions","__remove_52","addDelegate","contexts","selectors","delegated","removeDelegate","matchFound","_listeners$i","fakeEvent","param","originalEvent","preventDefault","stopPropagation","stopImmediatePropagation","supportsPassive","_elements","_targets","___default_52","_$extend_53","_$rect_63","getStringOptionResult","resolveRectLike","rectToXY","xywhToTlbr","tlbrToXywh","_extend","___interopRequireDefault_63","__is_63","___interopRequireWildcard_63","___getRequireWildcardCache_63","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","arr2","functionArgs","___default_63","_$getOriginXY_54","___default_54","actionOptions","actionOrigin","origin","originRect","_$normalizeListeners_59","normalize","___extend_59","___interopRequireDefault_59","__is_59","___interopRequireWildcard_59","___getRequireWildcardCache_59","reduce","acc","prefix","combinedTypes","_$raf_62","_request","_cancel","lastTime","__init_62","requestAnimationFrame","cancelAnimationFrame","vendors","currTime","timeToCall","token","___default_62","request","___classCallCheck_46","___defineProperties_46","___createClass_46","targetListeners","___default_46","_getQBezierValue","getQuadraticCurvePoint","easeOutQuad","___window_56","___browser_56","_clone","___extend_56","_getOriginXY","___hypot_56","_normalizeListeners","___pointerUtils_56","_raf","___rect_56","dom","__arr_56","___interopRequireWildcard_56","__is_56","___interopRequireDefault_56","___getRequireWildcardCache_56","message","warned","p1","p2","p3","iT","startX","startY","cpX","cpY","endX","endY","perAction","___default_20","__arr_14","___interopRequireWildcard_14","___extend_14","___interopRequireDefault_14","___normalizeListeners_14","___getRequireWildcardCache_14","___classCallCheck_14","___defineProperties_14","___createClass_14","fireUntilImmediateStopped","immediatePropagationStopped","types","propagationStopped","eventList","subListener","_element","___default_14","__arr_16","___interopRequireWildcard_16","___browser_16","___interopRequireDefault_16","___clone_16","___events_16","___extend_16","__is_16","___normalizeListeners_16","___getRequireWildcardCache_16","___classCallCheck_16","___defineProperties_16","___createClass_16","defaultContext","_actions","_context","_win","_doc","phases","onstart","onmove","onend","oninertiastart","off","_defaults","optionName","optionValue","updatePerActionListeners","checker","newValue","_backCompatOption","targetNode","testIgnore","ignoreFrom","testAllow","allowFrom","typeArg","listenerArg","addRemove","_onOff","methodName","setPerAction","setting","___default_16","__arr_17","___interopRequireWildcard_17","__domUtils_17","___extend_17","___interopRequireDefault_17","__is_17","___Signals_17","___getRequireWildcardCache_17","___classCallCheck_17","___defineProperties_17","___createClass_17","InteractableSet","selectorMap","targetMappings","targetIndex","mappingInfo","addDocument","isSelector","found","inContext","ret","_$BaseEvent_13","___classCallCheck_13","___defineProperties_13","___createClass_13","BaseEvent","___default_13","__EventPhase_15","___extend_15","___interopRequireDefault_15","___getOriginXY_15","___hypot_15","_BaseEvent2","___typeof_15","___classCallCheck_15","___defineProperties_15","___createClass_15","_BaseEvent","related","starting","ending","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","t0","x0","y0","clientX0","clientY0","duration","speed","swipe","getSwipe","velocityY","velocityX","overlap","___default_15","___classCallCheck_19","PointerInfo","___default_19","__dom_22","___interopRequireWildcard_22","___getRequireWildcardCache_22","finder","methodOrder","details","simulationResume","allowResume","mouseOrPen","firstNonActive","hasPointerId","hasPointer","idle","_ref10","gesture","_ref11","___default_22","_$drag_1","___scope_1","__arr_1","___interopRequireWildcard_1","__is_1","___getRequireWildcardCache_1","__install_1","beforeMove","draggable","drag","Drag","opposite","setOnEvents","lockAxis","startAxis","_event","dragOptions","getCursor","___default_1","_$DropEvent_2","___BaseEvent2_2","___interopRequireDefault_2","__arr_2","___interopRequireWildcard_2","___getRequireWildcardCache_2","___typeof_2","___toConsumableArray_2","___arrayWithoutHoles_2","___iterableToArray_2","___nonIterableSpread_2","___classCallCheck_2","___defineProperties_2","___createClass_2","___possibleConstructorReturn_2","___assertThisInitialized_2","___getPrototypeOf_2","___inherits_2","___setPrototypeOf_2","DropEvent","dropState","dragEvent","_this2","rejected","enter","activeDrops","deactivateEvent","___default_2","_$drop_3","__utils_3","___interopRequireWildcard_3","_drag","___interopRequireDefault_3","_DropEvent","___getRequireWildcardCache_3","__install_3","interact","getActiveDrops","getDropEvents","activate","fireActivationEvents","onEventCreated","fireDropEvents","dropzoneMethod","dropCheck","draggableElement","dropElement","dropCheckMethod","dynamicDrop","drop","collectDrops","drops","accept","dropElements","querySelectorAll","dropzoneElement","dragElement","activeDrop","getDrop","_ref12","pointerEvent","validDrops","_ref13","_ref14","dropIndex","_pointerEvent","dropEvents","leave","deactivate","dragLeave","prevDropzone","dragEnter","dragmove","_ref15","dropResult","normalized","normalizeListeners","corrected","correctedType","ondrop","ondropactivate","ondropdeactivate","ondragenter","ondragleave","ondropmove","dropped","dropOverlap","getOriginXY","horizontal","vertical","dragRect","cx","cy","overlapArea","overlapRatio","___default_3","_$gesture_4","___InteractEvent_4","___interopRequireDefault_4","___scope_4","__utils_4","___interopRequireWildcard_4","___getRequireWildcardCache_4","__install_4","gesturable","updateGestureProps","distance","scale","startAngle","startDistance","_interactable","box","ds","da","Infinity","___default_4","_$resize_6","___scope_6","__arr_6","___interopRequireWildcard_6","__dom_6","___extend_6","___interopRequireDefault_6","__is_6","___getRequireWildcardCache_6","__install_6","resizeAxes","__move_6","updateEventAxes","resize","cursors","initCursors","defaultMargin","resizable","Resize","square","preserveAspectRatio","margin","invert","resizeOptions","resizeEdges","edge","checkResizeEdge","axes","cursorKey","interactableElement","topleft","bottomright","topright","bottomleft","startRect","linkedEdges","_linkedEdges","resizeStartAspectRatio","resizeRects","current","inverted","previous","deltaRect","swap","invertible","originalEdges","eventDelta","startAspectRatio","___default_6","_$actions_5","__install_5","___drag_5","_drop","_gesture","_resize","___interopRequireDefault_5","_$autoScroll_7","getContainer","getScroll","getScrollSize","getScrollSizeDelta","__domUtils_7","___interopRequireWildcard_7","__is_7","___raf_7","___interopRequireDefault_7","___getRequireWildcardCache_7","__install_7","autoScroll","onInteractionMove","isScrolling","prevTime","scrollBy","prevScroll","curScroll","innerWidth","innerHeight","scrollWidth","scrollHeight","scrollOptions","scrollContainer","prevSize","curSize","___default_7","_$InteractableMethods_8","__is_8","___interopRequireWildcard_8","___getRequireWildcardCache_8","__install_8","getAction","actionChecker","styleCursor","defaultActionChecker","0","1","3","4","mouseButtons","___default_8","_$base_9","__utils_9","___interopRequireWildcard_9","_InteractableMethods","___interopRequireDefault_9","___getRequireWildcardCache_9","__install_9","actionInfo","getActionInfo","prepare","autoStart","manualStart","withinInteractionLimit","setInteractionCursor","setCursor","maxPerElement","maxInteractions","cursorElement","validateAction","testIgnoreAllow","validateMatches","matchElements","matchElement","matchAction","pushMatches","forEachMatch","maxActions","autoStartMax","activeInteractions","interactableCount","elementCount","otherAction","cursor","cursorChecker","___default_9","_$dragAxis_10","___scope_10","__is_10","___interopRequireWildcard_10","_base","___interopRequireDefault_10","___getRequireWildcardCache_10","__install_10","checkStartAxis","thisAxis","absX","abs","absY","targetOptions","currentAxis","getDraggable","___default_10","_$hold_11","___base_11","___interopRequireDefault_11","__install_11","hold","delay","autoStartHoldTimer","getHoldDuration","___default_11","_$autoStart_12","__install_12","___base_12","_dragAxis","_hold","___interopRequireDefault_12","__id_12","_$interactablePreventDefault_21","__install_21","___events_21","___interopRequireDefault_21","__is_21","___interopRequireWildcard_21","___getRequireWildcardCache_21","checkAndPreventDefault","docOptions","getDocOptions","onInteractionEvent","eventSignal","___default_21","_$devTools_25","CheckName","___domObjects_25","___interopRequireDefault_25","___extend_25","__is_25","___interopRequireWildcard_25","___window_25","___getRequireWildcardCache_25","___toConsumableArray_25","___arrayWithoutHoles_25","___iterableToArray_25","___nonIterableSpread_25","links","touchAction","boxSizing","__install_25","logger","checks","_logger","devTools","ignore","perform","text","getInfo","parentHasStyle","hasStyle","moveListeners","styleRe","__id_25","defaultExport","___default_25","_$base_30","startAll","setAll","prepareStates","restoreCoords","makeModifier","___extend_30","___interopRequireDefault_30","___slicedToArray_30","___arrayWithHoles_30","___iterableToArrayLimit_30","___nonIterableRest_30","__install_30","startOffset","offsets","states","startDelta","__start_30","__beforeMove_30","beforeEnd","pageCoords","prevCoords","modifierList","getModifierList","getRectOffset","requireEndOnly","rectDelta","changed","shouldDo","rectChanged","skipModifiers","modifierResult","modifiedCoords","adjustment","noPreEnd","didPreEnd","endResult","modifierArg","actionModifiers","modifier","_methods","_modifierList$index","curCoords","startCoords","_interaction$modifier","curDelta","_arr$_i","coordsSet","_ref7$interaction","_modifiers$result","coordsAndDeltas","_coordsAndDeltas$_i","endOnly","alwaysOnEnd","setStart","___default_30","_$inertia_26","___base_26","___interopRequireWildcard_26","__utils_26","___raf_26","___interopRequireDefault_26","___getRequireWildcardCache_26","__install_26","inertia","active","smoothEnd","upCoords","timeout","release","resume","__stop_26","resistance","minSpeed","endSpeed","smoothEndDuration","Resume","resumeEvent","__getOptions_26","velocityClient","pointerSpeed","inertiaPossible","startEvent","modifierStatus","InertiaStart","vx0","vy0","v0","calcInertia","xe","ye","modifiedXe","modifiedYe","inertiaTick","sx","sy","smothEndTick","lambda","inertiaDur","te","lambda_v0","one_ve_v0","updateInertiaCoords","progress","quadPoint","_getOptions","pageUp","clientUp","___default_26","_$pointer_33","___extend_33","___interopRequireDefault_33","__is_33","___interopRequireWildcard_33","___rect_33","___getRequireWildcardCache_33","__start_33","elementRect","offset","restriction","getRestrictionRect","widthDiff","heightDiff","__defaults_33","restrict","___default_33","_$edges_32","___extend_32","___interopRequireDefault_32","___rect_32","__getRestrictionRect_32","noInner","noOuter","__start_32","offsetRect","__set_32","inner","outer","fixRect","__defaults_32","restrictEdges","___default_32","_$rect_34","___extend_34","___interopRequireDefault_34","___pointer_34","__defaults_34","_","restrictRect","___default_34","_$size_35","___extend_35","___interopRequireDefault_35","___rect_35","_edges","noMin","noMax","__start_35","__set_35","minSize","maxSize","__defaults_35","restrictSize","___default_35","_$pointer_37","__utils_37","___interopRequireWildcard_37","___getRequireWildcardCache_37","__start_37","snapOffset","offsetWithOrigin","getOrigin","relativePoints","relativePoint","__set_37","realX","realY","relativeX","relativeY","_len","snapTarget","range","inRange","optionsOrigin","__defaults_37","snap","___default_37","_$size_38","___extend_38","___interopRequireDefault_38","__is_38","___interopRequireWildcard_38","___pointer_38","___getRequireWildcardCache_38","___slicedToArray_38","___arrayWithHoles_38","___iterableToArrayLimit_38","___nonIterableRest_38","__start_38","targetFields","__set_38","relative","xField","yField","__defaults_38","snapSize","___default_38","_$edges_36","___clone_36","___interopRequireDefault_36","___extend_36","_size","__start_36","__set_36","snapEdges","___default_36","_$modifiers_31","___base_31","___interopRequireDefault_31","___edges_31","___pointer_31","___rect_31","___size_31","_edges2","_pointer2","_size2","__makeModifier_31","__snap_31","__snapSize_31","__snapEdges_31","__restrict_31","__restrictRect_31","__restrictEdges_31","__restrictSize_31","_$PointerEvent_39","___BaseEvent2_39","___interopRequireDefault_39","___pointerUtils_39","___typeof_39","___classCallCheck_39","___defineProperties_39","___createClass_39","___possibleConstructorReturn_39","___assertThisInitialized_39","___getPrototypeOf_39","___inherits_39","___setPrototypeOf_39","interval","tapTime","prevTap","originX","originY","_$base_40","__utils_40","___interopRequireWildcard_40","_PointerEvent","___interopRequireDefault_40","___getRequireWildcardCache_40","simpleSignals","simpleEvents","__defaults_40","holdDuration","pointerEvents","__install_40","collectEventTargets","createSignalListener","_arg$type","_arg$targets","_arg$pointerEvent","eventable","_subtractOrigin","_addOrigin","timer","minDuration","___default_40","_$holdRepeat_41","___base_41","___interopRequireDefault_41","__install_41","onNew","onFired","signal","endHoldRepeat","holdRepeatInterval","count","holdIntervalHandle","clearInterval","___default_41","_$interactableTargets_43","___extend_43","___interopRequireDefault_43","__install_43","pointerEventsMethod","__backCompatOption","___default_43","_$pointerEvents_42","__install_42","___base_42","_holdRepeat","_interactableTargets","___interopRequireDefault_42","__id_42","_$reflow_44","__install_44","Reflow","_reflowResolve","reflow","Promise","promises","runningInteraction","reflowPromise","_reflowPromise","resolve","xywh","startReflow","_ret","then","___default_44","_$interact_28","___scope_28","__utils_28","___interopRequireWildcard_28","___browser_28","___interopRequireDefault_28","___events_28","___getRequireWildcardCache_28","globalEvents","use","isSet","__stop_28","getPointerAverage","getTouchBBox","getTouchDistance","getTouchAngle","___default_28","_$interact_27","__init_27","_autoScroll","_interactablePreventDefault","_inertia","___base_27","_reflow","_interact","___interopRequireWildcard_27","___interopRequireDefault_27","__pointerEvents_27","___getRequireWildcardCache_27","_modifiers$type","___default_27","_$grid_64","___slicedToArray_64","___arrayWithHoles_64","___iterableToArrayLimit_64","___nonIterableRest_64","createGrid","grid","coordFields","_grid$limits","limits","_grid$offset","gridx","round","gridy","___default_64","_$snappers_65","_grid","___interopRequireDefault_65","_$index_29","__init_29","___interact_29","___interopRequireWildcard_29","__modifiers_29","___extend_29","___interopRequireDefault_29","snappers","___getRequireWildcardCache_29","___typeof_29","createSnapGrid","___default_29","_isFinite","isFinite"],"mappings":"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","file":"vue-grid-layout.umd.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"vue\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueGridLayout\"] = factory(require(\"vue\"));\n\telse\n\t\troot[\"VueGridLayout\"] = factory(root[\"Vue\"]);\n})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"fb15\");\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// style-loader: Adds some css to the DOM by adding a \r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridItem.vue?vue&type=script&lang=js&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./GridItem.vue?vue&type=template&id=58da2a1f&\"\nimport script from \"./GridItem.vue?vue&type=script&lang=js&\"\nexport * from \"./GridItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridItem.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"item\",staticClass:\"vue-grid-layout\",style:(_vm.mergedStyle)},[_vm._t(\"default\"),_c('grid-item',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isDragging),expression:\"isDragging\"}],staticClass:\"vue-grid-placeholder\",attrs:{\"x\":_vm.placeholder.x,\"y\":_vm.placeholder.y,\"w\":_vm.placeholder.w,\"h\":_vm.placeholder.h,\"i\":_vm.placeholder.i}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import _Object$defineProperty from \"../../core-js/object/define-property\";\nexport default function _defineProperty(obj, key, value) {\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","// @flow\r\n\r\nimport {cloneLayout, compact, correctBounds} from './utils';\r\n\r\nimport type {Layout} from './utils';\r\nexport type ResponsiveLayout = {lg?: Layout, md?: Layout, sm?: Layout, xs?: Layout, xxs?: Layout};\r\ntype Breakpoint = string;\r\ntype Breakpoints = {lg?: number, md?: number, sm?: number, xs?: number, xxs?: number};\r\n\r\n/**\r\n * Given a width, find the highest breakpoint that matches is valid for it (width > breakpoint).\r\n *\r\n * @param {Object} breakpoints Breakpoints object (e.g. {lg: 1200, md: 960, ...})\r\n * @param {Number} width Screen width.\r\n * @return {String} Highest breakpoint that is less than width.\r\n */\r\nexport function getBreakpointFromWidth(breakpoints: Breakpoints, width: number): Breakpoint {\r\n const sorted = sortBreakpoints(breakpoints);\r\n let matching = sorted[0];\r\n for (let i = 1, len = sorted.length; i < len; i++) {\r\n const breakpointName = sorted[i];\r\n if (width > breakpoints[breakpointName]) matching = breakpointName;\r\n }\r\n return matching;\r\n}\r\n\r\n\r\n/**\r\n * Given a breakpoint, get the # of cols set for it.\r\n * @param {String} breakpoint Breakpoint name.\r\n * @param {Object} cols Map of breakpoints to cols.\r\n * @return {Number} Number of cols.\r\n */\r\nexport function getColsFromBreakpoint(breakpoint: Breakpoint, cols: Breakpoints): number {\r\n if (!cols[breakpoint]) {\r\n throw new Error(\"ResponsiveGridLayout: `cols` entry for breakpoint \" + breakpoint + \" is missing!\");\r\n }\r\n return cols[breakpoint];\r\n}\r\n\r\n/**\r\n * Given existing layouts and a new breakpoint, find or generate a new layout.\r\n *\r\n * This finds the layout above the new one and generates from it, if it exists.\r\n *\r\n * @param {Array} orgLayout Original layout.\r\n * @param {Object} layouts Existing layouts.\r\n * @param {Array} breakpoints All breakpoints.\r\n * @param {String} breakpoint New breakpoint.\r\n * @param {String} breakpoint Last breakpoint (for fallback).\r\n * @param {Number} cols Column count at new breakpoint.\r\n * @param {Boolean} verticalCompact Whether or not to compact the layout\r\n * vertically.\r\n * @return {Array} New layout.\r\n */\r\nexport function findOrGenerateResponsiveLayout(orgLayout: Layout, layouts: ResponsiveLayout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = orgLayout;\r\n\r\n const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\nexport function generateResponsiveLayout(layout: Layout, breakpoints: Breakpoints,\r\n breakpoint: Breakpoint, lastBreakpoint: Breakpoint,\r\n cols: number, verticalCompact: boolean): Layout {\r\n // If it already exists, just return it.\r\n /*if (layouts[breakpoint]) return cloneLayout(layouts[breakpoint]);\r\n // Find or generate the next layout\r\n let layout = layouts[lastBreakpoint];*/\r\n /*const breakpointsSorted = sortBreakpoints(breakpoints);\r\n const breakpointsAbove = breakpointsSorted.slice(breakpointsSorted.indexOf(breakpoint));\r\n for (let i = 0, len = breakpointsAbove.length; i < len; i++) {\r\n const b = breakpointsAbove[i];\r\n if (layouts[b]) {\r\n layout = layouts[b];\r\n break;\r\n }\r\n }*/\r\n layout = cloneLayout(layout || []); // clone layout so we don't modify existing items\r\n return compact(correctBounds(layout, {cols: cols}), verticalCompact);\r\n}\r\n\r\n/**\r\n * Given breakpoints, return an array of breakpoints sorted by width. This is usually\r\n * e.g. ['xxs', 'xs', 'sm', ...]\r\n *\r\n * @param {Object} breakpoints Key/value pair of breakpoint names to widths.\r\n * @return {Array} Sorted breakpoints.\r\n */\r\nexport function sortBreakpoints(breakpoints: Breakpoints): Array {\r\n const keys: Array = Object.keys(breakpoints);\r\n return keys.sort(function(a, b) {\r\n return breakpoints[a] - breakpoints[b];\r\n });\r\n}\r\n","\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GridLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GridLayout.vue?vue&type=template&id=6594d2a5&\"\nimport script from \"./GridLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./GridLayout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GridLayout.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport GridItem from './GridItem.vue';\r\nimport GridLayout from './GridLayout.vue';\r\n// import ResponsiveGridLayout from './ResponsiveGridLayout.vue';\r\n\r\n\r\nconst VueGridLayout = {\r\n // ResponsiveGridLayout,\r\n GridLayout,\r\n GridItem\r\n}\r\n\r\n// module.exports = VueGridLayout;\r\n\r\nObject.keys(VueGridLayout).forEach(name => {\r\n Vue.component(name, VueGridLayout[name]);\r\n});\r\n\r\nexport default VueGridLayout;\r\nexport { GridLayout, GridItem };","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n","/**\n * interact.js 1.6.3\n *\n * Copyright (c) 2012-2019 Taye Adeyemi \n * Released under the MIT License.\n * https://raw.github.com/taye/interact.js/master/LICENSE\n */\n(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.interact = f()}})(function(){var define,module,exports;\nvar createModuleFactory = function createModuleFactory(t){var e;return function(r){return e||t(e={exports:{},parent:r},e.exports),e.exports}};\nvar _$scope_24 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* common-shake removed: exports.createScope = */ void createScope;\n/* common-shake removed: exports.initScope = */ void initScope;\nexports.Scope = exports.ActionName = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\nvar _defaultOptions = _interopRequireDefault(_$defaultOptions_20);\n\nvar _Eventable = _interopRequireDefault(_$Eventable_14);\n\nvar _Interactable = _interopRequireDefault(_$Interactable_16);\n\nvar _InteractableSet = _interopRequireDefault(_$InteractableSet_17);\n\nvar _InteractEvent = _interopRequireDefault(_$InteractEvent_15);\n\nvar _interactions = _interopRequireDefault(_$interactions_23({}));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar win = utils.win,\n browser = utils.browser,\n raf = utils.raf,\n Signals = utils.Signals,\n events = utils.events;\nvar ActionName;\nexports.ActionName = ActionName;\n\n(function (ActionName) {})(ActionName || (exports.ActionName = ActionName = {}));\n\nfunction createScope() {\n return new Scope();\n}\n\nvar Scope =\n/*#__PURE__*/\nfunction () {\n function Scope() {\n var _this = this;\n\n _classCallCheck(this, Scope);\n\n this.id = \"__interact_scope_\".concat(Math.floor(Math.random() * 100));\n this.signals = new Signals();\n this.browser = browser;\n this.events = events;\n this.utils = utils;\n this.defaults = utils.clone(_defaultOptions[\"default\"]);\n this.Eventable = _Eventable[\"default\"];\n this.actions = {\n names: [],\n methodDict: {},\n eventTypes: []\n };\n this.InteractEvent = _InteractEvent[\"default\"];\n this.interactables = new _InteractableSet[\"default\"](this); // all documents being listened to\n\n this.documents = [];\n this._plugins = [];\n this._pluginMap = {};\n\n this.onWindowUnload = function (event) {\n return _this.removeDocument(event.target);\n };\n\n var scope = this;\n\n this.Interactable =\n /*#__PURE__*/\n function (_InteractableBase) {\n _inherits(Interactable, _InteractableBase);\n\n function Interactable() {\n _classCallCheck(this, Interactable);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interactable).apply(this, arguments));\n }\n\n _createClass(Interactable, [{\n key: \"set\",\n value: function set(options) {\n _get(_getPrototypeOf(Interactable.prototype), \"set\", this).call(this, options);\n\n scope.interactables.signals.fire('set', {\n options: options,\n interactable: this\n });\n return this;\n }\n }, {\n key: \"unset\",\n value: function unset() {\n _get(_getPrototypeOf(Interactable.prototype), \"unset\", this).call(this);\n\n for (var i = scope.interactions.list.length - 1; i >= 0; i--) {\n var interaction = scope.interactions.list[i];\n\n if (interaction.interactable === this) {\n interaction.stop();\n scope.interactions.signals.fire('destroy', {\n interaction: interaction\n });\n interaction.destroy();\n\n if (scope.interactions.list.length > 2) {\n scope.interactions.list.splice(i, 1);\n }\n }\n }\n\n scope.interactables.signals.fire('unset', {\n interactable: this\n });\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return scope.defaults;\n }\n }]);\n\n return Interactable;\n }(_Interactable[\"default\"]);\n }\n\n _createClass(Scope, [{\n key: \"init\",\n value: function init(window) {\n return initScope(this, window);\n }\n }, {\n key: \"pluginIsInstalled\",\n value: function pluginIsInstalled(plugin) {\n return this._pluginMap[plugin.id] || this._plugins.indexOf(plugin) !== -1;\n }\n }, {\n key: \"usePlugin\",\n value: function usePlugin(plugin, options) {\n if (this.pluginIsInstalled(plugin)) {\n return this;\n }\n\n if (plugin.id) {\n this._pluginMap[plugin.id] = plugin;\n }\n\n plugin.install(this, options);\n\n this._plugins.push(plugin);\n\n return this;\n }\n }, {\n key: \"addDocument\",\n value: function addDocument(doc, options) {\n // do nothing if document is already known\n if (this.getDocIndex(doc) !== -1) {\n return false;\n }\n\n var window = win.getWindow(doc);\n options = options ? utils.extend({}, options) : {};\n this.documents.push({\n doc: doc,\n options: options\n });\n events.documents.push(doc); // don't add an unload event for the main document\n // so that the page may be cached in browser history\n\n if (doc !== this.document) {\n events.add(window, 'unload', this.onWindowUnload);\n }\n\n this.signals.fire('add-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"removeDocument\",\n value: function removeDocument(doc) {\n var index = this.getDocIndex(doc);\n var window = win.getWindow(doc);\n var options = this.documents[index].options;\n events.remove(window, 'unload', this.onWindowUnload);\n this.documents.splice(index, 1);\n events.documents.splice(index, 1);\n this.signals.fire('remove-document', {\n doc: doc,\n window: window,\n scope: this,\n options: options\n });\n }\n }, {\n key: \"getDocIndex\",\n value: function getDocIndex(doc) {\n for (var i = 0; i < this.documents.length; i++) {\n if (this.documents[i].doc === doc) {\n return i;\n }\n }\n\n return -1;\n }\n }, {\n key: \"getDocOptions\",\n value: function getDocOptions(doc) {\n var docIndex = this.getDocIndex(doc);\n return docIndex === -1 ? null : this.documents[docIndex].options;\n }\n }, {\n key: \"now\",\n value: function now() {\n return (this.window.Date || Date).now();\n }\n }]);\n\n return Scope;\n}();\n\nexports.Scope = Scope;\n\nfunction initScope(scope, window) {\n win.init(window);\n\n _domObjects[\"default\"].init(window);\n\n browser.init(window);\n raf.init(window);\n events.init(window);\n scope.usePlugin(_interactions[\"default\"]);\n scope.document = window.document;\n scope.window = window;\n return scope;\n}\n\n});\nvar _$interactions_23 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _browser = _interopRequireDefault(_$browser_48);\n\nvar _domObjects = _interopRequireDefault(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar _events = _interopRequireDefault(_$events_52);\n\nvar _pointerUtils = _interopRequireDefault(_$pointerUtils_61);\n\nvar _Signals = _interopRequireDefault(_$Signals_46);\n\nvar _Interaction = _interopRequireDefault(_$Interaction_18({}));\n\nvar _interactionFinder = _interopRequireDefault(_$interactionFinder_22);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];\n\nfunction install(scope) {\n var signals = new _Signals[\"default\"]();\n var listeners = {};\n\n for (var _i = 0; _i < methodNames.length; _i++) {\n var _ref;\n\n _ref = methodNames[_i];\n var method = _ref;\n listeners[method] = doOnInteractions(method, scope);\n }\n\n var pEventTypes = _browser[\"default\"].pEventTypes;\n var docEvents;\n\n if (_domObjects[\"default\"].PointerEvent) {\n docEvents = [{\n type: pEventTypes.down,\n listener: releasePointersOnRemovedEls\n }, {\n type: pEventTypes.down,\n listener: listeners.pointerDown\n }, {\n type: pEventTypes.move,\n listener: listeners.pointerMove\n }, {\n type: pEventTypes.up,\n listener: listeners.pointerUp\n }, {\n type: pEventTypes.cancel,\n listener: listeners.pointerUp\n }];\n } else {\n docEvents = [{\n type: 'mousedown',\n listener: listeners.pointerDown\n }, {\n type: 'mousemove',\n listener: listeners.pointerMove\n }, {\n type: 'mouseup',\n listener: listeners.pointerUp\n }, {\n type: 'touchstart',\n listener: releasePointersOnRemovedEls\n }, {\n type: 'touchstart',\n listener: listeners.pointerDown\n }, {\n type: 'touchmove',\n listener: listeners.pointerMove\n }, {\n type: 'touchend',\n listener: listeners.pointerUp\n }, {\n type: 'touchcancel',\n listener: listeners.pointerUp\n }];\n }\n\n docEvents.push({\n type: 'blur',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n interaction.documentBlur(event);\n }\n }\n });\n scope.signals.on('add-document', onDocSignal);\n scope.signals.on('remove-document', onDocSignal); // for ignoring browser's simulated mouse events\n\n scope.prevTouchTime = 0;\n\n scope.Interaction =\n /*#__PURE__*/\n function (_InteractionBase) {\n _inherits(Interaction, _InteractionBase);\n\n function Interaction() {\n _classCallCheck(this, Interaction);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Interaction).apply(this, arguments));\n }\n\n _createClass(Interaction, [{\n key: \"_now\",\n value: function _now() {\n return scope.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return scope.interactions.pointerMoveTolerance;\n },\n set: function set(value) {\n scope.interactions.pointerMoveTolerance = value;\n }\n }]);\n\n return Interaction;\n }(_Interaction[\"default\"]);\n\n scope.interactions = {\n signals: signals,\n // all active and idle interactions\n list: [],\n \"new\": function _new(options) {\n options.signals = signals;\n var interaction = new scope.Interaction(options);\n scope.interactions.list.push(interaction);\n return interaction;\n },\n listeners: listeners,\n docEvents: docEvents,\n pointerMoveTolerance: 1\n };\n\n function releasePointersOnRemovedEls() {\n // for all inactive touch interactions with pointers down\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n\n if (!interaction.pointerIsDown || interaction.pointerType !== 'touch' || interaction._interacting) {\n continue;\n } // if a pointer is down on an element that is no longer in the DOM tree\n\n\n var _loop = function _loop() {\n _ref4 = interaction.pointers[_i4];\n var pointer = _ref4;\n\n if (!scope.documents.some(function (_ref5) {\n var doc = _ref5.doc;\n return (0, _$domUtils_51.nodeContains)(doc, pointer.downTarget);\n })) {\n // remove the pointer from the interaction\n interaction.removePointer(pointer.pointer, pointer.event);\n }\n };\n\n for (var _i4 = 0; _i4 < interaction.pointers.length; _i4++) {\n var _ref4;\n\n _loop();\n }\n }\n }\n}\n\nfunction doOnInteractions(method, scope) {\n return function (event) {\n var interactions = scope.interactions.list;\n\n var pointerType = _pointerUtils[\"default\"].getPointerType(event);\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 2),\n eventTarget = _pointerUtils$getEven2[0],\n curEventTarget = _pointerUtils$getEven2[1];\n\n var matches = []; // [ [pointer, interaction], ...]\n\n if (/^touch/.test(event.type)) {\n scope.prevTouchTime = scope.now();\n\n for (var _i5 = 0; _i5 < event.changedTouches.length; _i5++) {\n var _ref6;\n\n _ref6 = event.changedTouches[_i5];\n var changedTouch = _ref6;\n var pointer = changedTouch;\n\n var pointerId = _pointerUtils[\"default\"].getPointerId(pointer);\n\n var searchDetails = {\n pointer: pointer,\n pointerId: pointerId,\n pointerType: pointerType,\n eventType: event.type,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n scope: scope\n };\n var interaction = getInteraction(searchDetails);\n matches.push([searchDetails.pointer, searchDetails.eventTarget, searchDetails.curEventTarget, interaction]);\n }\n } else {\n var invalidPointer = false;\n\n if (!_browser[\"default\"].supportsPointerEvent && /mouse/.test(event.type)) {\n // ignore mouse events while touch interactions are active\n for (var i = 0; i < interactions.length && !invalidPointer; i++) {\n invalidPointer = interactions[i].pointerType !== 'mouse' && interactions[i].pointerIsDown;\n } // try to ignore mouse events that are simulated by the browser\n // after a touch event\n\n\n invalidPointer = invalidPointer || scope.now() - scope.prevTouchTime < 500 || // on iOS and Firefox Mobile, MouseEvent.timeStamp is zero if simulated\n event.timeStamp === 0;\n }\n\n if (!invalidPointer) {\n var _searchDetails = {\n pointer: event,\n pointerId: _pointerUtils[\"default\"].getPointerId(event),\n pointerType: pointerType,\n eventType: event.type,\n curEventTarget: curEventTarget,\n eventTarget: eventTarget,\n scope: scope\n };\n\n var _interaction = getInteraction(_searchDetails);\n\n matches.push([_searchDetails.pointer, _searchDetails.eventTarget, _searchDetails.curEventTarget, _interaction]);\n }\n } // eslint-disable-next-line no-shadow\n\n\n for (var _i6 = 0; _i6 < matches.length; _i6++) {\n var _matches$_i = _slicedToArray(matches[_i6], 4),\n _pointer = _matches$_i[0],\n _eventTarget = _matches$_i[1],\n _curEventTarget = _matches$_i[2],\n _interaction2 = _matches$_i[3];\n\n _interaction2[method](_pointer, event, _eventTarget, _curEventTarget);\n }\n };\n}\n\nfunction getInteraction(searchDetails) {\n var pointerType = searchDetails.pointerType,\n scope = searchDetails.scope;\n\n var foundInteraction = _interactionFinder[\"default\"].search(searchDetails);\n\n var signalArg = {\n interaction: foundInteraction,\n searchDetails: searchDetails\n };\n scope.interactions.signals.fire('find', signalArg);\n return signalArg.interaction || scope.interactions[\"new\"]({\n pointerType: pointerType\n });\n}\n\nfunction onDocSignal(_ref7, signalName) {\n var doc = _ref7.doc,\n scope = _ref7.scope,\n options = _ref7.options;\n var docEvents = scope.interactions.docEvents;\n var eventMethod = signalName.indexOf('add') === 0 ? _events[\"default\"].add : _events[\"default\"].remove;\n\n if (scope.browser.isIOS && !options.events) {\n options.events = {\n passive: false\n };\n } // delegate event listener\n\n\n for (var eventType in _events[\"default\"].delegatedEvents) {\n eventMethod(doc, eventType, _events[\"default\"].delegateListener);\n eventMethod(doc, eventType, _events[\"default\"].delegateUseCapture, true);\n }\n\n var eventOptions = options && options.events;\n\n for (var _i7 = 0; _i7 < docEvents.length; _i7++) {\n var _ref8;\n\n _ref8 = docEvents[_i7];\n var _ref9 = _ref8,\n type = _ref9.type,\n listener = _ref9.listener;\n eventMethod(doc, type, listener, eventOptions);\n }\n}\n\nvar _default = {\n id: 'core/interactions',\n install: install,\n onDocSignal: onDocSignal,\n doOnInteractions: doOnInteractions,\n methodNames: methodNames\n};\nexports[\"default\"] = _default;\n\n});\nvar _$Interaction_18 = createModuleFactory(function (module, exports) {\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"PointerInfo\", {\n enumerable: true,\n get: function get() {\n return _PointerInfo[\"default\"];\n }\n});\nexports[\"default\"] = exports.Interaction = exports._ProxyMethods = exports._ProxyValues = void 0;\n\nvar utils = _interopRequireWildcard(_$utils_56);\n\nvar _InteractEvent = _interopRequireWildcard(_$InteractEvent_15);\n\nvar _PointerInfo = _interopRequireDefault(_$PointerInfo_19);\n\nvar _scope = _$scope_24({});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _ProxyValues;\n\nexports._ProxyValues = _ProxyValues;\n\n(function (_ProxyValues) {\n _ProxyValues[\"interactable\"] = \"\";\n _ProxyValues[\"element\"] = \"\";\n _ProxyValues[\"prepared\"] = \"\";\n _ProxyValues[\"pointerIsDown\"] = \"\";\n _ProxyValues[\"pointerWasMoved\"] = \"\";\n _ProxyValues[\"_proxy\"] = \"\";\n})(_ProxyValues || (exports._ProxyValues = _ProxyValues = {}));\n\nvar _ProxyMethods;\n\nexports._ProxyMethods = _ProxyMethods;\n\n(function (_ProxyMethods) {\n _ProxyMethods[\"start\"] = \"\";\n _ProxyMethods[\"move\"] = \"\";\n _ProxyMethods[\"end\"] = \"\";\n _ProxyMethods[\"stop\"] = \"\";\n _ProxyMethods[\"interacting\"] = \"\";\n})(_ProxyMethods || (exports._ProxyMethods = _ProxyMethods = {}));\n\nvar Interaction =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interaction(_ref) {\n var _this = this;\n\n var pointerType = _ref.pointerType,\n signals = _ref.signals;\n\n _classCallCheck(this, Interaction);\n\n // current interactable being interacted with\n this.interactable = null; // the target element of the interactable\n\n this.element = null; // action that's ready to be fired on next move event\n\n this.prepared = {\n name: null,\n axis: null,\n edges: null\n }; // keep track of added pointers\n\n this.pointers = []; // pointerdown/mousedown/touchstart event\n\n this.downEvent = null;\n this.downPointer = {};\n this._latestPointer = {\n pointer: null,\n event: null,\n eventTarget: null\n }; // previous action event\n\n this.prevEvent = null;\n this.pointerIsDown = false;\n this.pointerWasMoved = false;\n this._interacting = false;\n this._ending = false;\n this._stopped = true;\n this._proxy = null;\n this.simulation = null;\n /**\n * @alias Interaction.prototype.move\n */\n\n this.doMove = utils.warnOnce(function (signalArg) {\n this.move(signalArg);\n }, 'The interaction.doMove() method has been renamed to interaction.move()');\n this.coords = {\n // Starting InteractEvent pointer coordinates\n start: utils.pointer.newCoords(),\n // Previous native pointer move event coordinates\n prev: utils.pointer.newCoords(),\n // current native pointer move event coordinates\n cur: utils.pointer.newCoords(),\n // Change in coordinates and time of the pointer\n delta: utils.pointer.newCoords(),\n // pointer velocity\n velocity: utils.pointer.newCoords()\n };\n this._signals = signals;\n this.pointerType = pointerType;\n var that = this;\n this._proxy = {};\n\n var _loop = function _loop(key) {\n Object.defineProperty(_this._proxy, key, {\n get: function get() {\n return that[key];\n }\n });\n };\n\n for (var key in _ProxyValues) {\n _loop(key);\n }\n\n var _loop2 = function _loop2(_key) {\n Object.defineProperty(_this._proxy, _key, {\n value: function value() {\n return that[_key].apply(that, arguments);\n }\n });\n };\n\n for (var _key in _ProxyMethods) {\n _loop2(_key);\n }\n\n this._signals.fire('new', {\n interaction: this\n });\n }\n\n _createClass(Interaction, [{\n key: \"pointerDown\",\n value: function pointerDown(pointer, event, eventTarget) {\n var pointerIndex = this.updatePointer(pointer, event, eventTarget, true);\n\n this._signals.fire('down', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n pointerIndex: pointerIndex,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable({\n * // disable the default drag start by down->move\n * manualStart: true\n * })\n * // start dragging after the user holds the pointer down\n * .on('hold', function (event) {\n * var interaction = event.interaction\n *\n * if (!interaction.interacting()) {\n * interaction.start({ name: 'drag' },\n * event.interactable,\n * event.currentTarget)\n * }\n * })\n * ```\n *\n * Start an action with the given Interactable and Element as tartgets. The\n * action must be enabled for the target Interactable and an appropriate\n * number of pointers must be held down - 1 for drag/resize, 2 for gesture.\n *\n * Use it with `interactable.able({ manualStart: false })` to always\n * [start actions manually](https://github.com/taye/interact.js/issues/114)\n *\n * @param {object} action The action to be performed - drag, resize, etc.\n * @param {Interactable} target The Interactable to target\n * @param {Element} element The DOM Element to target\n * @return {object} interact\n */\n\n }, {\n key: \"start\",\n value: function start(action, interactable, element) {\n if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === _scope.ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {\n return false;\n }\n\n utils.copyAction(this.prepared, action);\n this.interactable = interactable;\n this.element = element;\n this.rect = interactable.getRect(element);\n this.edges = this.prepared.edges;\n this._stopped = false;\n this._interacting = this._doPhase({\n interaction: this,\n event: this.downEvent,\n phase: _InteractEvent.EventPhase.Start\n }) && !this._stopped;\n return this._interacting;\n }\n }, {\n key: \"pointerMove\",\n value: function pointerMove(pointer, event, eventTarget) {\n if (!this.simulation && !(this.modifiers && this.modifiers.endPrevented)) {\n this.updatePointer(pointer, event, eventTarget, false);\n utils.pointer.setCoords(this.coords.cur, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n }\n\n var duplicateMove = this.coords.cur.page.x === this.coords.prev.page.x && this.coords.cur.page.y === this.coords.prev.page.y && this.coords.cur.client.x === this.coords.prev.client.x && this.coords.cur.client.y === this.coords.prev.client.y;\n var dx;\n var dy; // register movement greater than pointerMoveTolerance\n\n if (this.pointerIsDown && !this.pointerWasMoved) {\n dx = this.coords.cur.client.x - this.coords.start.client.x;\n dy = this.coords.cur.client.y - this.coords.start.client.y;\n this.pointerWasMoved = utils.hypot(dx, dy) > this.pointerMoveTolerance;\n }\n\n var signalArg = {\n pointer: pointer,\n pointerIndex: this.getPointerIndex(pointer),\n event: event,\n eventTarget: eventTarget,\n dx: dx,\n dy: dy,\n duplicate: duplicateMove,\n interaction: this\n };\n\n if (!duplicateMove) {\n // set pointer coordinate, time changes and velocity\n utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);\n utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);\n }\n\n this._signals.fire('move', signalArg);\n\n if (!duplicateMove) {\n // if interacting, fire an 'action-move' signal etc\n if (this.interacting()) {\n this.move(signalArg);\n }\n\n if (this.pointerWasMoved) {\n utils.pointer.copyCoords(this.coords.prev, this.coords.cur);\n }\n }\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('dragmove', function (event) {\n * if (someCondition) {\n * // change the snap settings\n * event.interactable.draggable({ snap: { targets: [] }})\n * // fire another move event with re-calculated snap\n * event.interaction.move()\n * }\n * })\n * ```\n *\n * Force a move of the current action at the same coordinates. Useful if\n * snap/restrict has been changed and you want a movement with the new\n * settings.\n */\n\n }, {\n key: \"move\",\n value: function move(signalArg) {\n signalArg = utils.extend({\n pointer: this._latestPointer.pointer,\n event: this._latestPointer.event,\n eventTarget: this._latestPointer.eventTarget,\n interaction: this\n }, signalArg || {});\n signalArg.phase = _InteractEvent.EventPhase.Move;\n\n this._doPhase(signalArg);\n } // End interact move events and stop auto-scroll unless simulation is running\n\n }, {\n key: \"pointerUp\",\n value: function pointerUp(pointer, event, eventTarget, curEventTarget) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n pointerIndex = this.updatePointer(pointer, event, eventTarget, false);\n }\n\n this._signals.fire(/cancel$/i.test(event.type) ? 'cancel' : 'up', {\n pointer: pointer,\n pointerIndex: pointerIndex,\n event: event,\n eventTarget: eventTarget,\n curEventTarget: curEventTarget,\n interaction: this\n });\n\n if (!this.simulation) {\n this.end(event);\n }\n\n this.pointerIsDown = false;\n this.removePointer(pointer, event);\n }\n }, {\n key: \"documentBlur\",\n value: function documentBlur(event) {\n this.end(event);\n\n this._signals.fire('blur', {\n event: event,\n interaction: this\n });\n }\n /**\n * ```js\n * interact(target)\n * .draggable(true)\n * .on('move', function (event) {\n * if (event.pageX > 1000) {\n * // end the current action\n * event.interaction.end()\n * // stop all further listeners from being called\n * event.stopImmediatePropagation()\n * }\n * })\n * ```\n *\n * @param {PointerEvent} [event]\n */\n\n }, {\n key: \"end\",\n value: function end(event) {\n this._ending = true;\n event = event || this._latestPointer.event;\n var endPhaseResult;\n\n if (this.interacting()) {\n endPhaseResult = this._doPhase({\n event: event,\n interaction: this,\n phase: _InteractEvent.EventPhase.End\n });\n }\n\n this._ending = false;\n\n if (endPhaseResult === true) {\n this.stop();\n }\n }\n }, {\n key: \"currentAction\",\n value: function currentAction() {\n return this._interacting ? this.prepared.name : null;\n }\n }, {\n key: \"interacting\",\n value: function interacting() {\n return this._interacting;\n }\n /** */\n\n }, {\n key: \"stop\",\n value: function stop() {\n this._signals.fire('stop', {\n interaction: this\n });\n\n this.interactable = this.element = null;\n this._interacting = false;\n this._stopped = true;\n this.prepared.name = this.prevEvent = null;\n }\n }, {\n key: \"getPointerIndex\",\n value: function getPointerIndex(pointer) {\n var pointerId = utils.pointer.getPointerId(pointer); // mouse and pen interactions may have only one pointer\n\n return this.pointerType === 'mouse' || this.pointerType === 'pen' ? this.pointers.length - 1 : utils.arr.findIndex(this.pointers, function (curPointer) {\n return curPointer.id === pointerId;\n });\n }\n }, {\n key: \"getPointerInfo\",\n value: function getPointerInfo(pointer) {\n return this.pointers[this.getPointerIndex(pointer)];\n }\n }, {\n key: \"updatePointer\",\n value: function updatePointer(pointer, event, eventTarget, down) {\n var id = utils.pointer.getPointerId(pointer);\n var pointerIndex = this.getPointerIndex(pointer);\n var pointerInfo = this.pointers[pointerIndex];\n down = down === false ? false : down || /(down|start)$/i.test(event.type);\n\n if (!pointerInfo) {\n pointerInfo = new _PointerInfo[\"default\"](id, pointer, event, null, null);\n pointerIndex = this.pointers.length;\n this.pointers.push(pointerInfo);\n } else {\n pointerInfo.pointer = pointer;\n }\n\n if (down) {\n this.pointerIsDown = true;\n\n if (!this.interacting()) {\n utils.pointer.setCoords(this.coords.start, this.pointers.map(function (p) {\n return p.pointer;\n }), this._now());\n utils.pointer.copyCoords(this.coords.cur, this.coords.start);\n utils.pointer.copyCoords(this.coords.prev, this.coords.start);\n utils.pointer.pointerExtend(this.downPointer, pointer);\n this.downEvent = event;\n pointerInfo.downTime = this.coords.cur.timeStamp;\n pointerInfo.downTarget = eventTarget;\n this.pointerWasMoved = false;\n }\n }\n\n this._updateLatestPointer(pointer, event, eventTarget);\n\n this._signals.fire('update-pointer', {\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n down: down,\n pointerInfo: pointerInfo,\n pointerIndex: pointerIndex,\n interaction: this\n });\n\n return pointerIndex;\n }\n }, {\n key: \"removePointer\",\n value: function removePointer(pointer, event) {\n var pointerIndex = this.getPointerIndex(pointer);\n\n if (pointerIndex === -1) {\n return;\n }\n\n var pointerInfo = this.pointers[pointerIndex];\n\n this._signals.fire('remove-pointer', {\n pointer: pointer,\n event: event,\n pointerIndex: pointerIndex,\n pointerInfo: pointerInfo,\n interaction: this\n });\n\n this.pointers.splice(pointerIndex, 1);\n }\n }, {\n key: \"_updateLatestPointer\",\n value: function _updateLatestPointer(pointer, event, eventTarget) {\n this._latestPointer.pointer = pointer;\n this._latestPointer.event = event;\n this._latestPointer.eventTarget = eventTarget;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._latestPointer.pointer = null;\n this._latestPointer.event = null;\n this._latestPointer.eventTarget = null;\n }\n }, {\n key: \"_createPreparedEvent\",\n value: function _createPreparedEvent(event, phase, preEnd, type) {\n var actionName = this.prepared.name;\n return new _InteractEvent[\"default\"](this, event, actionName, phase, this.element, null, preEnd, type);\n }\n }, {\n key: \"_fireEvent\",\n value: function _fireEvent(iEvent) {\n this.interactable.fire(iEvent);\n\n if (!this.prevEvent || iEvent.timeStamp >= this.prevEvent.timeStamp) {\n this.prevEvent = iEvent;\n }\n }\n }, {\n key: \"_doPhase\",\n value: function _doPhase(signalArg) {\n var event = signalArg.event,\n phase = signalArg.phase,\n preEnd = signalArg.preEnd,\n type = signalArg.type;\n\n var beforeResult = this._signals.fire(\"before-action-\".concat(phase), signalArg);\n\n if (beforeResult === false) {\n return false;\n }\n\n var iEvent = signalArg.iEvent = this._createPreparedEvent(event, phase, preEnd, type);\n\n var rect = this.rect;\n\n if (rect) {\n // update the rect modifications\n var edges = this.edges || this.prepared.edges || {\n left: true,\n right: true,\n top: true,\n bottom: true\n };\n\n if (edges.top) {\n rect.top += iEvent.delta.y;\n }\n\n if (edges.bottom) {\n rect.bottom += iEvent.delta.y;\n }\n\n if (edges.left) {\n rect.left += iEvent.delta.x;\n }\n\n if (edges.right) {\n rect.right += iEvent.delta.x;\n }\n\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n }\n\n this._signals.fire(\"action-\".concat(phase), signalArg);\n\n this._fireEvent(iEvent);\n\n this._signals.fire(\"after-action-\".concat(phase), signalArg);\n\n return true;\n }\n }, {\n key: \"_now\",\n value: function _now() {\n return Date.now();\n }\n }, {\n key: \"pointerMoveTolerance\",\n get: function get() {\n return 1;\n }\n }]);\n\n return Interaction;\n}();\n\nexports.Interaction = Interaction;\nvar _default = Interaction;\nexports[\"default\"] = _default;\n\n});\nvar _$arr_47 = {};\n\"use strict\";\n\nObject.defineProperty(_$arr_47, \"__esModule\", {\n value: true\n});\n_$arr_47.contains = contains;\n_$arr_47.remove = remove;\n_$arr_47.merge = merge;\n_$arr_47.from = from;\n_$arr_47.findIndex = findIndex;\n_$arr_47.find = find;\n\nfunction contains(array, target) {\n return array.indexOf(target) !== -1;\n}\n\nfunction remove(array, target) {\n return array.splice(array.indexOf(target), 1);\n}\n\nfunction merge(target, source) {\n for (var _i = 0; _i < source.length; _i++) {\n var _ref;\n\n _ref = source[_i];\n var item = _ref;\n target.push(item);\n }\n\n return target;\n}\n\nfunction from(source) {\n return merge([], source);\n}\n\nfunction findIndex(array, func) {\n for (var i = 0; i < array.length; i++) {\n if (func(array[i], i, array)) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction find(array, func) {\n return array[findIndex(array, func)];\n}\n\nvar _$domObjects_50 = {};\n\"use strict\";\n\nObject.defineProperty(_$domObjects_50, \"__esModule\", {\n value: true\n});\n_$domObjects_50[\"default\"] = void 0;\nvar domObjects = {\n init: init,\n document: null,\n DocumentFragment: null,\n SVGElement: null,\n SVGSVGElement: null,\n // eslint-disable-next-line no-undef\n SVGElementInstance: null,\n Element: null,\n HTMLElement: null,\n Event: null,\n Touch: null,\n PointerEvent: null\n};\n\nfunction blank() {}\n\nvar _default = domObjects;\n_$domObjects_50[\"default\"] = _default;\n\nfunction init(window) {\n var win = window;\n domObjects.document = win.document;\n domObjects.DocumentFragment = win.DocumentFragment || blank;\n domObjects.SVGElement = win.SVGElement || blank;\n domObjects.SVGSVGElement = win.SVGSVGElement || blank;\n domObjects.SVGElementInstance = win.SVGElementInstance || blank;\n domObjects.Element = win.Element || blank;\n domObjects.HTMLElement = win.HTMLElement || domObjects.Element;\n domObjects.Event = win.Event;\n domObjects.Touch = win.Touch || blank;\n domObjects.PointerEvent = win.PointerEvent || win.MSPointerEvent;\n}\n\nvar _$isWindow_58 = {};\n\"use strict\";\n\nObject.defineProperty(_$isWindow_58, \"__esModule\", {\n value: true\n});\n_$isWindow_58[\"default\"] = void 0;\n\nvar ___default_58 = function _default(thing) {\n return !!(thing && thing.Window) && thing instanceof thing.Window;\n};\n\n_$isWindow_58[\"default\"] = ___default_58;\n\nvar _$window_66 = {};\n\"use strict\";\n\nObject.defineProperty(_$window_66, \"__esModule\", {\n value: true\n});\n_$window_66.init = __init_66;\n_$window_66.getWindow = getWindow;\n_$window_66[\"default\"] = void 0;\n\nvar _isWindow = _interopRequireDefault(_$isWindow_58);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar win = {\n realWindow: undefined,\n window: undefined,\n getWindow: getWindow,\n init: __init_66\n};\n\nfunction __init_66(window) {\n // get wrapped window if using Shadow DOM polyfill\n win.realWindow = window; // create a TextNode\n\n var el = window.document.createTextNode(''); // check if it's wrapped by a polyfill\n\n if (el.ownerDocument !== window.document && typeof window.wrap === 'function' && window.wrap(el) === el) {\n // use wrapped window\n window = window.wrap(window);\n }\n\n win.window = window;\n}\n\nif (typeof window === 'undefined') {\n win.window = undefined;\n win.realWindow = undefined;\n} else {\n __init_66(window);\n}\n\nfunction getWindow(node) {\n if ((0, _isWindow[\"default\"])(node)) {\n return node;\n }\n\n var rootNode = node.ownerDocument || node;\n return rootNode.defaultView || win.window;\n}\n\nwin.init = __init_66;\nvar ___default_66 = win;\n_$window_66[\"default\"] = ___default_66;\n\nvar _$is_57 = {};\n\"use strict\";\n\nObject.defineProperty(_$is_57, \"__esModule\", {\n value: true\n});\n_$is_57.array = _$is_57.plainObject = _$is_57.element = _$is_57.string = _$is_57.bool = _$is_57.number = _$is_57.func = _$is_57.object = _$is_57.docFrag = _$is_57.window = void 0;\n\nvar ___isWindow_57 = ___interopRequireDefault_57(_$isWindow_58);\n\nvar _window2 = ___interopRequireDefault_57(_$window_66);\n\nfunction ___interopRequireDefault_57(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar __window_57 = function window(thing) {\n return thing === _window2[\"default\"].window || (0, ___isWindow_57[\"default\"])(thing);\n};\n\n_$is_57.window = __window_57;\n\nvar docFrag = function docFrag(thing) {\n return object(thing) && thing.nodeType === 11;\n};\n\n_$is_57.docFrag = docFrag;\n\nvar object = function object(thing) {\n return !!thing && _typeof(thing) === 'object';\n};\n\n_$is_57.object = object;\n\nvar func = function func(thing) {\n return typeof thing === 'function';\n};\n\n_$is_57.func = func;\n\nvar number = function number(thing) {\n return typeof thing === 'number';\n};\n\n_$is_57.number = number;\n\nvar bool = function bool(thing) {\n return typeof thing === 'boolean';\n};\n\n_$is_57.bool = bool;\n\nvar string = function string(thing) {\n return typeof thing === 'string';\n};\n\n_$is_57.string = string;\n\nvar element = function element(thing) {\n if (!thing || _typeof(thing) !== 'object') {\n return false;\n }\n\n var _window = _window2[\"default\"].getWindow(thing) || _window2[\"default\"].window;\n\n return /object|function/.test(_typeof(_window.Element)) ? thing instanceof _window.Element // DOM2\n : thing.nodeType === 1 && typeof thing.nodeName === 'string';\n};\n\n_$is_57.element = element;\n\nvar plainObject = function plainObject(thing) {\n return object(thing) && !!thing.constructor && /function Object\\b/.test(thing.constructor.toString());\n};\n\n_$is_57.plainObject = plainObject;\n\nvar array = function array(thing) {\n return object(thing) && typeof thing.length !== 'undefined' && func(thing.splice);\n};\n\n_$is_57.array = array;\n\nvar _$browser_48 = {};\n\"use strict\";\n\nObject.defineProperty(_$browser_48, \"__esModule\", {\n value: true\n});\n_$browser_48[\"default\"] = void 0;\n\nvar _domObjects = ___interopRequireDefault_48(_$domObjects_50);\n\nvar is = _interopRequireWildcard(_$is_57);\n\nvar _window = ___interopRequireDefault_48(_$window_66);\n\nfunction _getRequireWildcardCache() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_48(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar browser = {\n init: __init_48,\n supportsTouch: null,\n supportsPointerEvent: null,\n isIOS7: null,\n isIOS: null,\n isIe9: null,\n isOperaMobile: null,\n prefixedMatchesSelector: null,\n pEventTypes: null,\n wheelEvent: null\n};\n\nfunction __init_48(window) {\n var Element = _domObjects[\"default\"].Element;\n var navigator = _window[\"default\"].window.navigator; // Does the browser support touch input?\n\n browser.supportsTouch = 'ontouchstart' in window || is.func(window.DocumentTouch) && _domObjects[\"default\"].document instanceof window.DocumentTouch; // Does the browser support PointerEvents\n\n browser.supportsPointerEvent = navigator.pointerEnabled !== false && !!_domObjects[\"default\"].PointerEvent;\n browser.isIOS = /iP(hone|od|ad)/.test(navigator.platform); // scrolling doesn't change the result of getClientRects on iOS 7\n\n browser.isIOS7 = /iP(hone|od|ad)/.test(navigator.platform) && /OS 7[^\\d]/.test(navigator.appVersion);\n browser.isIe9 = /MSIE 9/.test(navigator.userAgent); // Opera Mobile must be handled differently\n\n browser.isOperaMobile = navigator.appName === 'Opera' && browser.supportsTouch && /Presto/.test(navigator.userAgent); // prefix matchesSelector\n\n browser.prefixedMatchesSelector = 'matches' in Element.prototype ? 'matches' : 'webkitMatchesSelector' in Element.prototype ? 'webkitMatchesSelector' : 'mozMatchesSelector' in Element.prototype ? 'mozMatchesSelector' : 'oMatchesSelector' in Element.prototype ? 'oMatchesSelector' : 'msMatchesSelector';\n browser.pEventTypes = browser.supportsPointerEvent ? _domObjects[\"default\"].PointerEvent === window.MSPointerEvent ? {\n up: 'MSPointerUp',\n down: 'MSPointerDown',\n over: 'mouseover',\n out: 'mouseout',\n move: 'MSPointerMove',\n cancel: 'MSPointerCancel'\n } : {\n up: 'pointerup',\n down: 'pointerdown',\n over: 'pointerover',\n out: 'pointerout',\n move: 'pointermove',\n cancel: 'pointercancel'\n } : null; // because Webkit and Opera still use 'mousewheel' event type\n\n browser.wheelEvent = 'onmousewheel' in _domObjects[\"default\"].document ? 'mousewheel' : 'wheel';\n}\n\nvar ___default_48 = browser;\n_$browser_48[\"default\"] = ___default_48;\n\nvar _$domUtils_51 = {};\n\"use strict\";\n\nObject.defineProperty(_$domUtils_51, \"__esModule\", {\n value: true\n});\n_$domUtils_51.nodeContains = nodeContains;\n_$domUtils_51.closest = closest;\n_$domUtils_51.parentNode = parentNode;\n_$domUtils_51.matchesSelector = matchesSelector;\n_$domUtils_51.indexOfDeepestElement = indexOfDeepestElement;\n_$domUtils_51.matchesUpTo = matchesUpTo;\n_$domUtils_51.getActualElement = getActualElement;\n_$domUtils_51.getScrollXY = getScrollXY;\n_$domUtils_51.getElementClientRect = getElementClientRect;\n_$domUtils_51.getElementRect = getElementRect;\n_$domUtils_51.getPath = getPath;\n_$domUtils_51.trySelector = trySelector;\n\nvar _browser = ___interopRequireDefault_51(_$browser_48);\n\nvar ___domObjects_51 = ___interopRequireDefault_51(_$domObjects_50);\n\nvar __is_51 = ___interopRequireWildcard_51(_$is_57);\n\nvar ___window_51 = ___interopRequireWildcard_51(_$window_66);\n\nfunction ___getRequireWildcardCache_51() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_51 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_51(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_51(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_51(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction nodeContains(parent, child) {\n while (child) {\n if (child === parent) {\n return true;\n }\n\n child = child.parentNode;\n }\n\n return false;\n}\n\nfunction closest(element, selector) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return element;\n }\n\n element = parentNode(element);\n }\n\n return null;\n}\n\nfunction parentNode(node) {\n var parent = node.parentNode;\n\n if (__is_51.docFrag(parent)) {\n // skip past #shado-root fragments\n // tslint:disable-next-line\n while ((parent = parent.host) && __is_51.docFrag(parent)) {\n continue;\n }\n\n return parent;\n }\n\n return parent;\n}\n\nfunction matchesSelector(element, selector) {\n // remove /deep/ from selectors if shadowDOM polyfill is used\n if (___window_51[\"default\"].window !== ___window_51[\"default\"].realWindow) {\n selector = selector.replace(/\\/deep\\//g, ' ');\n }\n\n return element[_browser[\"default\"].prefixedMatchesSelector](selector);\n}\n\nvar getParent = function getParent(el) {\n return el.parentNode ? el.parentNode : el.host;\n}; // Test for the element that's \"above\" all other qualifiers\n\n\nfunction indexOfDeepestElement(elements) {\n var deepestZoneParents = [];\n var deepestZone = elements[0];\n var index = deepestZone ? 0 : -1;\n var i;\n var n;\n\n for (i = 1; i < elements.length; i++) {\n var dropzone = elements[i]; // an element might belong to multiple selector dropzones\n\n if (!dropzone || dropzone === deepestZone) {\n continue;\n }\n\n if (!deepestZone) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // check if the deepest or current are document.documentElement or document.rootElement\n // - if the current dropzone is, do nothing and continue\n\n\n if (dropzone.parentNode === dropzone.ownerDocument) {\n continue;\n } // - if deepest is, update with the current dropzone and continue to next\n else if (deepestZone.parentNode === dropzone.ownerDocument) {\n deepestZone = dropzone;\n index = i;\n continue;\n } // compare zIndex of siblings\n\n\n if (dropzone.parentNode === deepestZone.parentNode) {\n var deepestZIndex = parseInt((0, ___window_51.getWindow)(deepestZone).getComputedStyle(deepestZone).zIndex, 10) || 0;\n var dropzoneZIndex = parseInt((0, ___window_51.getWindow)(dropzone).getComputedStyle(dropzone).zIndex, 10) || 0;\n\n if (dropzoneZIndex >= deepestZIndex) {\n deepestZone = dropzone;\n index = i;\n }\n\n continue;\n } // populate the ancestry array for the latest deepest dropzone\n\n\n if (!deepestZoneParents.length) {\n var _parent = deepestZone;\n var parentParent = void 0;\n\n while ((parentParent = getParent(_parent)) && parentParent !== _parent.ownerDocument) {\n deepestZoneParents.unshift(_parent);\n _parent = parentParent;\n }\n }\n\n var parent = void 0; // if this element is an svg element and the current deepest is an\n // HTMLElement\n\n if (deepestZone instanceof ___domObjects_51[\"default\"].HTMLElement && dropzone instanceof ___domObjects_51[\"default\"].SVGElement && !(dropzone instanceof ___domObjects_51[\"default\"].SVGSVGElement)) {\n if (dropzone === deepestZone.parentNode) {\n continue;\n }\n\n parent = dropzone.ownerSVGElement;\n } else {\n parent = dropzone;\n }\n\n var dropzoneParents = [];\n\n while (parent.parentNode !== parent.ownerDocument) {\n dropzoneParents.unshift(parent);\n parent = getParent(parent);\n }\n\n n = 0; // get (position of last common ancestor) + 1\n\n while (dropzoneParents[n] && dropzoneParents[n] === deepestZoneParents[n]) {\n n++;\n }\n\n var parents = [dropzoneParents[n - 1], dropzoneParents[n], deepestZoneParents[n]];\n var child = parents[0].lastChild;\n\n while (child) {\n if (child === parents[1]) {\n deepestZone = dropzone;\n index = i;\n deepestZoneParents = dropzoneParents;\n break;\n } else if (child === parents[2]) {\n break;\n }\n\n child = child.previousSibling;\n }\n }\n\n return index;\n}\n\nfunction matchesUpTo(element, selector, limit) {\n while (__is_51.element(element)) {\n if (matchesSelector(element, selector)) {\n return true;\n }\n\n element = parentNode(element);\n\n if (element === limit) {\n return matchesSelector(element, selector);\n }\n }\n\n return false;\n}\n\nfunction getActualElement(element) {\n return element instanceof ___domObjects_51[\"default\"].SVGElementInstance ? element.correspondingUseElement : element;\n}\n\nfunction getScrollXY(relevantWindow) {\n relevantWindow = relevantWindow || ___window_51[\"default\"].window;\n return {\n x: relevantWindow.scrollX || relevantWindow.document.documentElement.scrollLeft,\n y: relevantWindow.scrollY || relevantWindow.document.documentElement.scrollTop\n };\n}\n\nfunction getElementClientRect(element) {\n var clientRect = element instanceof ___domObjects_51[\"default\"].SVGElement ? element.getBoundingClientRect() : element.getClientRects()[0];\n return clientRect && {\n left: clientRect.left,\n right: clientRect.right,\n top: clientRect.top,\n bottom: clientRect.bottom,\n width: clientRect.width || clientRect.right - clientRect.left,\n height: clientRect.height || clientRect.bottom - clientRect.top\n };\n}\n\nfunction getElementRect(element) {\n var clientRect = getElementClientRect(element);\n\n if (!_browser[\"default\"].isIOS7 && clientRect) {\n var scroll = getScrollXY(___window_51[\"default\"].getWindow(element));\n clientRect.left += scroll.x;\n clientRect.right += scroll.x;\n clientRect.top += scroll.y;\n clientRect.bottom += scroll.y;\n }\n\n return clientRect;\n}\n\nfunction getPath(node) {\n var path = [];\n\n while (node) {\n path.push(node);\n node = parentNode(node);\n }\n\n return path;\n}\n\nfunction trySelector(value) {\n if (!__is_51.string(value)) {\n return false;\n } // an exception will be raised if it is invalid\n\n\n ___domObjects_51[\"default\"].document.querySelector(value);\n\n return true;\n}\n\nvar _$clone_49 = {};\n\"use strict\";\n\nObject.defineProperty(_$clone_49, \"__esModule\", {\n value: true\n});\n_$clone_49[\"default\"] = clone;\n\nvar arr = ___interopRequireWildcard_49(_$arr_47);\n\nvar __is_49 = ___interopRequireWildcard_49(_$is_57);\n\nfunction ___getRequireWildcardCache_49() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_49 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_49(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_49(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction clone(source) {\n var dest = {};\n\n for (var prop in source) {\n var value = source[prop];\n\n if (__is_49.plainObject(value)) {\n dest[prop] = clone(value);\n } else if (__is_49.array(value)) {\n dest[prop] = arr.from(value);\n } else {\n dest[prop] = value;\n }\n }\n\n return dest;\n}\n\nvar _$pointerExtend_60 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerExtend_60, \"__esModule\", {\n value: true\n});\n_$pointerExtend_60[\"default\"] = void 0;\n\nfunction pointerExtend(dest, source) {\n for (var prop in source) {\n var prefixedPropREs = pointerExtend.prefixedPropREs;\n var deprecated = false; // skip deprecated prefixed properties\n\n for (var vendor in prefixedPropREs) {\n if (prop.indexOf(vendor) === 0 && prefixedPropREs[vendor].test(prop)) {\n deprecated = true;\n break;\n }\n }\n\n if (!deprecated && typeof source[prop] !== 'function') {\n dest[prop] = source[prop];\n }\n }\n\n return dest;\n}\n\npointerExtend.prefixedPropREs = {\n webkit: /(Movement[XY]|Radius[XY]|RotationAngle|Force)$/,\n moz: /(Pressure)$/\n};\nvar ___default_60 = pointerExtend;\n_$pointerExtend_60[\"default\"] = ___default_60;\n\nvar _$hypot_55 = {};\n\"use strict\";\n\nObject.defineProperty(_$hypot_55, \"__esModule\", {\n value: true\n});\n_$hypot_55[\"default\"] = void 0;\n\nvar ___default_55 = function _default(x, y) {\n return Math.sqrt(x * x + y * y);\n};\n\n_$hypot_55[\"default\"] = ___default_55;\n\nvar _$pointerUtils_61 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerUtils_61, \"__esModule\", {\n value: true\n});\n_$pointerUtils_61[\"default\"] = void 0;\n\nvar ___browser_61 = ___interopRequireDefault_61(_$browser_48);\n\nvar ___domObjects_61 = ___interopRequireDefault_61(_$domObjects_50);\n\nvar domUtils = ___interopRequireWildcard_61(_$domUtils_51);\n\nvar _hypot = ___interopRequireDefault_61(_$hypot_55);\n\nvar __is_61 = ___interopRequireWildcard_61(_$is_57);\n\nvar _pointerExtend = ___interopRequireDefault_61(_$pointerExtend_60);\n\nfunction ___getRequireWildcardCache_61() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_61 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_61(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_61(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_61(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar pointerUtils = {\n copyCoords: function copyCoords(dest, src) {\n dest.page = dest.page || {};\n dest.page.x = src.page.x;\n dest.page.y = src.page.y;\n dest.client = dest.client || {};\n dest.client.x = src.client.x;\n dest.client.y = src.client.y;\n dest.timeStamp = src.timeStamp;\n },\n setCoordDeltas: function setCoordDeltas(targetObj, prev, cur) {\n targetObj.page.x = cur.page.x - prev.page.x;\n targetObj.page.y = cur.page.y - prev.page.y;\n targetObj.client.x = cur.client.x - prev.client.x;\n targetObj.client.y = cur.client.y - prev.client.y;\n targetObj.timeStamp = cur.timeStamp - prev.timeStamp;\n },\n setCoordVelocity: function setCoordVelocity(targetObj, delta) {\n var dt = Math.max(delta.timeStamp / 1000, 0.001);\n targetObj.page.x = delta.page.x / dt;\n targetObj.page.y = delta.page.y / dt;\n targetObj.client.x = delta.client.x / dt;\n targetObj.client.y = delta.client.y / dt;\n targetObj.timeStamp = dt;\n },\n isNativePointer: function isNativePointer(pointer) {\n return pointer instanceof ___domObjects_61[\"default\"].Event || pointer instanceof ___domObjects_61[\"default\"].Touch;\n },\n // Get specified X/Y coords for mouse or event.touches[0]\n getXY: function getXY(type, pointer, xy) {\n xy = xy || {};\n type = type || 'page';\n xy.x = pointer[type + 'X'];\n xy.y = pointer[type + 'Y'];\n return xy;\n },\n getPageXY: function getPageXY(pointer, page) {\n page = page || {\n x: 0,\n y: 0\n }; // Opera Mobile handles the viewport and scrolling oddly\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n pointerUtils.getXY('screen', pointer, page);\n page.x += window.scrollX;\n page.y += window.scrollY;\n } else {\n pointerUtils.getXY('page', pointer, page);\n }\n\n return page;\n },\n getClientXY: function getClientXY(pointer, client) {\n client = client || {};\n\n if (___browser_61[\"default\"].isOperaMobile && pointerUtils.isNativePointer(pointer)) {\n // Opera Mobile handles the viewport and scrolling oddly\n pointerUtils.getXY('screen', pointer, client);\n } else {\n pointerUtils.getXY('client', pointer, client);\n }\n\n return client;\n },\n getPointerId: function getPointerId(pointer) {\n return __is_61.number(pointer.pointerId) ? pointer.pointerId : pointer.identifier;\n },\n setCoords: function setCoords(targetObj, pointers, timeStamp) {\n var pointer = pointers.length > 1 ? pointerUtils.pointerAverage(pointers) : pointers[0];\n var tmpXY = {};\n pointerUtils.getPageXY(pointer, tmpXY);\n targetObj.page.x = tmpXY.x;\n targetObj.page.y = tmpXY.y;\n pointerUtils.getClientXY(pointer, tmpXY);\n targetObj.client.x = tmpXY.x;\n targetObj.client.y = tmpXY.y;\n targetObj.timeStamp = timeStamp;\n },\n pointerExtend: _pointerExtend[\"default\"],\n getTouchPair: function getTouchPair(event) {\n var touches = []; // array of touches is supplied\n\n if (__is_61.array(event)) {\n touches[0] = event[0];\n touches[1] = event[1];\n } // an event\n else {\n if (event.type === 'touchend') {\n if (event.touches.length === 1) {\n touches[0] = event.touches[0];\n touches[1] = event.changedTouches[0];\n } else if (event.touches.length === 0) {\n touches[0] = event.changedTouches[0];\n touches[1] = event.changedTouches[1];\n }\n } else {\n touches[0] = event.touches[0];\n touches[1] = event.touches[1];\n }\n }\n\n return touches;\n },\n pointerAverage: function pointerAverage(pointers) {\n var average = {\n pageX: 0,\n pageY: 0,\n clientX: 0,\n clientY: 0,\n screenX: 0,\n screenY: 0\n };\n\n for (var _i = 0; _i < pointers.length; _i++) {\n var _ref;\n\n _ref = pointers[_i];\n var pointer = _ref;\n\n for (var _prop in average) {\n average[_prop] += pointer[_prop];\n }\n }\n\n for (var prop in average) {\n average[prop] /= pointers.length;\n }\n\n return average;\n },\n touchBBox: function touchBBox(event) {\n if (!event.length && !(event.touches && event.touches.length > 1)) {\n return null;\n }\n\n var touches = pointerUtils.getTouchPair(event);\n var minX = Math.min(touches[0].pageX, touches[1].pageX);\n var minY = Math.min(touches[0].pageY, touches[1].pageY);\n var maxX = Math.max(touches[0].pageX, touches[1].pageX);\n var maxY = Math.max(touches[0].pageY, touches[1].pageY);\n return {\n x: minX,\n y: minY,\n left: minX,\n top: minY,\n right: maxX,\n bottom: maxY,\n width: maxX - minX,\n height: maxY - minY\n };\n },\n touchDistance: function touchDistance(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[0][sourceX] - touches[1][sourceX];\n var dy = touches[0][sourceY] - touches[1][sourceY];\n return (0, _hypot[\"default\"])(dx, dy);\n },\n touchAngle: function touchAngle(event, deltaSource) {\n var sourceX = deltaSource + 'X';\n var sourceY = deltaSource + 'Y';\n var touches = pointerUtils.getTouchPair(event);\n var dx = touches[1][sourceX] - touches[0][sourceX];\n var dy = touches[1][sourceY] - touches[0][sourceY];\n var angle = 180 * Math.atan2(dy, dx) / Math.PI;\n return angle;\n },\n getPointerType: function getPointerType(pointer) {\n return __is_61.string(pointer.pointerType) ? pointer.pointerType : __is_61.number(pointer.pointerType) ? [undefined, undefined, 'touch', 'pen', 'mouse'][pointer.pointerType] // if the PointerEvent API isn't available, then the \"pointer\" must\n // be either a MouseEvent, TouchEvent, or Touch object\n : /touch/.test(pointer.type) || pointer instanceof ___domObjects_61[\"default\"].Touch ? 'touch' : 'mouse';\n },\n // [ event.target, event.currentTarget ]\n getEventTargets: function getEventTargets(event) {\n var path = __is_61.func(event.composedPath) ? event.composedPath() : event.path;\n return [domUtils.getActualElement(path ? path[0] : event.target), domUtils.getActualElement(event.currentTarget)];\n },\n newCoords: function newCoords() {\n return {\n page: {\n x: 0,\n y: 0\n },\n client: {\n x: 0,\n y: 0\n },\n timeStamp: 0\n };\n },\n coordsToEvent: function coordsToEvent(coords) {\n var event = {\n coords: coords,\n\n get page() {\n return this.coords.page;\n },\n\n get client() {\n return this.coords.client;\n },\n\n get timeStamp() {\n return this.coords.timeStamp;\n },\n\n get pageX() {\n return this.coords.page.x;\n },\n\n get pageY() {\n return this.coords.page.y;\n },\n\n get clientX() {\n return this.coords.client.x;\n },\n\n get clientY() {\n return this.coords.client.y;\n },\n\n get pointerId() {\n return this.coords.pointerId;\n },\n\n get target() {\n return this.coords.target;\n },\n\n get type() {\n return this.coords.type;\n },\n\n get pointerType() {\n return this.coords.pointerType;\n },\n\n get buttons() {\n return this.coords.buttons;\n }\n\n };\n return event;\n }\n};\nvar ___default_61 = pointerUtils;\n_$pointerUtils_61[\"default\"] = ___default_61;\n\nvar _$events_52 = {};\n\"use strict\";\n\nObject.defineProperty(_$events_52, \"__esModule\", {\n value: true\n});\n_$events_52[\"default\"] = _$events_52.FakeEvent = void 0;\n\n/* removed: var _$arr_47 = require(\"./arr\"); */;\n\nvar __domUtils_52 = ___interopRequireWildcard_52(_$domUtils_51);\n\nvar __is_52 = ___interopRequireWildcard_52(_$is_57);\n\nvar ___pointerExtend_52 = ___interopRequireDefault_52(_$pointerExtend_60);\n\nvar _pointerUtils = ___interopRequireDefault_52(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_52(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_52() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_52 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_52(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_52(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar elements = [];\nvar targets = [];\nvar delegatedEvents = {};\nvar documents = [];\n\nfunction add(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target) {\n target = {\n events: {},\n typeCount: 0\n };\n elementIndex = elements.push(element) - 1;\n targets.push(target);\n }\n\n if (!target.events[type]) {\n target.events[type] = [];\n target.typeCount++;\n }\n\n if (!(0, _$arr_47.contains)(target.events[type], listener)) {\n element.addEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].push(listener);\n }\n}\n\nfunction __remove_52(element, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var elementIndex = elements.indexOf(element);\n var target = targets[elementIndex];\n\n if (!target || !target.events) {\n return;\n }\n\n if (type === 'all') {\n for (type in target.events) {\n if (target.events.hasOwnProperty(type)) {\n __remove_52(element, type, 'all');\n }\n }\n\n return;\n }\n\n if (target.events[type]) {\n var len = target.events[type].length;\n\n if (listener === 'all') {\n for (var i = 0; i < len; i++) {\n __remove_52(element, type, target.events[type][i], options);\n }\n\n return;\n } else {\n for (var _i = 0; _i < len; _i++) {\n if (target.events[type][_i] === listener) {\n element.removeEventListener(type, listener, events.supportsOptions ? options : !!options.capture);\n target.events[type].splice(_i, 1);\n break;\n }\n }\n }\n\n if (target.events[type] && target.events[type].length === 0) {\n target.events[type] = null;\n target.typeCount--;\n }\n }\n\n if (!target.typeCount) {\n targets.splice(elementIndex, 1);\n elements.splice(elementIndex, 1);\n }\n}\n\nfunction addDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n\n if (!delegatedEvents[type]) {\n delegatedEvents[type] = {\n contexts: [],\n listeners: [],\n selectors: []\n }; // add delegate listener functions\n\n for (var _i2 = 0; _i2 < documents.length; _i2++) {\n var _ref;\n\n _ref = documents[_i2];\n var doc = _ref;\n add(doc, type, delegateListener);\n add(doc, type, delegateUseCapture, true);\n }\n }\n\n var delegated = delegatedEvents[type];\n var index;\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n break;\n }\n }\n\n if (index === -1) {\n index = delegated.selectors.length;\n delegated.selectors.push(selector);\n delegated.contexts.push(context);\n delegated.listeners.push([]);\n } // keep listener and capture and passive flags\n\n\n delegated.listeners[index].push([listener, !!options.capture, options.passive]);\n}\n\nfunction removeDelegate(selector, context, type, listener, optionalArg) {\n var options = getOptions(optionalArg);\n var delegated = delegatedEvents[type];\n var matchFound = false;\n var index;\n\n if (!delegated) {\n return;\n } // count from last index of delegated to 0\n\n\n for (index = delegated.selectors.length - 1; index >= 0; index--) {\n // look for matching selector and context Node\n if (delegated.selectors[index] === selector && delegated.contexts[index] === context) {\n var listeners = delegated.listeners[index]; // each item of the listeners array is an array: [function, capture, passive]\n\n for (var i = listeners.length - 1; i >= 0; i--) {\n var _listeners$i = _slicedToArray(listeners[i], 3),\n fn = _listeners$i[0],\n capture = _listeners$i[1],\n passive = _listeners$i[2]; // check if the listener functions and capture and passive flags match\n\n\n if (fn === listener && capture === !!options.capture && passive === options.passive) {\n // remove the listener from the array of listeners\n listeners.splice(i, 1); // if all listeners for this interactable have been removed\n // remove the interactable from the delegated arrays\n\n if (!listeners.length) {\n delegated.selectors.splice(index, 1);\n delegated.contexts.splice(index, 1);\n delegated.listeners.splice(index, 1); // remove delegate function from context\n\n __remove_52(context, type, delegateListener);\n __remove_52(context, type, delegateUseCapture, true); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegatedEvents[type] = null;\n }\n } // only remove one listener\n\n\n matchFound = true;\n break;\n }\n }\n\n if (matchFound) {\n break;\n }\n }\n }\n} // bound to the interactable context when a DOM event\n// listener is added to a selector interactable\n\n\nfunction delegateListener(event, optionalArg) {\n var options = getOptions(optionalArg);\n var fakeEvent = new FakeEvent(event);\n var delegated = delegatedEvents[event.type];\n\n var _pointerUtils$getEven = _pointerUtils[\"default\"].getEventTargets(event),\n _pointerUtils$getEven2 = _slicedToArray(_pointerUtils$getEven, 1),\n eventTarget = _pointerUtils$getEven2[0];\n\n var element = eventTarget; // climb up document tree looking for selector matches\n\n while (__is_52.element(element)) {\n for (var i = 0; i < delegated.selectors.length; i++) {\n var selector = delegated.selectors[i];\n var context = delegated.contexts[i];\n\n if (__domUtils_52.matchesSelector(element, selector) && __domUtils_52.nodeContains(context, eventTarget) && __domUtils_52.nodeContains(context, element)) {\n var listeners = delegated.listeners[i];\n fakeEvent.currentTarget = element;\n\n for (var _i3 = 0; _i3 < listeners.length; _i3++) {\n var _ref2;\n\n _ref2 = listeners[_i3];\n\n var _ref3 = _ref2,\n _ref4 = _slicedToArray(_ref3, 3),\n fn = _ref4[0],\n capture = _ref4[1],\n passive = _ref4[2];\n\n if (capture === !!options.capture && passive === options.passive) {\n fn(fakeEvent);\n }\n }\n }\n }\n\n element = __domUtils_52.parentNode(element);\n }\n}\n\nfunction delegateUseCapture(event) {\n return delegateListener.call(this, event, true);\n}\n\nfunction getOptions(param) {\n return __is_52.object(param) ? param : {\n capture: param\n };\n}\n\nvar FakeEvent =\n/*#__PURE__*/\nfunction () {\n function FakeEvent(originalEvent) {\n _classCallCheck(this, FakeEvent);\n\n this.originalEvent = originalEvent; // duplicate the event so that currentTarget can be changed\n\n (0, ___pointerExtend_52[\"default\"])(this, originalEvent);\n }\n\n _createClass(FakeEvent, [{\n key: \"preventOriginalDefault\",\n value: function preventOriginalDefault() {\n this.originalEvent.preventDefault();\n }\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.originalEvent.stopPropagation();\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.originalEvent.stopImmediatePropagation();\n }\n }]);\n\n return FakeEvent;\n}();\n\n_$events_52.FakeEvent = FakeEvent;\nvar events = {\n add: add,\n remove: __remove_52,\n addDelegate: addDelegate,\n removeDelegate: removeDelegate,\n delegateListener: delegateListener,\n delegateUseCapture: delegateUseCapture,\n delegatedEvents: delegatedEvents,\n documents: documents,\n supportsOptions: false,\n supportsPassive: false,\n _elements: elements,\n _targets: targets,\n init: function init(window) {\n window.document.createElement('div').addEventListener('test', null, {\n get capture() {\n return events.supportsOptions = true;\n },\n\n get passive() {\n return events.supportsPassive = true;\n }\n\n });\n }\n};\nvar ___default_52 = events;\n_$events_52[\"default\"] = ___default_52;\n\nvar _$extend_53 = {};\n\"use strict\";\n\nObject.defineProperty(_$extend_53, \"__esModule\", {\n value: true\n});\n_$extend_53[\"default\"] = extend;\n\nfunction extend(dest, source) {\n for (var prop in source) {\n dest[prop] = source[prop];\n }\n\n return dest;\n}\n\nvar _$rect_63 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_63, \"__esModule\", {\n value: true\n});\n_$rect_63.getStringOptionResult = getStringOptionResult;\n_$rect_63.resolveRectLike = resolveRectLike;\n_$rect_63.rectToXY = rectToXY;\n_$rect_63.xywhToTlbr = xywhToTlbr;\n_$rect_63.tlbrToXywh = tlbrToXywh;\n_$rect_63[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"./domUtils\"); */;\n\nvar _extend = ___interopRequireDefault_63(_$extend_53);\n\nvar __is_63 = ___interopRequireWildcard_63(_$is_57);\n\nfunction ___getRequireWildcardCache_63() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_63 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_63(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_63(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_63(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction getStringOptionResult(value, target, element) {\n if (value === 'parent') {\n return (0, _$domUtils_51.parentNode)(element);\n }\n\n if (value === 'self') {\n return target.getRect(element);\n }\n\n return (0, _$domUtils_51.closest)(element, value);\n}\n\nfunction resolveRectLike(value, target, element, functionArgs) {\n if (__is_63.string(value)) {\n value = getStringOptionResult(value, target, element);\n } else if (__is_63.func(value)) {\n value = value.apply(void 0, _toConsumableArray(functionArgs));\n }\n\n if (__is_63.element(value)) {\n value = (0, _$domUtils_51.getElementRect)(value);\n }\n\n return value;\n}\n\nfunction rectToXY(rect) {\n return rect && {\n x: 'x' in rect ? rect.x : rect.left,\n y: 'y' in rect ? rect.y : rect.top\n };\n}\n\nfunction xywhToTlbr(rect) {\n if (rect && !('left' in rect && 'top' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.left = rect.x || 0;\n rect.top = rect.y || 0;\n rect.right = rect.right || rect.left + rect.width;\n rect.bottom = rect.bottom || rect.top + rect.height;\n }\n\n return rect;\n}\n\nfunction tlbrToXywh(rect) {\n if (rect && !('x' in rect && 'y' in rect)) {\n rect = (0, _extend[\"default\"])({}, rect);\n rect.x = rect.left || 0;\n rect.y = rect.top || 0;\n rect.width = rect.width || rect.right - rect.x;\n rect.height = rect.height || rect.bottom - rect.y;\n }\n\n return rect;\n}\n\nvar ___default_63 = {\n getStringOptionResult: getStringOptionResult,\n resolveRectLike: resolveRectLike,\n rectToXY: rectToXY,\n xywhToTlbr: xywhToTlbr,\n tlbrToXywh: tlbrToXywh\n};\n_$rect_63[\"default\"] = ___default_63;\n\nvar _$getOriginXY_54 = {};\n\"use strict\";\n\nObject.defineProperty(_$getOriginXY_54, \"__esModule\", {\n value: true\n});\n_$getOriginXY_54[\"default\"] = ___default_54;\n\n/* removed: var _$rect_63 = require(\"./rect\"); */;\n\nfunction ___default_54(target, element, action) {\n var actionOptions = target.options[action];\n var actionOrigin = actionOptions && actionOptions.origin;\n var origin = actionOrigin || target.options.origin;\n var originRect = (0, _$rect_63.resolveRectLike)(origin, target, element, [target && element]);\n return (0, _$rect_63.rectToXY)(originRect) || {\n x: 0,\n y: 0\n };\n}\n\nvar _$normalizeListeners_59 = {};\n\"use strict\";\n\nObject.defineProperty(_$normalizeListeners_59, \"__esModule\", {\n value: true\n});\n_$normalizeListeners_59[\"default\"] = normalize;\n\nvar ___extend_59 = ___interopRequireDefault_59(_$extend_53);\n\nvar __is_59 = ___interopRequireWildcard_59(_$is_57);\n\nfunction ___getRequireWildcardCache_59() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_59 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_59(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_59(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_59(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction normalize(type, listeners, result) {\n result = result || {};\n\n if (__is_59.string(type) && type.search(' ') !== -1) {\n type = split(type);\n }\n\n if (__is_59.array(type)) {\n return type.reduce(function (acc, t) {\n return (0, ___extend_59[\"default\"])(acc, normalize(t, listeners, result));\n }, result);\n } // ({ type: fn }) -> ('', { type: fn })\n\n\n if (__is_59.object(type)) {\n listeners = type;\n type = '';\n }\n\n if (__is_59.func(listeners)) {\n result[type] = result[type] || [];\n result[type].push(listeners);\n } else if (__is_59.array(listeners)) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var l = _ref;\n normalize(type, l, result);\n }\n } else if (__is_59.object(listeners)) {\n for (var prefix in listeners) {\n var combinedTypes = split(prefix).map(function (p) {\n return \"\".concat(type).concat(p);\n });\n normalize(combinedTypes, listeners[prefix], result);\n }\n }\n\n return result;\n}\n\nfunction split(type) {\n return type.trim().split(/ +/);\n}\n\nvar _$raf_62 = {};\n\"use strict\";\n\nObject.defineProperty(_$raf_62, \"__esModule\", {\n value: true\n});\n_$raf_62[\"default\"] = void 0;\nvar lastTime = 0;\n\nvar _request;\n\nvar _cancel;\n\nfunction __init_62(window) {\n _request = window.requestAnimationFrame;\n _cancel = window.cancelAnimationFrame;\n\n if (!_request) {\n var vendors = ['ms', 'moz', 'webkit', 'o'];\n\n for (var _i = 0; _i < vendors.length; _i++) {\n var vendor = vendors[_i];\n _request = window[\"\".concat(vendor, \"RequestAnimationFrame\")];\n _cancel = window[\"\".concat(vendor, \"CancelAnimationFrame\")] || window[\"\".concat(vendor, \"CancelRequestAnimationFrame\")];\n }\n }\n\n if (!_request) {\n _request = function request(callback) {\n var currTime = Date.now();\n var timeToCall = Math.max(0, 16 - (currTime - lastTime)); // eslint-disable-next-line standard/no-callback-literal\n\n var token = setTimeout(function () {\n callback(currTime + timeToCall);\n }, timeToCall);\n lastTime = currTime + timeToCall;\n return token;\n };\n\n _cancel = function cancel(token) {\n return clearTimeout(token);\n };\n }\n}\n\nvar ___default_62 = {\n request: function request(callback) {\n return _request(callback);\n },\n cancel: function cancel(token) {\n return _cancel(token);\n },\n init: __init_62\n};\n_$raf_62[\"default\"] = ___default_62;\n\nvar _$Signals_46 = {};\n\"use strict\";\n\nObject.defineProperty(_$Signals_46, \"__esModule\", {\n value: true\n});\n_$Signals_46[\"default\"] = void 0;\n\nfunction ___classCallCheck_46(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_46(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_46(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_46(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_46(Constructor, staticProps); return Constructor; }\n\nvar Signals =\n/*#__PURE__*/\nfunction () {\n function Signals() {\n ___classCallCheck_46(this, Signals);\n\n this.listeners = {};\n }\n\n ___createClass_46(Signals, [{\n key: \"on\",\n value: function on(name, listener) {\n if (!this.listeners[name]) {\n this.listeners[name] = [listener];\n return;\n }\n\n this.listeners[name].push(listener);\n }\n }, {\n key: \"off\",\n value: function off(name, listener) {\n if (!this.listeners[name]) {\n return;\n }\n\n var index = this.listeners[name].indexOf(listener);\n\n if (index !== -1) {\n this.listeners[name].splice(index, 1);\n }\n }\n }, {\n key: \"fire\",\n value: function fire(name, arg) {\n var targetListeners = this.listeners[name];\n\n if (!targetListeners) {\n return;\n }\n\n for (var _i = 0; _i < targetListeners.length; _i++) {\n var _ref;\n\n _ref = targetListeners[_i];\n var listener = _ref;\n\n if (listener(arg, name) === false) {\n return false;\n }\n }\n }\n }]);\n\n return Signals;\n}();\n\nvar ___default_46 = Signals;\n_$Signals_46[\"default\"] = ___default_46;\n\nvar _$utils_56 = {};\n\"use strict\";\n\nObject.defineProperty(_$utils_56, \"__esModule\", {\n value: true\n});\n_$utils_56.warnOnce = warnOnce;\n_$utils_56._getQBezierValue = _getQBezierValue;\n_$utils_56.getQuadraticCurvePoint = getQuadraticCurvePoint;\n_$utils_56.easeOutQuad = easeOutQuad;\n_$utils_56.copyAction = copyAction;\nObject.defineProperty(_$utils_56, \"win\", {\n enumerable: true,\n get: function get() {\n return ___window_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"browser\", {\n enumerable: true,\n get: function get() {\n return ___browser_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"clone\", {\n enumerable: true,\n get: function get() {\n return _clone[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"events\", {\n enumerable: true,\n get: function get() {\n return _events[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"extend\", {\n enumerable: true,\n get: function get() {\n return ___extend_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"getOriginXY\", {\n enumerable: true,\n get: function get() {\n return _getOriginXY[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"hypot\", {\n enumerable: true,\n get: function get() {\n return ___hypot_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"normalizeListeners\", {\n enumerable: true,\n get: function get() {\n return _normalizeListeners[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"pointer\", {\n enumerable: true,\n get: function get() {\n return ___pointerUtils_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"raf\", {\n enumerable: true,\n get: function get() {\n return _raf[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"rect\", {\n enumerable: true,\n get: function get() {\n return ___rect_56[\"default\"];\n }\n});\nObject.defineProperty(_$utils_56, \"Signals\", {\n enumerable: true,\n get: function get() {\n return _Signals[\"default\"];\n }\n});\n_$utils_56.is = _$utils_56.dom = _$utils_56.arr = void 0;\n\nvar __arr_56 = ___interopRequireWildcard_56(_$arr_47);\n\n_$utils_56.arr = __arr_56;\n\nvar dom = ___interopRequireWildcard_56(_$domUtils_51);\n\n_$utils_56.dom = dom;\n\nvar __is_56 = ___interopRequireWildcard_56(_$is_57);\n\n_$utils_56.is = __is_56;\n\nvar ___window_56 = ___interopRequireDefault_56(_$window_66);\n\nvar ___browser_56 = ___interopRequireDefault_56(_$browser_48);\n\nvar _clone = ___interopRequireDefault_56(_$clone_49);\n\nvar _events = ___interopRequireDefault_56(_$events_52);\n\nvar ___extend_56 = ___interopRequireDefault_56(_$extend_53);\n\nvar _getOriginXY = ___interopRequireDefault_56(_$getOriginXY_54);\n\nvar ___hypot_56 = ___interopRequireDefault_56(_$hypot_55);\n\nvar _normalizeListeners = ___interopRequireDefault_56(_$normalizeListeners_59);\n\nvar ___pointerUtils_56 = ___interopRequireDefault_56(_$pointerUtils_61);\n\nvar _raf = ___interopRequireDefault_56(_$raf_62);\n\nvar ___rect_56 = ___interopRequireDefault_56(_$rect_63);\n\nvar _Signals = ___interopRequireDefault_56(_$Signals_46);\n\nfunction ___interopRequireDefault_56(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_56() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_56 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_56(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_56(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction warnOnce(method, message) {\n var warned = false; // eslint-disable-next-line no-shadow\n\n return function () {\n if (!warned) {\n ___window_56[\"default\"].window.console.warn(message);\n\n warned = true;\n }\n\n return method.apply(this, arguments);\n };\n} // http://stackoverflow.com/a/5634528/2280888\n\n\nfunction _getQBezierValue(t, p1, p2, p3) {\n var iT = 1 - t;\n return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3;\n}\n\nfunction getQuadraticCurvePoint(startX, startY, cpX, cpY, endX, endY, position) {\n return {\n x: _getQBezierValue(position, startX, cpX, endX),\n y: _getQBezierValue(position, startY, cpY, endY)\n };\n} // http://gizma.com/easing/\n\n\nfunction easeOutQuad(t, b, c, d) {\n t /= d;\n return -c * t * (t - 2) + b;\n}\n\nfunction copyAction(dest, src) {\n dest.name = src.name;\n dest.axis = src.axis;\n dest.edges = src.edges;\n return dest;\n}\n\nvar _$defaultOptions_20 = {};\n\"use strict\";\n\nObject.defineProperty(_$defaultOptions_20, \"__esModule\", {\n value: true\n});\n_$defaultOptions_20[\"default\"] = _$defaultOptions_20.defaults = void 0;\n// tslint:disable no-empty-interface\nvar defaults = {\n base: {\n preventDefault: 'auto',\n deltaSource: 'page'\n },\n perAction: {\n enabled: false,\n origin: {\n x: 0,\n y: 0\n }\n },\n actions: {}\n};\n_$defaultOptions_20.defaults = defaults;\nvar ___default_20 = defaults;\n_$defaultOptions_20[\"default\"] = ___default_20;\n\nvar _$Eventable_14 = {};\n\"use strict\";\n\nObject.defineProperty(_$Eventable_14, \"__esModule\", {\n value: true\n});\n_$Eventable_14[\"default\"] = void 0;\n\nvar __arr_14 = ___interopRequireWildcard_14(_$arr_47);\n\nvar ___extend_14 = ___interopRequireDefault_14(_$extend_53);\n\nvar ___normalizeListeners_14 = ___interopRequireDefault_14(_$normalizeListeners_59);\n\nfunction ___interopRequireDefault_14(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_14() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_14 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_14(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_14(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_14(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_14(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_14(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_14(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_14(Constructor, staticProps); return Constructor; }\n\nfunction fireUntilImmediateStopped(event, listeners) {\n for (var _i = 0; _i < listeners.length; _i++) {\n var _ref;\n\n _ref = listeners[_i];\n var listener = _ref;\n\n if (event.immediatePropagationStopped) {\n break;\n }\n\n listener(event);\n }\n}\n\nvar Eventable =\n/*#__PURE__*/\nfunction () {\n function Eventable(options) {\n ___classCallCheck_14(this, Eventable);\n\n this.types = {};\n this.propagationStopped = false;\n this.immediatePropagationStopped = false;\n this.options = (0, ___extend_14[\"default\"])({}, options || {});\n }\n\n ___createClass_14(Eventable, [{\n key: \"fire\",\n value: function fire(event) {\n var listeners;\n var global = this.global; // Interactable#on() listeners\n // tslint:disable no-conditional-assignment\n\n if (listeners = this.types[event.type]) {\n fireUntilImmediateStopped(event, listeners);\n } // interact.on() listeners\n\n\n if (!event.propagationStopped && global && (listeners = global[event.type])) {\n fireUntilImmediateStopped(event, listeners);\n }\n }\n }, {\n key: \"on\",\n value: function on(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n this.types[type] = __arr_14.merge(this.types[type] || [], listeners[type]);\n }\n }\n }, {\n key: \"off\",\n value: function off(type, listener) {\n var listeners = (0, ___normalizeListeners_14[\"default\"])(type, listener);\n\n for (type in listeners) {\n var eventList = this.types[type];\n\n if (!eventList || !eventList.length) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var subListener = _ref2;\n var index = eventList.indexOf(subListener);\n\n if (index !== -1) {\n eventList.splice(index, 1);\n }\n }\n }\n }\n }, {\n key: \"getRect\",\n value: function getRect(_element) {\n return null;\n }\n }]);\n\n return Eventable;\n}();\n\nvar ___default_14 = Eventable;\n_$Eventable_14[\"default\"] = ___default_14;\n\nvar _$Interactable_16 = {};\n\"use strict\";\n\nObject.defineProperty(_$Interactable_16, \"__esModule\", {\n value: true\n});\n_$Interactable_16[\"default\"] = _$Interactable_16.Interactable = void 0;\n\nvar __arr_16 = ___interopRequireWildcard_16(_$arr_47);\n\nvar ___browser_16 = ___interopRequireDefault_16(_$browser_48);\n\nvar ___clone_16 = ___interopRequireDefault_16(_$clone_49);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_16 = ___interopRequireDefault_16(_$events_52);\n\nvar ___extend_16 = ___interopRequireDefault_16(_$extend_53);\n\nvar __is_16 = ___interopRequireWildcard_16(_$is_57);\n\nvar ___normalizeListeners_16 = ___interopRequireDefault_16(_$normalizeListeners_59);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nvar _Eventable = ___interopRequireDefault_16(_$Eventable_14);\n\nfunction ___interopRequireDefault_16(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_16() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_16 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_16(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_16(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_16(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_16(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_16(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_16(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_16(Constructor, staticProps); return Constructor; }\n\n/** */\nvar Interactable =\n/*#__PURE__*/\nfunction () {\n /** */\n function Interactable(target, options, defaultContext) {\n ___classCallCheck_16(this, Interactable);\n\n this.events = new _Eventable[\"default\"]();\n this._actions = options.actions;\n this.target = target;\n this._context = options.context || defaultContext;\n this._win = (0, _$window_66.getWindow)((0, _$domUtils_51.trySelector)(target) ? this._context : target);\n this._doc = this._win.document;\n this.set(options);\n }\n\n ___createClass_16(Interactable, [{\n key: \"setOnEvents\",\n value: function setOnEvents(actionName, phases) {\n if (__is_16.func(phases.onstart)) {\n this.on(\"\".concat(actionName, \"start\"), phases.onstart);\n }\n\n if (__is_16.func(phases.onmove)) {\n this.on(\"\".concat(actionName, \"move\"), phases.onmove);\n }\n\n if (__is_16.func(phases.onend)) {\n this.on(\"\".concat(actionName, \"end\"), phases.onend);\n }\n\n if (__is_16.func(phases.oninertiastart)) {\n this.on(\"\".concat(actionName, \"inertiastart\"), phases.oninertiastart);\n }\n\n return this;\n }\n }, {\n key: \"updatePerActionListeners\",\n value: function updatePerActionListeners(actionName, prev, cur) {\n if (__is_16.array(prev) || __is_16.object(prev)) {\n this.off(actionName, prev);\n }\n\n if (__is_16.array(cur) || __is_16.object(cur)) {\n this.on(actionName, cur);\n }\n }\n }, {\n key: \"setPerAction\",\n value: function setPerAction(actionName, options) {\n var defaults = this._defaults; // for all the default per-action options\n\n for (var optionName in options) {\n var actionOptions = this.options[actionName];\n var optionValue = options[optionName];\n var isArray = __is_16.array(optionValue); // remove old event listeners and add new ones\n\n if (optionName === 'listeners') {\n this.updatePerActionListeners(actionName, actionOptions.listeners, optionValue);\n } // if the option value is an array\n\n\n if (isArray) {\n actionOptions[optionName] = __arr_16.from(optionValue);\n } // if the option value is an object\n else if (!isArray && __is_16.plainObject(optionValue)) {\n // copy the object\n actionOptions[optionName] = (0, ___extend_16[\"default\"])(actionOptions[optionName] || {}, (0, ___clone_16[\"default\"])(optionValue)); // set anabled field to true if it exists in the defaults\n\n if (__is_16.object(defaults.perAction[optionName]) && 'enabled' in defaults.perAction[optionName]) {\n actionOptions[optionName].enabled = optionValue.enabled !== false;\n }\n } // if the option value is a boolean and the default is an object\n else if (__is_16.bool(optionValue) && __is_16.object(defaults.perAction[optionName])) {\n actionOptions[optionName].enabled = optionValue;\n } // if it's anything else, do a plain assignment\n else {\n actionOptions[optionName] = optionValue;\n }\n }\n }\n /**\n * The default function to get an Interactables bounding rect. Can be\n * overridden using {@link Interactable.rectChecker}.\n *\n * @param {Element} [element] The element to measure.\n * @return {object} The object's bounding rectangle.\n */\n\n }, {\n key: \"getRect\",\n value: function getRect(element) {\n element = element || (__is_16.element(this.target) ? this.target : null);\n\n if (__is_16.string(this.target)) {\n element = element || this._context.querySelector(this.target);\n }\n\n return (0, _$domUtils_51.getElementRect)(element);\n }\n /**\n * Returns or sets the function used to calculate the interactable's\n * element's rectangle\n *\n * @param {function} [checker] A function which returns this Interactable's\n * bounding rectangle. See {@link Interactable.getRect}\n * @return {function | object} The checker function or this Interactable\n */\n\n }, {\n key: \"rectChecker\",\n value: function rectChecker(checker) {\n if (__is_16.func(checker)) {\n this.getRect = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.getRect;\n return this;\n }\n\n return this.getRect;\n }\n }, {\n key: \"_backCompatOption\",\n value: function _backCompatOption(optionName, newValue) {\n if ((0, _$domUtils_51.trySelector)(newValue) || __is_16.object(newValue)) {\n this.options[optionName] = newValue;\n\n for (var _i = 0; _i < this._actions.names.length; _i++) {\n var _ref;\n\n _ref = this._actions.names[_i];\n var action = _ref;\n this.options[action][optionName] = newValue;\n }\n\n return this;\n }\n\n return this.options[optionName];\n }\n /**\n * Gets or sets the origin of the Interactable's element. The x and y\n * of the origin will be subtracted from action event coordinates.\n *\n * @param {Element | object | string} [origin] An HTML or SVG Element whose\n * rect will be used, an object eg. { x: 0, y: 0 } or string 'parent', 'self'\n * or any CSS selector\n *\n * @return {object} The current origin or this Interactable\n */\n\n }, {\n key: \"origin\",\n value: function origin(newValue) {\n return this._backCompatOption('origin', newValue);\n }\n /**\n * Returns or sets the mouse coordinate types used to calculate the\n * movement of the pointer.\n *\n * @param {string} [newValue] Use 'client' if you will be scrolling while\n * interacting; Use 'page' if you want autoScroll to work\n * @return {string | object} The current deltaSource or this Interactable\n */\n\n }, {\n key: \"deltaSource\",\n value: function deltaSource(newValue) {\n if (newValue === 'page' || newValue === 'client') {\n this.options.deltaSource = newValue;\n return this;\n }\n\n return this.options.deltaSource;\n }\n /**\n * Gets the selector context Node of the Interactable. The default is\n * `window.document`.\n *\n * @return {Node} The context Node of this Interactable\n */\n\n }, {\n key: \"context\",\n value: function context() {\n return this._context;\n }\n }, {\n key: \"inContext\",\n value: function inContext(element) {\n return this._context === element.ownerDocument || (0, _$domUtils_51.nodeContains)(this._context, element);\n }\n }, {\n key: \"testIgnoreAllow\",\n value: function testIgnoreAllow(options, targetNode, eventTarget) {\n return !this.testIgnore(options.ignoreFrom, targetNode, eventTarget) && this.testAllow(options.allowFrom, targetNode, eventTarget);\n }\n }, {\n key: \"testAllow\",\n value: function testAllow(allowFrom, targetNode, element) {\n if (!allowFrom) {\n return true;\n }\n\n if (!__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(allowFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, allowFrom, targetNode);\n } else if (__is_16.element(allowFrom)) {\n return (0, _$domUtils_51.nodeContains)(allowFrom, element);\n }\n\n return false;\n }\n }, {\n key: \"testIgnore\",\n value: function testIgnore(ignoreFrom, targetNode, element) {\n if (!ignoreFrom || !__is_16.element(element)) {\n return false;\n }\n\n if (__is_16.string(ignoreFrom)) {\n return (0, _$domUtils_51.matchesUpTo)(element, ignoreFrom, targetNode);\n } else if (__is_16.element(ignoreFrom)) {\n return (0, _$domUtils_51.nodeContains)(ignoreFrom, element);\n }\n\n return false;\n }\n /**\n * Calls listeners for the given InteractEvent type bound globally\n * and directly to this Interactable\n *\n * @param {InteractEvent} iEvent The InteractEvent object to be fired on this\n * Interactable\n * @return {Interactable} this Interactable\n */\n\n }, {\n key: \"fire\",\n value: function fire(iEvent) {\n this.events.fire(iEvent);\n return this;\n }\n }, {\n key: \"_onOff\",\n value: function _onOff(method, typeArg, listenerArg, options) {\n if (__is_16.object(typeArg) && !__is_16.array(typeArg)) {\n options = listenerArg;\n listenerArg = null;\n }\n\n var addRemove = method === 'on' ? 'add' : 'remove';\n var listeners = (0, ___normalizeListeners_16[\"default\"])(typeArg, listenerArg);\n\n for (var type in listeners) {\n if (type === 'wheel') {\n type = ___browser_16[\"default\"].wheelEvent;\n }\n\n for (var _i2 = 0; _i2 < listeners[type].length; _i2++) {\n var _ref2;\n\n _ref2 = listeners[type][_i2];\n var listener = _ref2;\n\n // if it is an action event type\n if (__arr_16.contains(this._actions.eventTypes, type)) {\n this.events[method](type, listener);\n } // delegated event\n else if (__is_16.string(this.target)) {\n ___events_16[\"default\"][\"\".concat(addRemove, \"Delegate\")](this.target, this._context, type, listener, options);\n } // remove listener from this Interactable's element\n else {\n ___events_16[\"default\"][addRemove](this.target, type, listener, options);\n }\n }\n }\n\n return this;\n }\n /**\n * Binds a listener for an InteractEvent, pointerEvent or DOM event.\n *\n * @param {string | array | object} types The types of events to listen\n * for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * addEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"on\",\n value: function on(types, listener, options) {\n return this._onOff('on', types, listener, options);\n }\n /**\n * Removes an InteractEvent, pointerEvent or DOM event listener.\n *\n * @param {string | array | object} types The types of events that were\n * listened for\n * @param {function | array | object} [listener] The event listener function(s)\n * @param {object | boolean} [options] options object or useCapture flag for\n * removeEventListener\n * @return {Interactable} This Interactable\n */\n\n }, {\n key: \"off\",\n value: function off(types, listener, options) {\n return this._onOff('off', types, listener, options);\n }\n /**\n * Reset the options of this Interactable\n *\n * @param {object} options The new settings to apply\n * @return {object} This Interactable\n */\n\n }, {\n key: \"set\",\n value: function set(options) {\n var defaults = this._defaults;\n\n if (!__is_16.object(options)) {\n options = {};\n }\n\n this.options = (0, ___clone_16[\"default\"])(defaults.base);\n\n for (var actionName in this._actions.methodDict) {\n var methodName = this._actions.methodDict[actionName];\n this.options[actionName] = {};\n this.setPerAction(actionName, (0, ___extend_16[\"default\"])((0, ___extend_16[\"default\"])({}, defaults.perAction), defaults.actions[actionName]));\n this[methodName](options[actionName]);\n }\n\n for (var setting in options) {\n if (__is_16.func(this[setting])) {\n this[setting](options[setting]);\n }\n }\n\n return this;\n }\n /**\n * Remove this interactable from the list of interactables and remove it's\n * action capabilities and event listeners\n *\n * @return {interact}\n */\n\n }, {\n key: \"unset\",\n value: function unset() {\n ___events_16[\"default\"].remove(this.target, 'all');\n\n if (__is_16.string(this.target)) {\n // remove delegated events\n for (var type in ___events_16[\"default\"].delegatedEvents) {\n var delegated = ___events_16[\"default\"].delegatedEvents[type];\n\n if (delegated.selectors[0] === this.target && delegated.contexts[0] === this._context) {\n delegated.selectors.splice(0, 1);\n delegated.contexts.splice(0, 1);\n delegated.listeners.splice(0, 1); // remove the arrays if they are empty\n\n if (!delegated.selectors.length) {\n delegated[type] = null;\n }\n }\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateListener);\n\n ___events_16[\"default\"].remove(this._context, type, ___events_16[\"default\"].delegateUseCapture, true);\n }\n } else {\n ___events_16[\"default\"].remove(this.target, 'all');\n }\n }\n }, {\n key: \"_defaults\",\n get: function get() {\n return {\n base: {},\n perAction: {},\n actions: {}\n };\n }\n }]);\n\n return Interactable;\n}();\n\n_$Interactable_16.Interactable = Interactable;\nvar ___default_16 = Interactable;\n_$Interactable_16[\"default\"] = ___default_16;\n\nvar _$InteractableSet_17 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableSet_17, \"__esModule\", {\n value: true\n});\n_$InteractableSet_17[\"default\"] = void 0;\n\nvar __arr_17 = ___interopRequireWildcard_17(_$arr_47);\n\nvar __domUtils_17 = ___interopRequireWildcard_17(_$domUtils_51);\n\nvar ___extend_17 = ___interopRequireDefault_17(_$extend_53);\n\nvar __is_17 = ___interopRequireWildcard_17(_$is_57);\n\nvar ___Signals_17 = ___interopRequireDefault_17(_$Signals_46);\n\nfunction ___interopRequireDefault_17(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_17() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_17 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_17(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_17(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___classCallCheck_17(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_17(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_17(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_17(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_17(Constructor, staticProps); return Constructor; }\n\nvar InteractableSet =\n/*#__PURE__*/\nfunction () {\n function InteractableSet(scope) {\n var _this = this;\n\n ___classCallCheck_17(this, InteractableSet);\n\n this.scope = scope;\n this.signals = new ___Signals_17[\"default\"](); // all set interactables\n\n this.list = [];\n this.selectorMap = {};\n this.signals.on('unset', function (_ref) {\n var interactable = _ref.interactable;\n var target = interactable.target,\n context = interactable._context;\n var targetMappings = __is_17.string(target) ? _this.selectorMap[target] : target[_this.scope.id];\n var targetIndex = targetMappings.findIndex(function (m) {\n return m.context === context;\n });\n\n if (targetMappings[targetIndex]) {\n // Destroying mappingInfo's context and interactable\n targetMappings[targetIndex].context = null;\n targetMappings[targetIndex].interactable = null;\n }\n\n targetMappings.splice(targetIndex, 1);\n });\n }\n\n ___createClass_17(InteractableSet, [{\n key: \"new\",\n value: function _new(target, options) {\n options = (0, ___extend_17[\"default\"])(options || {}, {\n actions: this.scope.actions\n });\n var interactable = new this.scope.Interactable(target, options, this.scope.document);\n var mappingInfo = {\n context: interactable._context,\n interactable: interactable\n };\n this.scope.addDocument(interactable._doc);\n this.list.push(interactable);\n\n if (__is_17.string(target)) {\n if (!this.selectorMap[target]) {\n this.selectorMap[target] = [];\n }\n\n this.selectorMap[target].push(mappingInfo);\n } else {\n if (!interactable.target[this.scope.id]) {\n Object.defineProperty(target, this.scope.id, {\n value: [],\n configurable: true\n });\n }\n\n target[this.scope.id].push(mappingInfo);\n }\n\n this.signals.fire('new', {\n target: target,\n options: options,\n interactable: interactable,\n win: this.scope._win\n });\n return interactable;\n }\n }, {\n key: \"get\",\n value: function get(target, options) {\n var context = options && options.context || this.scope.document;\n var isSelector = __is_17.string(target);\n var targetMappings = isSelector ? this.selectorMap[target] : target[this.scope.id];\n\n if (!targetMappings) {\n return null;\n }\n\n var found = __arr_17.find(targetMappings, function (m) {\n return m.context === context && (isSelector || m.interactable.inContext(target));\n });\n return found && found.interactable;\n }\n }, {\n key: \"forEachMatch\",\n value: function forEachMatch(node, callback) {\n for (var _i = 0; _i < this.list.length; _i++) {\n var _ref2;\n\n _ref2 = this.list[_i];\n var interactable = _ref2;\n var ret = void 0;\n\n if ((__is_17.string(interactable.target) // target is a selector and the element matches\n ? __is_17.element(node) && __domUtils_17.matchesSelector(node, interactable.target) : // target is the element\n node === interactable.target) && // the element is in context\n interactable.inContext(node)) {\n ret = callback(interactable);\n }\n\n if (ret !== undefined) {\n return ret;\n }\n }\n }\n }]);\n\n return InteractableSet;\n}();\n\n_$InteractableSet_17[\"default\"] = InteractableSet;\n\nvar _$BaseEvent_13 = {};\n\"use strict\";\n\nObject.defineProperty(_$BaseEvent_13, \"__esModule\", {\n value: true\n});\n_$BaseEvent_13[\"default\"] = _$BaseEvent_13.BaseEvent = _$BaseEvent_13.EventPhase = void 0;\n\nfunction ___classCallCheck_13(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_13(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_13(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_13(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_13(Constructor, staticProps); return Constructor; }\n\nvar EventPhase;\n_$BaseEvent_13.EventPhase = EventPhase;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(EventPhase || (_$BaseEvent_13.EventPhase = EventPhase = {}));\n\nvar BaseEvent =\n/*#__PURE__*/\nfunction () {\n function BaseEvent(interaction) {\n ___classCallCheck_13(this, BaseEvent);\n\n this.immediatePropagationStopped = false;\n this.propagationStopped = false;\n this._interaction = interaction;\n }\n\n ___createClass_13(BaseEvent, [{\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }, {\n key: \"interaction\",\n get: function get() {\n return this._interaction._proxy;\n }\n }]);\n\n return BaseEvent;\n}();\n\n_$BaseEvent_13.BaseEvent = BaseEvent;\nvar ___default_13 = BaseEvent;\n_$BaseEvent_13[\"default\"] = ___default_13;\n\nvar _$InteractEvent_15 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractEvent_15, \"__esModule\", {\n value: true\n});\n_$InteractEvent_15[\"default\"] = _$InteractEvent_15.InteractEvent = _$InteractEvent_15.EventPhase = void 0;\n\nvar ___extend_15 = ___interopRequireDefault_15(_$extend_53);\n\nvar ___getOriginXY_15 = ___interopRequireDefault_15(_$getOriginXY_54);\n\nvar ___hypot_15 = ___interopRequireDefault_15(_$hypot_55);\n\nvar _BaseEvent2 = ___interopRequireDefault_15(_$BaseEvent_13);\n\nvar _defaultOptions = ___interopRequireDefault_15(_$defaultOptions_20);\n\nfunction ___interopRequireDefault_15(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_15(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_15 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_15 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_15(obj); }\n\nfunction ___classCallCheck_15(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_15(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_15(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_15(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_15(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (___typeof_15(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar __EventPhase_15;\n_$InteractEvent_15.EventPhase = __EventPhase_15;\n\n(function (EventPhase) {\n EventPhase[\"Start\"] = \"start\";\n EventPhase[\"Move\"] = \"move\";\n EventPhase[\"End\"] = \"end\";\n EventPhase[\"_NONE\"] = \"\";\n})(__EventPhase_15 || (_$InteractEvent_15.EventPhase = __EventPhase_15 = {}));\n\nvar InteractEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n _inherits(InteractEvent, _BaseEvent);\n\n /** */\n function InteractEvent(interaction, event, actionName, phase, element, related, preEnd, type) {\n var _this;\n\n ___classCallCheck_15(this, InteractEvent);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(InteractEvent).call(this, interaction));\n element = element || interaction.element;\n var target = interaction.interactable;\n var deltaSource = (target && target.options || _defaultOptions[\"default\"]).deltaSource;\n var origin = (0, ___getOriginXY_15[\"default\"])(target, element, actionName);\n var starting = phase === 'start';\n var ending = phase === 'end';\n var prevEvent = starting ? _assertThisInitialized(_this) : interaction.prevEvent;\n var coords = starting ? interaction.coords.start : ending ? {\n page: prevEvent.page,\n client: prevEvent.client,\n timeStamp: interaction.coords.cur.timeStamp\n } : interaction.coords.cur;\n _this.page = (0, ___extend_15[\"default\"])({}, coords.page);\n _this.client = (0, ___extend_15[\"default\"])({}, coords.client);\n _this.rect = (0, ___extend_15[\"default\"])({}, interaction.rect);\n _this.timeStamp = coords.timeStamp;\n\n if (!ending) {\n _this.page.x -= origin.x;\n _this.page.y -= origin.y;\n _this.client.x -= origin.x;\n _this.client.y -= origin.y;\n }\n\n _this.ctrlKey = event.ctrlKey;\n _this.altKey = event.altKey;\n _this.shiftKey = event.shiftKey;\n _this.metaKey = event.metaKey;\n _this.button = event.button;\n _this.buttons = event.buttons;\n _this.target = element;\n _this.currentTarget = element;\n _this.relatedTarget = related || null;\n _this.preEnd = preEnd;\n _this.type = type || actionName + (phase || '');\n _this.interactable = target;\n _this.t0 = starting ? interaction.pointers[interaction.pointers.length - 1].downTime : prevEvent.t0;\n _this.x0 = interaction.coords.start.page.x - origin.x;\n _this.y0 = interaction.coords.start.page.y - origin.y;\n _this.clientX0 = interaction.coords.start.client.x - origin.x;\n _this.clientY0 = interaction.coords.start.client.y - origin.y;\n\n if (starting || ending) {\n _this.delta = {\n x: 0,\n y: 0\n };\n } else {\n _this.delta = {\n x: _this[deltaSource].x - prevEvent[deltaSource].x,\n y: _this[deltaSource].y - prevEvent[deltaSource].y\n };\n }\n\n _this.dt = interaction.coords.delta.timeStamp;\n _this.duration = _this.timeStamp - _this.t0; // velocity and speed in pixels per second\n\n _this.velocity = (0, ___extend_15[\"default\"])({}, interaction.coords.velocity[deltaSource]);\n _this.speed = (0, ___hypot_15[\"default\"])(_this.velocity.x, _this.velocity.y);\n _this.swipe = ending || phase === 'inertiastart' ? _this.getSwipe() : null;\n return _this;\n }\n\n ___createClass_15(InteractEvent, [{\n key: \"getSwipe\",\n value: function getSwipe() {\n var interaction = this._interaction;\n\n if (interaction.prevEvent.speed < 600 || this.timeStamp - interaction.prevEvent.timeStamp > 150) {\n return null;\n }\n\n var angle = 180 * Math.atan2(interaction.prevEvent.velocityY, interaction.prevEvent.velocityX) / Math.PI;\n var overlap = 22.5;\n\n if (angle < 0) {\n angle += 360;\n }\n\n var left = 135 - overlap <= angle && angle < 225 + overlap;\n var up = 225 - overlap <= angle && angle < 315 + overlap;\n var right = !left && (315 - overlap <= angle || angle < 45 + overlap);\n var down = !up && 45 - overlap <= angle && angle < 135 + overlap;\n return {\n up: up,\n down: down,\n left: left,\n right: right,\n angle: angle,\n speed: interaction.prevEvent.speed,\n velocity: {\n x: interaction.prevEvent.velocityX,\n y: interaction.prevEvent.velocityY\n }\n };\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n /**\n * Don't call listeners on the remaining targets\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n /**\n * Don't call any other listeners (even on the current target)\n */\n\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"pageX\",\n get: function get() {\n return this.page.x;\n },\n set: function set(value) {\n this.page.x = value;\n }\n }, {\n key: \"pageY\",\n get: function get() {\n return this.page.y;\n },\n set: function set(value) {\n this.page.y = value;\n }\n }, {\n key: \"clientX\",\n get: function get() {\n return this.client.x;\n },\n set: function set(value) {\n this.client.x = value;\n }\n }, {\n key: \"clientY\",\n get: function get() {\n return this.client.y;\n },\n set: function set(value) {\n this.client.y = value;\n }\n }, {\n key: \"dx\",\n get: function get() {\n return this.delta.x;\n },\n set: function set(value) {\n this.delta.x = value;\n }\n }, {\n key: \"dy\",\n get: function get() {\n return this.delta.y;\n },\n set: function set(value) {\n this.delta.y = value;\n }\n }, {\n key: \"velocityX\",\n get: function get() {\n return this.velocity.x;\n },\n set: function set(value) {\n this.velocity.x = value;\n }\n }, {\n key: \"velocityY\",\n get: function get() {\n return this.velocity.y;\n },\n set: function set(value) {\n this.velocity.y = value;\n }\n }]);\n\n return InteractEvent;\n}(_BaseEvent2[\"default\"]);\n\n_$InteractEvent_15.InteractEvent = InteractEvent;\nvar ___default_15 = InteractEvent;\n_$InteractEvent_15[\"default\"] = ___default_15;\n\nvar _$PointerInfo_19 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerInfo_19, \"__esModule\", {\n value: true\n});\n_$PointerInfo_19[\"default\"] = _$PointerInfo_19.PointerInfo = void 0;\n\nfunction ___classCallCheck_19(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable @typescript-eslint/no-parameter-properties */\nvar PointerInfo = function PointerInfo(id, pointer, event, downTime, downTarget) {\n ___classCallCheck_19(this, PointerInfo);\n\n this.id = id;\n this.pointer = pointer;\n this.event = event;\n this.downTime = downTime;\n this.downTarget = downTarget;\n};\n\n_$PointerInfo_19.PointerInfo = PointerInfo;\nvar ___default_19 = PointerInfo;\n_$PointerInfo_19[\"default\"] = ___default_19;\n\nvar _$interactionFinder_22 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactionFinder_22, \"__esModule\", {\n value: true\n});\n_$interactionFinder_22[\"default\"] = void 0;\n\nvar __dom_22 = ___interopRequireWildcard_22(_$domUtils_51);\n\nfunction ___getRequireWildcardCache_22() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_22 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_22(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_22(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar finder = {\n methodOrder: ['simulationResume', 'mouseOrPen', 'hasPointer', 'idle'],\n search: function search(details) {\n for (var _i = 0; _i < finder.methodOrder.length; _i++) {\n var _ref;\n\n _ref = finder.methodOrder[_i];\n var method = _ref;\n var interaction = finder[method](details);\n\n if (interaction) {\n return interaction;\n }\n }\n },\n // try to resume simulation with a new pointer\n simulationResume: function simulationResume(_ref2) {\n var pointerType = _ref2.pointerType,\n eventType = _ref2.eventType,\n eventTarget = _ref2.eventTarget,\n scope = _ref2.scope;\n\n if (!/down|start/i.test(eventType)) {\n return null;\n }\n\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i2];\n var interaction = _ref3;\n var element = eventTarget;\n\n if (interaction.simulation && interaction.simulation.allowResume && interaction.pointerType === pointerType) {\n while (element) {\n // if the element is the interaction element\n if (element === interaction.element) {\n return interaction;\n }\n\n element = __dom_22.parentNode(element);\n }\n }\n }\n\n return null;\n },\n // if it's a mouse or pen interaction\n mouseOrPen: function mouseOrPen(_ref4) {\n var pointerId = _ref4.pointerId,\n pointerType = _ref4.pointerType,\n eventType = _ref4.eventType,\n scope = _ref4.scope;\n\n if (pointerType !== 'mouse' && pointerType !== 'pen') {\n return null;\n }\n\n var firstNonActive;\n\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i3];\n var interaction = _ref5;\n\n if (interaction.pointerType === pointerType) {\n // if it's a down event, skip interactions with running simulations\n if (interaction.simulation && !hasPointerId(interaction, pointerId)) {\n continue;\n } // if the interaction is active, return it immediately\n\n\n if (interaction.interacting()) {\n return interaction;\n } // otherwise save it and look for another active interaction\n else if (!firstNonActive) {\n firstNonActive = interaction;\n }\n }\n } // if no active mouse interaction was found use the first inactive mouse\n // interaction\n\n\n if (firstNonActive) {\n return firstNonActive;\n } // find any mouse or pen interaction.\n // ignore the interaction if the eventType is a *down, and a simulation\n // is active\n\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref6;\n\n _ref6 = scope.interactions.list[_i4];\n var _interaction = _ref6;\n\n if (_interaction.pointerType === pointerType && !(/down/i.test(eventType) && _interaction.simulation)) {\n return _interaction;\n }\n }\n\n return null;\n },\n // get interaction that has this pointer\n hasPointer: function hasPointer(_ref7) {\n var pointerId = _ref7.pointerId,\n scope = _ref7.scope;\n\n for (var _i5 = 0; _i5 < scope.interactions.list.length; _i5++) {\n var _ref8;\n\n _ref8 = scope.interactions.list[_i5];\n var interaction = _ref8;\n\n if (hasPointerId(interaction, pointerId)) {\n return interaction;\n }\n }\n\n return null;\n },\n // get first idle interaction with a matching pointerType\n idle: function idle(_ref9) {\n var pointerType = _ref9.pointerType,\n scope = _ref9.scope;\n\n for (var _i6 = 0; _i6 < scope.interactions.list.length; _i6++) {\n var _ref10;\n\n _ref10 = scope.interactions.list[_i6];\n var interaction = _ref10;\n\n // if there's already a pointer held down\n if (interaction.pointers.length === 1) {\n var target = interaction.interactable; // don't add this pointer if there is a target interactable and it\n // isn't gesturable\n\n if (target && !(target.options.gesture && target.options.gesture.enabled)) {\n continue;\n }\n } // maximum of 2 pointers per interaction\n else if (interaction.pointers.length >= 2) {\n continue;\n }\n\n if (!interaction.interacting() && pointerType === interaction.pointerType) {\n return interaction;\n }\n }\n\n return null;\n }\n};\n\nfunction hasPointerId(interaction, pointerId) {\n return interaction.pointers.some(function (_ref11) {\n var id = _ref11.id;\n return id === pointerId;\n });\n}\n\nvar ___default_22 = finder;\n_$interactionFinder_22[\"default\"] = ___default_22;\n\nvar _$drag_1 = {};\n\"use strict\";\n\nObject.defineProperty(_$drag_1, \"__esModule\", {\n value: true\n});\n_$drag_1[\"default\"] = void 0;\n\nvar ___scope_1 = _$scope_24({});\n\nvar __arr_1 = ___interopRequireWildcard_1(_$arr_47);\n\nvar __is_1 = ___interopRequireWildcard_1(_$is_57);\n\nfunction ___getRequireWildcardCache_1() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_1 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_1(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_1(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_1.ActionName.Drag = 'drag';\n\nfunction __install_1(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('before-action-move', beforeMove);\n interactions.signals.on('action-resume', beforeMove); // dragmove\n\n interactions.signals.on('action-move', move);\n Interactable.prototype.draggable = drag.draggable;\n actions[___scope_1.ActionName.Drag] = drag;\n actions.names.push(___scope_1.ActionName.Drag);\n __arr_1.merge(actions.eventTypes, ['dragstart', 'dragmove', 'draginertiastart', 'dragresume', 'dragend']);\n actions.methodDict.drag = 'draggable';\n defaults.actions.drag = drag.defaults;\n}\n\nfunction beforeMove(_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x') {\n interaction.coords.cur.page.y = interaction.coords.start.page.y;\n interaction.coords.cur.client.y = interaction.coords.start.client.y;\n interaction.coords.velocity.client.y = 0;\n interaction.coords.velocity.page.y = 0;\n } else if (axis === 'y') {\n interaction.coords.cur.page.x = interaction.coords.start.page.x;\n interaction.coords.cur.client.x = interaction.coords.start.client.x;\n interaction.coords.velocity.client.x = 0;\n interaction.coords.velocity.page.x = 0;\n }\n}\n\nfunction move(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var axis = interaction.prepared.axis;\n\n if (axis === 'x' || axis === 'y') {\n var opposite = axis === 'x' ? 'y' : 'x';\n iEvent.page[opposite] = interaction.coords.start.page[opposite];\n iEvent.client[opposite] = interaction.coords.start.client[opposite];\n iEvent.delta[opposite] = 0;\n }\n}\n/**\n * ```js\n * interact(element).draggable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // the axis in which the first movement must be\n * // for the drag sequence to start\n * // 'xy' by default - any direction\n * startAxis: 'x' || 'y' || 'xy',\n *\n * // 'xy' by default - don't restrict to one axis (move in any direction)\n * // 'x' or 'y' to restrict movement to either axis\n * // 'start' to restrict movement to the axis the drag started in\n * lockAxis: 'x' || 'y' || 'xy' || 'start',\n *\n * // max number of drags that can happen concurrently\n * // with elements of this Interactable. Infinity by default\n * max: Infinity,\n *\n * // max number of drags that can target the same element+Interactable\n * // 1 by default\n * maxPerElement: 2\n * })\n *\n * var isDraggable = interact('element').draggable(); // true\n * ```\n *\n * Get or set whether drag actions can be performed on the target\n *\n * @alias Interactable.prototype.draggable\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on drag events (object makes the Interactable\n * draggable)\n * @return {boolean | Interactable} boolean indicating if this can be the\n * target of drag events, or this Interctable\n */\n\n\nvar draggable = function draggable(options) {\n if (__is_1.object(options)) {\n this.options.drag.enabled = options.enabled !== false;\n this.setPerAction('drag', options);\n this.setOnEvents('drag', options);\n\n if (/^(xy|x|y|start)$/.test(options.lockAxis)) {\n this.options.drag.lockAxis = options.lockAxis;\n }\n\n if (/^(xy|x|y)$/.test(options.startAxis)) {\n this.options.drag.startAxis = options.startAxis;\n }\n\n return this;\n }\n\n if (__is_1.bool(options)) {\n this.options.drag.enabled = options;\n return this;\n }\n\n return this.options.drag;\n};\n\nvar drag = {\n id: 'actions/drag',\n install: __install_1,\n draggable: draggable,\n beforeMove: beforeMove,\n move: move,\n defaults: {\n startAxis: 'xy',\n lockAxis: 'xy'\n },\n checker: function checker(_pointer, _event, interactable) {\n var dragOptions = interactable.options.drag;\n return dragOptions.enabled ? {\n name: 'drag',\n axis: dragOptions.lockAxis === 'start' ? dragOptions.startAxis : dragOptions.lockAxis\n } : null;\n },\n getCursor: function getCursor() {\n return 'move';\n }\n};\nvar ___default_1 = drag;\n_$drag_1[\"default\"] = ___default_1;\n\nvar _$DropEvent_2 = {};\n\"use strict\";\n\nObject.defineProperty(_$DropEvent_2, \"__esModule\", {\n value: true\n});\n_$DropEvent_2[\"default\"] = void 0;\n\nvar ___BaseEvent2_2 = ___interopRequireDefault_2(_$BaseEvent_13);\n\nvar __arr_2 = ___interopRequireWildcard_2(_$arr_47);\n\nfunction ___getRequireWildcardCache_2() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_2 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_2(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_2(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_2(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_2 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_2 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_2(obj); }\n\nfunction ___toConsumableArray_2(arr) { return ___arrayWithoutHoles_2(arr) || ___iterableToArray_2(arr) || ___nonIterableSpread_2(); }\n\nfunction ___nonIterableSpread_2() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_2(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_2(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction ___classCallCheck_2(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_2(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_2(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_2(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_2(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_2(self, call) { if (call && (___typeof_2(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_2(self); }\n\nfunction ___assertThisInitialized_2(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___getPrototypeOf_2(o) { ___getPrototypeOf_2 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_2(o); }\n\nfunction ___inherits_2(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_2(subClass, superClass); }\n\nfunction ___setPrototypeOf_2(o, p) { ___setPrototypeOf_2 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_2(o, p); }\n\nvar DropEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_2(DropEvent, _BaseEvent);\n\n /**\n * Class of events fired on dropzones during drags with acceptable targets.\n */\n function DropEvent(dropState, dragEvent, type) {\n var _this;\n\n ___classCallCheck_2(this, DropEvent);\n\n _this = ___possibleConstructorReturn_2(this, ___getPrototypeOf_2(DropEvent).call(this, dragEvent._interaction));\n _this.propagationStopped = false;\n _this.immediatePropagationStopped = false;\n\n var _ref = type === 'dragleave' ? dropState.prev : dropState.cur,\n element = _ref.element,\n dropzone = _ref.dropzone;\n\n _this.type = type;\n _this.target = element;\n _this.currentTarget = element;\n _this.dropzone = dropzone;\n _this.dragEvent = dragEvent;\n _this.relatedTarget = dragEvent.target;\n _this.draggable = dragEvent.interactable;\n _this.timeStamp = dragEvent.timeStamp;\n return _this;\n }\n /**\n * If this is a `dropactivate` event, the dropzone element will be\n * deactivated.\n *\n * If this is a `dragmove` or `dragenter`, a `dragleave` will be fired on the\n * dropzone element and more.\n */\n\n\n ___createClass_2(DropEvent, [{\n key: \"reject\",\n value: function reject() {\n var _this2 = this;\n\n var dropState = this._interaction.dropState;\n\n if (this.type !== 'dropactivate' && (!this.dropzone || dropState.cur.dropzone !== this.dropzone || dropState.cur.element !== this.target)) {\n return;\n }\n\n dropState.prev.dropzone = this.dropzone;\n dropState.prev.element = this.target;\n dropState.rejected = true;\n dropState.events.enter = null;\n this.stopImmediatePropagation();\n\n if (this.type === 'dropactivate') {\n var activeDrops = dropState.activeDrops;\n var index = __arr_2.findIndex(activeDrops, function (_ref2) {\n var dropzone = _ref2.dropzone,\n element = _ref2.element;\n return dropzone === _this2.dropzone && element === _this2.target;\n });\n dropState.activeDrops = [].concat(___toConsumableArray_2(activeDrops.slice(0, index)), ___toConsumableArray_2(activeDrops.slice(index + 1)));\n var deactivateEvent = new DropEvent(dropState, this.dragEvent, 'dropdeactivate');\n deactivateEvent.dropzone = this.dropzone;\n deactivateEvent.target = this.target;\n this.dropzone.fire(deactivateEvent);\n } else {\n this.dropzone.fire(new DropEvent(dropState, this.dragEvent, 'dragleave'));\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {}\n }, {\n key: \"stopPropagation\",\n value: function stopPropagation() {\n this.propagationStopped = true;\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n this.immediatePropagationStopped = this.propagationStopped = true;\n }\n }]);\n\n return DropEvent;\n}(___BaseEvent2_2[\"default\"]);\n\nvar ___default_2 = DropEvent;\n_$DropEvent_2[\"default\"] = ___default_2;\n\nvar _$drop_3 = {};\n\"use strict\";\n\nObject.defineProperty(_$drop_3, \"__esModule\", {\n value: true\n});\n_$drop_3[\"default\"] = void 0;\n\nvar __utils_3 = ___interopRequireWildcard_3(_$utils_56);\n\nvar _drag = ___interopRequireDefault_3(_$drag_1);\n\nvar _DropEvent = ___interopRequireDefault_3(_$DropEvent_2);\n\nfunction ___interopRequireDefault_3(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_3() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_3 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_3(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_3(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_3(scope) {\n var actions = scope.actions,\n interact = scope.interact,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_drag[\"default\"]);\n interactions.signals.on('before-action-start', function (_ref) {\n var interaction = _ref.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n interaction.dropState = {\n cur: {\n dropzone: null,\n element: null\n },\n prev: {\n dropzone: null,\n element: null\n },\n rejected: null,\n events: null,\n activeDrops: null\n };\n });\n interactions.signals.on('after-action-start', function (_ref2) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n dragEvent = _ref2.iEvent;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState; // reset active dropzones\n\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n dropState.events = getDropEvents(interaction, event, dragEvent);\n\n if (dropState.events.activate) {\n fireActivationEvents(dropState.activeDrops, dropState.events.activate);\n }\n }); // FIXME proper signal types\n\n interactions.signals.on('action-move', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('action-end', function (arg) {\n return onEventCreated(arg, scope);\n });\n interactions.signals.on('after-action-move', function (_ref3) {\n var interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n interaction.dropState.events = {};\n });\n interactions.signals.on('after-action-end', function (_ref4) {\n var interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n fireDropEvents(interaction, interaction.dropState.events);\n });\n interactions.signals.on('stop', function (_ref5) {\n var interaction = _ref5.interaction;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (dropState) {\n dropState.activeDrops = null;\n dropState.events = null;\n dropState.cur.dropzone = null;\n dropState.cur.element = null;\n dropState.prev.dropzone = null;\n dropState.prev.element = null;\n dropState.rejected = false;\n }\n });\n /**\n *\n * ```js\n * interact('.drop').dropzone({\n * accept: '.can-drop' || document.getElementById('single-drop'),\n * overlap: 'pointer' || 'center' || zeroToOne\n * }\n * ```\n *\n * Returns or sets whether draggables can be dropped onto this target to\n * trigger drop events\n *\n * Dropzones can receive the following events:\n * - `dropactivate` and `dropdeactivate` when an acceptable drag starts and ends\n * - `dragenter` and `dragleave` when a draggable enters and leaves the dropzone\n * - `dragmove` when a draggable that has entered the dropzone is moved\n * - `drop` when a draggable is dropped into this dropzone\n *\n * Use the `accept` option to allow only elements that match the given CSS\n * selector or element. The value can be:\n *\n * - **an Element** - only that element can be dropped into this dropzone.\n * - **a string**, - the element being dragged must match it as a CSS selector.\n * - **`null`** - accept options is cleared - it accepts any element.\n *\n * Use the `overlap` option to set how drops are checked for. The allowed\n * values are:\n *\n * - `'pointer'`, the pointer must be over the dropzone (default)\n * - `'center'`, the draggable element's center must be over the dropzone\n * - a number from 0-1 which is the `(intersection area) / (draggable area)`.\n * e.g. `0.5` for drop to happen when half of the area of the draggable is\n * over the dropzone\n *\n * Use the `checker` option to specify a function to check if a dragged element\n * is over this Interactable.\n *\n * @param {boolean | object | null} [options] The new options to be set.\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.dropzone = function (options) {\n return dropzoneMethod(this, options);\n };\n /**\n * ```js\n * interact(target)\n * .dropChecker(function(dragEvent, // related dragmove or dragend event\n * event, // TouchEvent/PointerEvent/MouseEvent\n * dropped, // bool result of the default checker\n * dropzone, // dropzone Interactable\n * dropElement, // dropzone elemnt\n * draggable, // draggable Interactable\n * draggableElement) {// draggable element\n *\n * return dropped && event.target.hasAttribute('allow-drop')\n * }\n * ```\n */\n\n\n Interactable.prototype.dropCheck = function (dragEvent, event, draggable, draggableElement, dropElement, rect) {\n return dropCheckMethod(this, dragEvent, event, draggable, draggableElement, dropElement, rect);\n };\n /**\n * Returns or sets whether the dimensions of dropzone elements are calculated\n * on every dragmove or only on dragstart for the default dropChecker\n *\n * @param {boolean} [newValue] True to check on each move. False to check only\n * before start\n * @return {boolean | interact} The current setting or interact\n */\n\n\n interact.dynamicDrop = function (newValue) {\n if (__utils_3.is.bool(newValue)) {\n // if (dragging && scope.dynamicDrop !== newValue && !newValue) {\n // calcRects(dropzones)\n // }\n scope.dynamicDrop = newValue;\n return interact;\n }\n\n return scope.dynamicDrop;\n };\n\n __utils_3.arr.merge(actions.eventTypes, ['dragenter', 'dragleave', 'dropactivate', 'dropdeactivate', 'dropmove', 'drop']);\n actions.methodDict.drop = 'dropzone';\n scope.dynamicDrop = false;\n defaults.actions.drop = drop.defaults;\n}\n\nfunction collectDrops(_ref6, draggableElement) {\n var interactables = _ref6.interactables;\n var drops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i = 0; _i < interactables.list.length; _i++) {\n var _ref7;\n\n _ref7 = interactables.list[_i];\n var dropzone = _ref7;\n\n if (!dropzone.options.drop.enabled) {\n continue;\n }\n\n var accept = dropzone.options.drop.accept; // test the draggable draggableElement against the dropzone's accept setting\n\n if (__utils_3.is.element(accept) && accept !== draggableElement || __utils_3.is.string(accept) && !__utils_3.dom.matchesSelector(draggableElement, accept) || __utils_3.is.func(accept) && !accept({\n dropzone: dropzone,\n draggableElement: draggableElement\n })) {\n continue;\n } // query for new elements if necessary\n\n\n var dropElements = __utils_3.is.string(dropzone.target) ? dropzone._context.querySelectorAll(dropzone.target) : __utils_3.is.array(dropzone.target) ? dropzone.target : [dropzone.target];\n\n for (var _i2 = 0; _i2 < dropElements.length; _i2++) {\n var _ref8;\n\n _ref8 = dropElements[_i2];\n var dropzoneElement = _ref8;\n\n if (dropzoneElement !== draggableElement) {\n drops.push({\n dropzone: dropzone,\n element: dropzoneElement\n });\n }\n }\n }\n\n return drops;\n}\n\nfunction fireActivationEvents(activeDrops, event) {\n // loop through all active dropzones and trigger event\n for (var _i3 = 0; _i3 < activeDrops.length; _i3++) {\n var _ref9;\n\n _ref9 = activeDrops[_i3];\n var _ref10 = _ref9,\n dropzone = _ref10.dropzone,\n element = _ref10.element;\n event.dropzone = dropzone; // set current element as event target\n\n event.target = element;\n dropzone.fire(event);\n event.propagationStopped = event.immediatePropagationStopped = false;\n }\n} // return a new array of possible drops. getActiveDrops should always be\n// called when a drag has just started or a drag event happens while\n// dynamicDrop is true\n\n\nfunction getActiveDrops(scope, dragElement) {\n // get dropzones and their elements that could receive the draggable\n var activeDrops = collectDrops(scope, dragElement);\n\n for (var _i4 = 0; _i4 < activeDrops.length; _i4++) {\n var _ref11;\n\n _ref11 = activeDrops[_i4];\n var activeDrop = _ref11;\n activeDrop.rect = activeDrop.dropzone.getRect(activeDrop.element);\n }\n\n return activeDrops;\n}\n\nfunction getDrop(_ref12, dragEvent, pointerEvent) {\n var dropState = _ref12.dropState,\n draggable = _ref12.interactable,\n dragElement = _ref12.element;\n var validDrops = []; // collect all dropzones and their elements which qualify for a drop\n\n for (var _i5 = 0; _i5 < dropState.activeDrops.length; _i5++) {\n var _ref13;\n\n _ref13 = dropState.activeDrops[_i5];\n var _ref14 = _ref13,\n dropzone = _ref14.dropzone,\n dropzoneElement = _ref14.element,\n rect = _ref14.rect;\n validDrops.push(dropzone.dropCheck(dragEvent, pointerEvent, draggable, dragElement, dropzoneElement, rect) ? dropzoneElement : null);\n } // get the most appropriate dropzone based on DOM depth and order\n\n\n var dropIndex = __utils_3.dom.indexOfDeepestElement(validDrops);\n return dropState.activeDrops[dropIndex] || null;\n}\n\nfunction getDropEvents(interaction, _pointerEvent, dragEvent) {\n var dropState = interaction.dropState;\n var dropEvents = {\n enter: null,\n leave: null,\n activate: null,\n deactivate: null,\n move: null,\n drop: null\n };\n\n if (dragEvent.type === 'dragstart') {\n dropEvents.activate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropactivate');\n dropEvents.activate.target = null;\n dropEvents.activate.dropzone = null;\n }\n\n if (dragEvent.type === 'dragend') {\n dropEvents.deactivate = new _DropEvent[\"default\"](dropState, dragEvent, 'dropdeactivate');\n dropEvents.deactivate.target = null;\n dropEvents.deactivate.dropzone = null;\n }\n\n if (dropState.rejected) {\n return dropEvents;\n }\n\n if (dropState.cur.element !== dropState.prev.element) {\n // if there was a previous dropzone, create a dragleave event\n if (dropState.prev.dropzone) {\n dropEvents.leave = new _DropEvent[\"default\"](dropState, dragEvent, 'dragleave');\n dragEvent.dragLeave = dropEvents.leave.target = dropState.prev.element;\n dragEvent.prevDropzone = dropEvents.leave.dropzone = dropState.prev.dropzone;\n } // if dropzone is not null, create a dragenter event\n\n\n if (dropState.cur.dropzone) {\n dropEvents.enter = new _DropEvent[\"default\"](dropState, dragEvent, 'dragenter');\n dragEvent.dragEnter = dropState.cur.element;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n }\n\n if (dragEvent.type === 'dragend' && dropState.cur.dropzone) {\n dropEvents.drop = new _DropEvent[\"default\"](dropState, dragEvent, 'drop');\n dragEvent.dropzone = dropState.cur.dropzone;\n dragEvent.relatedTarget = dropState.cur.element;\n }\n\n if (dragEvent.type === 'dragmove' && dropState.cur.dropzone) {\n dropEvents.move = new _DropEvent[\"default\"](dropState, dragEvent, 'dropmove');\n dropEvents.move.dragmove = dragEvent;\n dragEvent.dropzone = dropState.cur.dropzone;\n }\n\n return dropEvents;\n}\n\nfunction fireDropEvents(interaction, events) {\n var dropState = interaction.dropState;\n var activeDrops = dropState.activeDrops,\n cur = dropState.cur,\n prev = dropState.prev;\n\n if (events.leave) {\n prev.dropzone.fire(events.leave);\n }\n\n if (events.move) {\n cur.dropzone.fire(events.move);\n }\n\n if (events.enter) {\n cur.dropzone.fire(events.enter);\n }\n\n if (events.drop) {\n cur.dropzone.fire(events.drop);\n }\n\n if (events.deactivate) {\n fireActivationEvents(activeDrops, events.deactivate);\n }\n\n dropState.prev.dropzone = cur.dropzone;\n dropState.prev.element = cur.element;\n}\n\nfunction onEventCreated(_ref15, scope) {\n var interaction = _ref15.interaction,\n iEvent = _ref15.iEvent,\n event = _ref15.event;\n\n if (iEvent.type !== 'dragmove' && iEvent.type !== 'dragend') {\n return;\n }\n\n var dropState = interaction.dropState;\n\n if (scope.dynamicDrop) {\n dropState.activeDrops = getActiveDrops(scope, interaction.element);\n }\n\n var dragEvent = iEvent;\n var dropResult = getDrop(interaction, dragEvent, event); // update rejected status\n\n dropState.rejected = dropState.rejected && !!dropResult && dropResult.dropzone === dropState.cur.dropzone && dropResult.element === dropState.cur.element;\n dropState.cur.dropzone = dropResult && dropResult.dropzone;\n dropState.cur.element = dropResult && dropResult.element;\n dropState.events = getDropEvents(interaction, event, dragEvent);\n}\n\nfunction dropzoneMethod(interactable, options) {\n if (__utils_3.is.object(options)) {\n interactable.options.drop.enabled = options.enabled !== false;\n\n if (options.listeners) {\n var normalized = __utils_3.normalizeListeners(options.listeners); // rename 'drop' to '' as it will be prefixed with 'drop'\n\n var corrected = Object.keys(normalized).reduce(function (acc, type) {\n var correctedType = /^(enter|leave)/.test(type) ? \"drag\".concat(type) : /^(activate|deactivate|move)/.test(type) ? \"drop\".concat(type) : type;\n acc[correctedType] = normalized[type];\n return acc;\n }, {});\n interactable.off(interactable.options.drop.listeners);\n interactable.on(corrected);\n interactable.options.drop.listeners = corrected;\n }\n\n if (__utils_3.is.func(options.ondrop)) {\n interactable.on('drop', options.ondrop);\n }\n\n if (__utils_3.is.func(options.ondropactivate)) {\n interactable.on('dropactivate', options.ondropactivate);\n }\n\n if (__utils_3.is.func(options.ondropdeactivate)) {\n interactable.on('dropdeactivate', options.ondropdeactivate);\n }\n\n if (__utils_3.is.func(options.ondragenter)) {\n interactable.on('dragenter', options.ondragenter);\n }\n\n if (__utils_3.is.func(options.ondragleave)) {\n interactable.on('dragleave', options.ondragleave);\n }\n\n if (__utils_3.is.func(options.ondropmove)) {\n interactable.on('dropmove', options.ondropmove);\n }\n\n if (/^(pointer|center)$/.test(options.overlap)) {\n interactable.options.drop.overlap = options.overlap;\n } else if (__utils_3.is.number(options.overlap)) {\n interactable.options.drop.overlap = Math.max(Math.min(1, options.overlap), 0);\n }\n\n if ('accept' in options) {\n interactable.options.drop.accept = options.accept;\n }\n\n if ('checker' in options) {\n interactable.options.drop.checker = options.checker;\n }\n\n return interactable;\n }\n\n if (__utils_3.is.bool(options)) {\n interactable.options.drop.enabled = options;\n return interactable;\n }\n\n return interactable.options.drop;\n}\n\nfunction dropCheckMethod(interactable, dragEvent, event, draggable, draggableElement, dropElement, rect) {\n var dropped = false; // if the dropzone has no rect (eg. display: none)\n // call the custom dropChecker or just return false\n\n if (!(rect = rect || interactable.getRect(dropElement))) {\n return interactable.options.drop.checker ? interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement) : false;\n }\n\n var dropOverlap = interactable.options.drop.overlap;\n\n if (dropOverlap === 'pointer') {\n var origin = __utils_3.getOriginXY(draggable, draggableElement, 'drag');\n var page = __utils_3.pointer.getPageXY(dragEvent);\n page.x += origin.x;\n page.y += origin.y;\n var horizontal = page.x > rect.left && page.x < rect.right;\n var vertical = page.y > rect.top && page.y < rect.bottom;\n dropped = horizontal && vertical;\n }\n\n var dragRect = draggable.getRect(draggableElement);\n\n if (dragRect && dropOverlap === 'center') {\n var cx = dragRect.left + dragRect.width / 2;\n var cy = dragRect.top + dragRect.height / 2;\n dropped = cx >= rect.left && cx <= rect.right && cy >= rect.top && cy <= rect.bottom;\n }\n\n if (dragRect && __utils_3.is.number(dropOverlap)) {\n var overlapArea = Math.max(0, Math.min(rect.right, dragRect.right) - Math.max(rect.left, dragRect.left)) * Math.max(0, Math.min(rect.bottom, dragRect.bottom) - Math.max(rect.top, dragRect.top));\n var overlapRatio = overlapArea / (dragRect.width * dragRect.height);\n dropped = overlapRatio >= dropOverlap;\n }\n\n if (interactable.options.drop.checker) {\n dropped = interactable.options.drop.checker(dragEvent, event, dropped, interactable, dropElement, draggable, draggableElement);\n }\n\n return dropped;\n}\n\nvar drop = {\n id: 'actions/drop',\n install: __install_3,\n getActiveDrops: getActiveDrops,\n getDrop: getDrop,\n getDropEvents: getDropEvents,\n fireDropEvents: fireDropEvents,\n defaults: {\n enabled: false,\n accept: null,\n overlap: 'pointer'\n }\n};\nvar ___default_3 = drop;\n_$drop_3[\"default\"] = ___default_3;\n\nvar _$gesture_4 = {};\n\"use strict\";\n\nObject.defineProperty(_$gesture_4, \"__esModule\", {\n value: true\n});\n_$gesture_4[\"default\"] = void 0;\n\nvar ___InteractEvent_4 = ___interopRequireDefault_4(_$InteractEvent_15);\n\nvar ___scope_4 = _$scope_24({});\n\nvar __utils_4 = ___interopRequireWildcard_4(_$utils_56);\n\nfunction ___getRequireWildcardCache_4() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_4 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_4(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_4(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_4(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n___scope_4.ActionName.Gesture = 'gesture';\n\nfunction __install_4(scope) {\n var actions = scope.actions,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults;\n /**\n * ```js\n * interact(element).gesturable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * // limit multiple gestures.\n * // See the explanation in {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isGestureable = interact(element).gesturable()\n * ```\n *\n * Gets or sets whether multitouch gestures can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on gesture events (makes the Interactable gesturable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of gesture events, or this Interactable\n */\n\n Interactable.prototype.gesturable = function (options) {\n if (__utils_4.is.object(options)) {\n this.options.gesture.enabled = options.enabled !== false;\n this.setPerAction('gesture', options);\n this.setOnEvents('gesture', options);\n return this;\n }\n\n if (__utils_4.is.bool(options)) {\n this.options.gesture.enabled = options;\n return this;\n }\n\n return this.options.gesture;\n };\n\n interactions.signals.on('action-start', updateGestureProps);\n interactions.signals.on('action-move', updateGestureProps);\n interactions.signals.on('action-end', updateGestureProps);\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.gesture = {\n angle: 0,\n distance: 0,\n scale: 1,\n startAngle: 0,\n startDistance: 0\n };\n });\n actions[___scope_4.ActionName.Gesture] = gesture;\n actions.names.push(___scope_4.ActionName.Gesture);\n __utils_4.arr.merge(actions.eventTypes, ['gesturestart', 'gesturemove', 'gestureend']);\n actions.methodDict.gesture = 'gesturable';\n defaults.actions.gesture = gesture.defaults;\n}\n\nvar gesture = {\n id: 'actions/gesture',\n install: __install_4,\n defaults: {},\n checker: function checker(_pointer, _event, _interactable, _element, interaction) {\n if (interaction.pointers.length >= 2) {\n return {\n name: 'gesture'\n };\n }\n\n return null;\n },\n getCursor: function getCursor() {\n return '';\n }\n};\n\nfunction updateGestureProps(_ref2) {\n var interaction = _ref2.interaction,\n iEvent = _ref2.iEvent,\n event = _ref2.event,\n phase = _ref2.phase;\n\n if (interaction.prepared.name !== 'gesture') {\n return;\n }\n\n var pointers = interaction.pointers.map(function (p) {\n return p.pointer;\n });\n var starting = phase === 'start';\n var ending = phase === 'end';\n var deltaSource = interaction.interactable.options.deltaSource;\n iEvent.touches = [pointers[0], pointers[1]];\n\n if (starting) {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = 1;\n iEvent.ds = 0;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.da = 0;\n interaction.gesture.startDistance = iEvent.distance;\n interaction.gesture.startAngle = iEvent.angle;\n } else if (ending || event instanceof ___InteractEvent_4[\"default\"]) {\n var prevEvent = interaction.prevEvent;\n iEvent.distance = prevEvent.distance;\n iEvent.box = prevEvent.box;\n iEvent.scale = prevEvent.scale;\n iEvent.ds = 0;\n iEvent.angle = prevEvent.angle;\n iEvent.da = 0;\n } else {\n iEvent.distance = __utils_4.pointer.touchDistance(pointers, deltaSource);\n iEvent.box = __utils_4.pointer.touchBBox(pointers);\n iEvent.scale = iEvent.distance / interaction.gesture.startDistance;\n iEvent.angle = __utils_4.pointer.touchAngle(pointers, deltaSource);\n iEvent.ds = iEvent.scale - interaction.gesture.scale;\n iEvent.da = iEvent.angle - interaction.gesture.angle;\n }\n\n interaction.gesture.distance = iEvent.distance;\n interaction.gesture.angle = iEvent.angle;\n\n if (__utils_4.is.number(iEvent.scale) && iEvent.scale !== Infinity && !isNaN(iEvent.scale)) {\n interaction.gesture.scale = iEvent.scale;\n }\n}\n\nvar ___default_4 = gesture;\n_$gesture_4[\"default\"] = ___default_4;\n\nvar _$resize_6 = {};\n\"use strict\";\n\nObject.defineProperty(_$resize_6, \"__esModule\", {\n value: true\n});\n_$resize_6[\"default\"] = void 0;\n\nvar ___scope_6 = _$scope_24({});\n\nvar __arr_6 = ___interopRequireWildcard_6(_$arr_47);\n\nvar __dom_6 = ___interopRequireWildcard_6(_$domUtils_51);\n\nvar ___extend_6 = ___interopRequireDefault_6(_$extend_53);\n\nvar __is_6 = ___interopRequireWildcard_6(_$is_57);\n\nfunction ___interopRequireDefault_6(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_6() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_6 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_6(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_6(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n___scope_6.ActionName.Resize = 'resize';\n\nfunction __install_6(scope) {\n var actions = scope.actions,\n browser = scope.browser,\n Interactable = scope.Interactable,\n interactions = scope.interactions,\n defaults = scope.defaults; // Less Precision with touch input\n\n interactions.signals.on('new', function (interaction) {\n interaction.resizeAxes = 'xy';\n });\n interactions.signals.on('action-start', start);\n interactions.signals.on('action-move', __move_6);\n interactions.signals.on('action-end', end);\n interactions.signals.on('action-start', updateEventAxes);\n interactions.signals.on('action-move', updateEventAxes);\n resize.cursors = initCursors(browser);\n resize.defaultMargin = browser.supportsTouch || browser.supportsPointerEvent ? 20 : 10;\n /**\n * ```js\n * interact(element).resizable({\n * onstart: function (event) {},\n * onmove : function (event) {},\n * onend : function (event) {},\n *\n * edges: {\n * top : true, // Use pointer coords to check for resize.\n * left : false, // Disable resizing from left edge.\n * bottom: '.resize-s',// Resize if pointer target matches selector\n * right : handleEl // Resize if pointer target is the given Element\n * },\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height are adjusted at a 1:1 ratio.\n * square: false,\n *\n * // Width and height can be adjusted independently. When `true`, width and\n * // height maintain the aspect ratio they had when resizing started.\n * preserveAspectRatio: false,\n *\n * // a value of 'none' will limit the resize rect to a minimum of 0x0\n * // 'negate' will allow the rect to have negative width/height\n * // 'reposition' will keep the width/height positive by swapping\n * // the top and bottom edges and/or swapping the left and right edges\n * invert: 'none' || 'negate' || 'reposition'\n *\n * // limit multiple resizes.\n * // See the explanation in the {@link Interactable.draggable} example\n * max: Infinity,\n * maxPerElement: 1,\n * })\n *\n * var isResizeable = interact(element).resizable()\n * ```\n *\n * Gets or sets whether resize actions can be performed on the target\n *\n * @param {boolean | object} [options] true/false or An object with event\n * listeners to be fired on resize events (object makes the Interactable\n * resizable)\n * @return {boolean | Interactable} A boolean indicating if this can be the\n * target of resize elements, or this Interactable\n */\n\n Interactable.prototype.resizable = function (options) {\n return resizable(this, options, scope);\n };\n\n actions[___scope_6.ActionName.Resize] = resize;\n actions.names.push(___scope_6.ActionName.Resize);\n __arr_6.merge(actions.eventTypes, ['resizestart', 'resizemove', 'resizeinertiastart', 'resizeresume', 'resizeend']);\n actions.methodDict.resize = 'resizable';\n defaults.actions.resize = resize.defaults;\n}\n\nvar resize = {\n id: 'actions/resize',\n install: __install_6,\n defaults: {\n square: false,\n preserveAspectRatio: false,\n axis: 'xy',\n // use default margin\n margin: NaN,\n // object with props left, right, top, bottom which are\n // true/false values to resize when the pointer is over that edge,\n // CSS selectors to match the handles for each direction\n // or the Elements for each handle\n edges: null,\n // a value of 'none' will limit the resize rect to a minimum of 0x0\n // 'negate' will alow the rect to have negative width/height\n // 'reposition' will keep the width/height positive by swapping\n // the top and bottom edges and/or swapping the left and right edges\n invert: 'none'\n },\n checker: function checker(_pointer, _event, interactable, element, interaction, rect) {\n if (!rect) {\n return null;\n }\n\n var page = (0, ___extend_6[\"default\"])({}, interaction.coords.cur.page);\n var options = interactable.options;\n\n if (options.resize.enabled) {\n var resizeOptions = options.resize;\n var resizeEdges = {\n left: false,\n right: false,\n top: false,\n bottom: false\n }; // if using resize.edges\n\n if (__is_6.object(resizeOptions.edges)) {\n for (var edge in resizeEdges) {\n resizeEdges[edge] = checkResizeEdge(edge, resizeOptions.edges[edge], page, interaction._latestPointer.eventTarget, element, rect, resizeOptions.margin || this.defaultMargin);\n }\n\n resizeEdges.left = resizeEdges.left && !resizeEdges.right;\n resizeEdges.top = resizeEdges.top && !resizeEdges.bottom;\n\n if (resizeEdges.left || resizeEdges.right || resizeEdges.top || resizeEdges.bottom) {\n return {\n name: 'resize',\n edges: resizeEdges\n };\n }\n } else {\n var right = options.resize.axis !== 'y' && page.x > rect.right - this.defaultMargin;\n var bottom = options.resize.axis !== 'x' && page.y > rect.bottom - this.defaultMargin;\n\n if (right || bottom) {\n return {\n name: 'resize',\n axes: (right ? 'x' : '') + (bottom ? 'y' : '')\n };\n }\n }\n }\n\n return null;\n },\n cursors: null,\n getCursor: function getCursor(_ref) {\n var edges = _ref.edges,\n axis = _ref.axis,\n name = _ref.name;\n var cursors = resize.cursors;\n var result = null;\n\n if (axis) {\n result = cursors[name + axis];\n } else if (edges) {\n var cursorKey = '';\n var _arr = ['top', 'bottom', 'left', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (edges[edge]) {\n cursorKey += edge;\n }\n }\n\n result = cursors[cursorKey];\n }\n\n return result;\n },\n defaultMargin: null\n};\n\nfunction resizable(interactable, options, scope) {\n if (__is_6.object(options)) {\n interactable.options.resize.enabled = options.enabled !== false;\n interactable.setPerAction('resize', options);\n interactable.setOnEvents('resize', options);\n\n if (__is_6.string(options.axis) && /^x$|^y$|^xy$/.test(options.axis)) {\n interactable.options.resize.axis = options.axis;\n } else if (options.axis === null) {\n interactable.options.resize.axis = scope.defaults.actions.resize.axis;\n }\n\n if (__is_6.bool(options.preserveAspectRatio)) {\n interactable.options.resize.preserveAspectRatio = options.preserveAspectRatio;\n } else if (__is_6.bool(options.square)) {\n interactable.options.resize.square = options.square;\n }\n\n return interactable;\n }\n\n if (__is_6.bool(options)) {\n interactable.options.resize.enabled = options;\n return interactable;\n }\n\n return interactable.options.resize;\n}\n\nfunction checkResizeEdge(name, value, page, element, interactableElement, rect, margin) {\n // false, '', undefined, null\n if (!value) {\n return false;\n } // true value, use pointer coords and element rect\n\n\n if (value === true) {\n // if dimensions are negative, \"switch\" edges\n var width = __is_6.number(rect.width) ? rect.width : rect.right - rect.left;\n var height = __is_6.number(rect.height) ? rect.height : rect.bottom - rect.top; // don't use margin greater than half the relevent dimension\n\n margin = Math.min(margin, (name === 'left' || name === 'right' ? width : height) / 2);\n\n if (width < 0) {\n if (name === 'left') {\n name = 'right';\n } else if (name === 'right') {\n name = 'left';\n }\n }\n\n if (height < 0) {\n if (name === 'top') {\n name = 'bottom';\n } else if (name === 'bottom') {\n name = 'top';\n }\n }\n\n if (name === 'left') {\n return page.x < (width >= 0 ? rect.left : rect.right) + margin;\n }\n\n if (name === 'top') {\n return page.y < (height >= 0 ? rect.top : rect.bottom) + margin;\n }\n\n if (name === 'right') {\n return page.x > (width >= 0 ? rect.right : rect.left) - margin;\n }\n\n if (name === 'bottom') {\n return page.y > (height >= 0 ? rect.bottom : rect.top) - margin;\n }\n } // the remaining checks require an element\n\n\n if (!__is_6.element(element)) {\n return false;\n }\n\n return __is_6.element(value) // the value is an element to use as a resize handle\n ? value === element // otherwise check if element matches value as selector\n : __dom_6.matchesUpTo(element, value, interactableElement);\n}\n\nfunction initCursors(browser) {\n return browser.isIe9 ? {\n x: 'e-resize',\n y: 's-resize',\n xy: 'se-resize',\n top: 'n-resize',\n left: 'w-resize',\n bottom: 's-resize',\n right: 'e-resize',\n topleft: 'se-resize',\n bottomright: 'se-resize',\n topright: 'ne-resize',\n bottomleft: 'ne-resize'\n } : {\n x: 'ew-resize',\n y: 'ns-resize',\n xy: 'nwse-resize',\n top: 'ns-resize',\n left: 'ew-resize',\n bottom: 'ns-resize',\n right: 'ew-resize',\n topleft: 'nwse-resize',\n bottomright: 'nwse-resize',\n topright: 'nesw-resize',\n bottomleft: 'nesw-resize'\n };\n}\n\nfunction start(_ref2) {\n var iEvent = _ref2.iEvent,\n interaction = _ref2.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var startRect = (0, ___extend_6[\"default\"])({}, interaction.rect);\n var resizeOptions = interaction.interactable.options.resize;\n /*\n * When using the `resizable.square` or `resizable.preserveAspectRatio` options, resizing from one edge\n * will affect another. E.g. with `resizable.square`, resizing to make the right edge larger will make\n * the bottom edge larger by the same amount. We call these 'linked' edges. Any linked edges will depend\n * on the active edges and the edge being interacted with.\n */\n\n if (resizeOptions.square || resizeOptions.preserveAspectRatio) {\n var linkedEdges = (0, ___extend_6[\"default\"])({}, interaction.prepared.edges);\n linkedEdges.top = linkedEdges.top || linkedEdges.left && !linkedEdges.bottom;\n linkedEdges.left = linkedEdges.left || linkedEdges.top && !linkedEdges.right;\n linkedEdges.bottom = linkedEdges.bottom || linkedEdges.right && !linkedEdges.top;\n linkedEdges.right = linkedEdges.right || linkedEdges.bottom && !linkedEdges.left;\n interaction.prepared._linkedEdges = linkedEdges;\n } else {\n interaction.prepared._linkedEdges = null;\n } // if using `resizable.preserveAspectRatio` option, record aspect ratio at the start of the resize\n\n\n if (resizeOptions.preserveAspectRatio) {\n interaction.resizeStartAspectRatio = startRect.width / startRect.height;\n }\n\n interaction.resizeRects = {\n start: startRect,\n current: {\n left: startRect.left,\n right: startRect.right,\n top: startRect.top,\n bottom: startRect.bottom\n },\n inverted: (0, ___extend_6[\"default\"])({}, startRect),\n previous: (0, ___extend_6[\"default\"])({}, startRect),\n delta: {\n left: 0,\n right: 0,\n width: 0,\n top: 0,\n bottom: 0,\n height: 0\n }\n };\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction __move_6(_ref3) {\n var iEvent = _ref3.iEvent,\n interaction = _ref3.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n var resizeOptions = interaction.interactable.options.resize;\n var invert = resizeOptions.invert;\n var invertible = invert === 'reposition' || invert === 'negate';\n var edges = interaction.prepared.edges; // eslint-disable-next-line no-shadow\n\n var start = interaction.resizeRects.start;\n var current = interaction.resizeRects.current;\n var inverted = interaction.resizeRects.inverted;\n var deltaRect = interaction.resizeRects.delta;\n var previous = (0, ___extend_6[\"default\"])(interaction.resizeRects.previous, inverted);\n var originalEdges = edges;\n var eventDelta = (0, ___extend_6[\"default\"])({}, iEvent.delta);\n\n if (resizeOptions.preserveAspectRatio || resizeOptions.square) {\n // `resize.preserveAspectRatio` takes precedence over `resize.square`\n var startAspectRatio = resizeOptions.preserveAspectRatio ? interaction.resizeStartAspectRatio : 1;\n edges = interaction.prepared._linkedEdges;\n\n if (originalEdges.left && originalEdges.bottom || originalEdges.right && originalEdges.top) {\n eventDelta.y = -eventDelta.x / startAspectRatio;\n } else if (originalEdges.left || originalEdges.right) {\n eventDelta.y = eventDelta.x / startAspectRatio;\n } else if (originalEdges.top || originalEdges.bottom) {\n eventDelta.x = eventDelta.y * startAspectRatio;\n }\n } // update the 'current' rect without modifications\n\n\n if (edges.top) {\n current.top += eventDelta.y;\n }\n\n if (edges.bottom) {\n current.bottom += eventDelta.y;\n }\n\n if (edges.left) {\n current.left += eventDelta.x;\n }\n\n if (edges.right) {\n current.right += eventDelta.x;\n }\n\n if (invertible) {\n // if invertible, copy the current rect\n (0, ___extend_6[\"default\"])(inverted, current);\n\n if (invert === 'reposition') {\n // swap edge values if necessary to keep width/height positive\n var swap;\n\n if (inverted.top > inverted.bottom) {\n swap = inverted.top;\n inverted.top = inverted.bottom;\n inverted.bottom = swap;\n }\n\n if (inverted.left > inverted.right) {\n swap = inverted.left;\n inverted.left = inverted.right;\n inverted.right = swap;\n }\n }\n } else {\n // if not invertible, restrict to minimum of 0x0 rect\n inverted.top = Math.min(current.top, start.bottom);\n inverted.bottom = Math.max(current.bottom, start.top);\n inverted.left = Math.min(current.left, start.right);\n inverted.right = Math.max(current.right, start.left);\n }\n\n inverted.width = inverted.right - inverted.left;\n inverted.height = inverted.bottom - inverted.top;\n\n for (var edge in inverted) {\n deltaRect[edge] = inverted[edge] - previous[edge];\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = inverted;\n iEvent.deltaRect = deltaRect;\n}\n\nfunction end(_ref4) {\n var iEvent = _ref4.iEvent,\n interaction = _ref4.interaction;\n\n if (interaction.prepared.name !== 'resize' || !interaction.prepared.edges) {\n return;\n }\n\n iEvent.edges = interaction.prepared.edges;\n iEvent.rect = interaction.resizeRects.inverted;\n iEvent.deltaRect = interaction.resizeRects.delta;\n}\n\nfunction updateEventAxes(_ref5) {\n var iEvent = _ref5.iEvent,\n interaction = _ref5.interaction,\n action = _ref5.action;\n\n if (action !== ___scope_6.ActionName.Resize || !interaction.resizeAxes) {\n return;\n }\n\n var options = interaction.interactable.options;\n\n if (options.resize.square) {\n if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = iEvent.delta.y;\n } else {\n iEvent.delta.y = iEvent.delta.x;\n }\n\n iEvent.axes = 'xy';\n } else {\n iEvent.axes = interaction.resizeAxes;\n\n if (interaction.resizeAxes === 'x') {\n iEvent.delta.y = 0;\n } else if (interaction.resizeAxes === 'y') {\n iEvent.delta.x = 0;\n }\n }\n}\n\nvar ___default_6 = resize;\n_$resize_6[\"default\"] = ___default_6;\n\nvar _$actions_5 = {};\n\"use strict\";\n\nObject.defineProperty(_$actions_5, \"__esModule\", {\n value: true\n});\n_$actions_5.install = __install_5;\nObject.defineProperty(_$actions_5, \"drag\", {\n enumerable: true,\n get: function get() {\n return ___drag_5[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"drop\", {\n enumerable: true,\n get: function get() {\n return _drop[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"gesture\", {\n enumerable: true,\n get: function get() {\n return _gesture[\"default\"];\n }\n});\nObject.defineProperty(_$actions_5, \"resize\", {\n enumerable: true,\n get: function get() {\n return _resize[\"default\"];\n }\n});\n_$actions_5.id = void 0;\n\nvar ___drag_5 = ___interopRequireDefault_5(_$drag_1);\n\nvar _drop = ___interopRequireDefault_5(_$drop_3);\n\nvar _gesture = ___interopRequireDefault_5(_$gesture_4);\n\nvar _resize = ___interopRequireDefault_5(_$resize_6);\n\nfunction ___interopRequireDefault_5(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_5(scope) {\n scope.usePlugin(_gesture[\"default\"]);\n scope.usePlugin(_resize[\"default\"]);\n scope.usePlugin(___drag_5[\"default\"]);\n scope.usePlugin(_drop[\"default\"]);\n}\n\nvar id = 'actions';\n_$actions_5.id = id;\n\nvar _$autoScroll_7 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoScroll_7, \"__esModule\", {\n value: true\n});\n_$autoScroll_7.getContainer = getContainer;\n_$autoScroll_7.getScroll = getScroll;\n_$autoScroll_7.getScrollSize = getScrollSize;\n_$autoScroll_7.getScrollSizeDelta = getScrollSizeDelta;\n_$autoScroll_7[\"default\"] = void 0;\n\nvar __domUtils_7 = ___interopRequireWildcard_7(_$domUtils_51);\n\nvar __is_7 = ___interopRequireWildcard_7(_$is_57);\n\nvar ___raf_7 = ___interopRequireDefault_7(_$raf_62);\n\n/* removed: var _$rect_63 = require(\"@interactjs/utils/rect\"); */;\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___interopRequireDefault_7(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_7() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_7 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_7(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_7(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_7(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults,\n actions = scope.actions;\n scope.autoScroll = autoScroll;\n\n autoScroll.now = function () {\n return scope.now();\n };\n\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.autoScroll = null;\n });\n interactions.signals.on('destroy', function (_ref2) {\n var interaction = _ref2.interaction;\n interaction.autoScroll = null;\n autoScroll.stop();\n\n if (autoScroll.interaction) {\n autoScroll.interaction = null;\n }\n });\n interactions.signals.on('stop', autoScroll.stop);\n interactions.signals.on('action-move', function (arg) {\n return autoScroll.onInteractionMove(arg);\n });\n actions.eventTypes.push('autoscroll');\n defaults.perAction.autoScroll = autoScroll.defaults;\n}\n\nvar autoScroll = {\n defaults: {\n enabled: false,\n margin: 60,\n // the item that is scrolled (Window or HTMLElement)\n container: null,\n // the scroll speed in pixels per second\n speed: 300\n },\n now: Date.now,\n interaction: null,\n i: null,\n x: 0,\n y: 0,\n isScrolling: false,\n prevTime: 0,\n margin: 0,\n speed: 0,\n start: function start(interaction) {\n autoScroll.isScrolling = true;\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n interaction.autoScroll = autoScroll;\n autoScroll.interaction = interaction;\n autoScroll.prevTime = autoScroll.now();\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n },\n stop: function stop() {\n autoScroll.isScrolling = false;\n\n if (autoScroll.interaction) {\n autoScroll.interaction.autoScroll = null;\n }\n\n ___raf_7[\"default\"].cancel(autoScroll.i);\n },\n // scroll the window by the values in scroll.x/y\n scroll: function scroll() {\n var interaction = autoScroll.interaction;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[autoScroll.interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n var now = autoScroll.now(); // change in time in seconds\n\n var dt = (now - autoScroll.prevTime) / 1000; // displacement\n\n var s = options.speed * dt;\n\n if (s >= 1) {\n var scrollBy = {\n x: autoScroll.x * s,\n y: autoScroll.y * s\n };\n\n if (scrollBy.x || scrollBy.y) {\n var prevScroll = getScroll(container);\n\n if (__is_7.window(container)) {\n container.scrollBy(scrollBy.x, scrollBy.y);\n } else if (container) {\n container.scrollLeft += scrollBy.x;\n container.scrollTop += scrollBy.y;\n }\n\n var curScroll = getScroll(container);\n var delta = {\n x: curScroll.x - prevScroll.x,\n y: curScroll.y - prevScroll.y\n };\n\n if (delta.x || delta.y) {\n interactable.fire({\n type: 'autoscroll',\n target: element,\n interactable: interactable,\n delta: delta,\n interaction: interaction,\n container: container\n });\n }\n }\n\n autoScroll.prevTime = now;\n }\n\n if (autoScroll.isScrolling) {\n ___raf_7[\"default\"].cancel(autoScroll.i);\n\n autoScroll.i = ___raf_7[\"default\"].request(autoScroll.scroll);\n }\n },\n check: function check(interactable, actionName) {\n var options = interactable.options;\n return options[actionName].autoScroll && options[actionName].autoScroll.enabled;\n },\n onInteractionMove: function onInteractionMove(_ref3) {\n var interaction = _ref3.interaction,\n pointer = _ref3.pointer;\n\n if (!(interaction.interacting() && autoScroll.check(interaction.interactable, interaction.prepared.name))) {\n return;\n }\n\n if (interaction.simulation) {\n autoScroll.x = autoScroll.y = 0;\n return;\n }\n\n var top;\n var right;\n var bottom;\n var left;\n var interactable = interaction.interactable,\n element = interaction.element;\n var options = interactable.options[interaction.prepared.name].autoScroll;\n var container = getContainer(options.container, interactable, element);\n\n if (__is_7.window(container)) {\n left = pointer.clientX < autoScroll.margin;\n top = pointer.clientY < autoScroll.margin;\n right = pointer.clientX > container.innerWidth - autoScroll.margin;\n bottom = pointer.clientY > container.innerHeight - autoScroll.margin;\n } else {\n var rect = __domUtils_7.getElementClientRect(container);\n left = pointer.clientX < rect.left + autoScroll.margin;\n top = pointer.clientY < rect.top + autoScroll.margin;\n right = pointer.clientX > rect.right - autoScroll.margin;\n bottom = pointer.clientY > rect.bottom - autoScroll.margin;\n }\n\n autoScroll.x = right ? 1 : left ? -1 : 0;\n autoScroll.y = bottom ? 1 : top ? -1 : 0;\n\n if (!autoScroll.isScrolling) {\n // set the autoScroll properties to those of the target\n autoScroll.margin = options.margin;\n autoScroll.speed = options.speed;\n autoScroll.start(interaction);\n }\n }\n};\n\nfunction getContainer(value, interactable, element) {\n return (__is_7.string(value) ? (0, _$rect_63.getStringOptionResult)(value, interactable, element) : value) || (0, _$window_66.getWindow)(element);\n}\n\nfunction getScroll(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollLeft,\n y: container.scrollTop\n };\n}\n\nfunction getScrollSize(container) {\n if (__is_7.window(container)) {\n container = window.document.body;\n }\n\n return {\n x: container.scrollWidth,\n y: container.scrollHeight\n };\n}\n\nfunction getScrollSizeDelta(_ref4, func) {\n var interaction = _ref4.interaction,\n element = _ref4.element;\n var scrollOptions = interaction && interaction.interactable.options[interaction.prepared.name].autoScroll;\n\n if (!scrollOptions || !scrollOptions.enabled) {\n func();\n return {\n x: 0,\n y: 0\n };\n }\n\n var scrollContainer = getContainer(scrollOptions.container, interaction.interactable, element);\n var prevSize = getScroll(scrollContainer);\n func();\n var curSize = getScroll(scrollContainer);\n return {\n x: curSize.x - prevSize.x,\n y: curSize.y - prevSize.y\n };\n}\n\nvar ___default_7 = {\n id: 'auto-scroll',\n install: __install_7\n};\n_$autoScroll_7[\"default\"] = ___default_7;\n\nvar _$InteractableMethods_8 = {};\n\"use strict\";\n\nObject.defineProperty(_$InteractableMethods_8, \"__esModule\", {\n value: true\n});\n_$InteractableMethods_8[\"default\"] = void 0;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\nvar __is_8 = ___interopRequireWildcard_8(_$is_57);\n\nfunction ___getRequireWildcardCache_8() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_8 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_8(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_8(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_8(scope) {\n var Interactable = scope.Interactable,\n actions = scope.actions;\n Interactable.prototype.getAction = getAction;\n /**\n * ```js\n * interact(element, { ignoreFrom: document.getElementById('no-action') })\n * // or\n * interact(element).ignoreFrom('input, textarea, a')\n * ```\n * @deprecated\n * If the target of the `mousedown`, `pointerdown` or `touchstart` event or any\n * of it's parents match the given CSS selector or Element, no\n * drag/resize/gesture is started.\n *\n * Don't use this method. Instead set the `ignoreFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .draggable({\n * ignoreFrom: 'input, textarea, a[href]'',\n * })\n * .pointerEvents({\n * ignoreFrom: '[no-pointer]',\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to not ignore any elements\n * @return {string | Element | object} The current ignoreFrom value or this\n * Interactable\n */\n\n Interactable.prototype.ignoreFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('ignoreFrom', newValue);\n }, 'Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue}).');\n /**\n * @deprecated\n *\n * A drag/resize/gesture is started only If the target of the `mousedown`,\n * `pointerdown` or `touchstart` event or any of it's parents match the given\n * CSS selector or Element.\n *\n * Don't use this method. Instead set the `allowFrom` option for each action\n * or for `pointerEvents`\n *\n * @example\n * interact(targett)\n * .resizable({\n * allowFrom: '.resize-handle',\n * .pointerEvents({\n * allowFrom: '.handle',,\n * })\n *\n * @param {string | Element | null} [newValue] a CSS selector string, an\n * Element or `null` to allow from any element\n * @return {string | Element | object} The current allowFrom value or this\n * Interactable\n */\n\n Interactable.prototype.allowFrom = (0, _$utils_56.warnOnce)(function (newValue) {\n return this._backCompatOption('allowFrom', newValue);\n }, 'Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue}).');\n /**\n * ```js\n * interact('.resize-drag')\n * .resizable(true)\n * .draggable(true)\n * .actionChecker(function (pointer, event, action, interactable, element, interaction) {\n *\n * if (interact.matchesSelector(event.target, '.drag-handle')) {\n * // force drag with handle target\n * action.name = drag\n * }\n * else {\n * // resize from the top and right edges\n * action.name = 'resize'\n * action.edges = { top: true, right: true }\n * }\n *\n * return action\n * })\n * ```\n *\n * Returns or sets the function used to check action to be performed on\n * pointerDown\n *\n * @param {function | null} [checker] A function which takes a pointer event,\n * defaultAction string, interactable, element and interaction as parameters\n * and returns an object with name property 'drag' 'resize' or 'gesture' and\n * optionally an `edges` object with boolean 'top', 'left', 'bottom' and right\n * props.\n * @return {Function | Interactable} The checker function or this Interactable\n */\n\n Interactable.prototype.actionChecker = actionChecker;\n /**\n * Returns or sets whether the the cursor should be changed depending on the\n * action that would be performed if the mouse were pressed and dragged.\n *\n * @param {boolean} [newValue]\n * @return {boolean | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.styleCursor = styleCursor;\n\n Interactable.prototype.defaultActionChecker = function (pointer, event, interaction, element) {\n return defaultActionChecker(this, pointer, event, interaction, element, actions);\n };\n}\n\nfunction getAction(pointer, event, interaction, element) {\n var action = this.defaultActionChecker(pointer, event, interaction, element);\n\n if (this.options.actionChecker) {\n return this.options.actionChecker(pointer, event, action, this, element, interaction);\n }\n\n return action;\n}\n\nfunction defaultActionChecker(interactable, pointer, event, interaction, element, actions) {\n var rect = interactable.getRect(element);\n var buttons = event.buttons || {\n 0: 1,\n 1: 4,\n 3: 8,\n 4: 16\n }[event.button];\n var action = null;\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n\n // check mouseButton setting if the pointer is down\n if (interaction.pointerIsDown && /mouse|pointer/.test(interaction.pointerType) && (buttons & interactable.options[actionName].mouseButtons) === 0) {\n continue;\n }\n\n action = actions[actionName].checker(pointer, event, interactable, element, interaction, rect);\n\n if (action) {\n return action;\n }\n }\n}\n\nfunction styleCursor(newValue) {\n if (__is_8.bool(newValue)) {\n this.options.styleCursor = newValue;\n return this;\n }\n\n if (newValue === null) {\n delete this.options.styleCursor;\n return this;\n }\n\n return this.options.styleCursor;\n}\n\nfunction actionChecker(checker) {\n if (__is_8.func(checker)) {\n this.options.actionChecker = checker;\n return this;\n }\n\n if (checker === null) {\n delete this.options.actionChecker;\n return this;\n }\n\n return this.options.actionChecker;\n}\n\nvar ___default_8 = {\n id: 'auto-start/interactableMethods',\n install: __install_8\n};\n_$InteractableMethods_8[\"default\"] = ___default_8;\n\nvar _$base_9 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_9, \"__esModule\", {\n value: true\n});\n_$base_9[\"default\"] = void 0;\n\nvar __utils_9 = ___interopRequireWildcard_9(_$utils_56);\n\nvar _InteractableMethods = ___interopRequireDefault_9(_$InteractableMethods_8);\n\nfunction ___interopRequireDefault_9(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_9() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_9 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_9(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_9(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_9(scope) {\n var interact = scope.interact,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(_InteractableMethods[\"default\"]); // set cursor style on mousedown\n\n interactions.signals.on('down', function (_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget;\n\n if (interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n }); // set cursor style on mousemove\n\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n pointer = _ref2.pointer,\n event = _ref2.event,\n eventTarget = _ref2.eventTarget;\n\n if (interaction.pointerType !== 'mouse' || interaction.pointerIsDown || interaction.interacting()) {\n return;\n }\n\n var actionInfo = getActionInfo(interaction, pointer, event, eventTarget, scope);\n prepare(interaction, actionInfo, scope);\n });\n interactions.signals.on('move', function (arg) {\n var interaction = arg.interaction;\n\n if (!interaction.pointerIsDown || interaction.interacting() || !interaction.pointerWasMoved || !interaction.prepared.name) {\n return;\n }\n\n scope.autoStart.signals.fire('before-start', arg);\n var interactable = interaction.interactable;\n\n if (interaction.prepared.name && interactable) {\n // check manualStart and interaction limit\n if (interactable.options[interaction.prepared.name].manualStart || !withinInteractionLimit(interactable, interaction.element, interaction.prepared, scope)) {\n interaction.stop();\n } else {\n interaction.start(interaction.prepared, interactable, interaction.element);\n setInteractionCursor(interaction, scope);\n }\n }\n });\n interactions.signals.on('stop', function (_ref3) {\n var interaction = _ref3.interaction;\n var interactable = interaction.interactable;\n\n if (interactable && interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n });\n defaults.base.actionChecker = null;\n defaults.base.styleCursor = true;\n __utils_9.extend(defaults.perAction, {\n manualStart: false,\n max: Infinity,\n maxPerElement: 1,\n allowFrom: null,\n ignoreFrom: null,\n // only allow left button by default\n // see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons#Return_value\n mouseButtons: 1\n });\n /**\n * Returns or sets the maximum number of concurrent interactions allowed. By\n * default only 1 interaction is allowed at a time (for backwards\n * compatibility). To allow multiple interactions on the same Interactables and\n * elements, you need to enable it in the draggable, resizable and gesturable\n * `'max'` and `'maxPerElement'` options.\n *\n * @alias module:interact.maxInteractions\n *\n * @param {number} [newValue] Any number. newValue <= 0 means no interactions.\n */\n\n interact.maxInteractions = function (newValue) {\n return maxInteractions(newValue, scope);\n };\n\n scope.autoStart = {\n // Allow this many interactions to happen simultaneously\n maxInteractions: Infinity,\n withinInteractionLimit: withinInteractionLimit,\n cursorElement: null,\n signals: new __utils_9.Signals()\n };\n} // Check if the current interactable supports the action.\n// If so, return the validated action. Otherwise, return null\n\n\nfunction validateAction(action, interactable, element, eventTarget, scope) {\n if (interactable.testIgnoreAllow(interactable.options[action.name], element, eventTarget) && interactable.options[action.name].enabled && withinInteractionLimit(interactable, element, action, scope)) {\n return action;\n }\n\n return null;\n}\n\nfunction validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope) {\n for (var i = 0, len = matches.length; i < len; i++) {\n var match = matches[i];\n var matchElement = matchElements[i];\n var matchAction = match.getAction(pointer, event, interaction, matchElement);\n\n if (!matchAction) {\n continue;\n }\n\n var action = validateAction(matchAction, match, matchElement, eventTarget, scope);\n\n if (action) {\n return {\n action: action,\n interactable: match,\n element: matchElement\n };\n }\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction getActionInfo(interaction, pointer, event, eventTarget, scope) {\n var matches = [];\n var matchElements = [];\n var element = eventTarget;\n\n function pushMatches(interactable) {\n matches.push(interactable);\n matchElements.push(element);\n }\n\n while (__utils_9.is.element(element)) {\n matches = [];\n matchElements = [];\n scope.interactables.forEachMatch(element, pushMatches);\n var actionInfo = validateMatches(interaction, pointer, event, matches, matchElements, eventTarget, scope);\n\n if (actionInfo.action && !actionInfo.interactable.options[actionInfo.action.name].manualStart) {\n return actionInfo;\n }\n\n element = __utils_9.dom.parentNode(element);\n }\n\n return {\n action: null,\n interactable: null,\n element: null\n };\n}\n\nfunction prepare(interaction, _ref4, scope) {\n var action = _ref4.action,\n interactable = _ref4.interactable,\n element = _ref4.element;\n action = action || {\n name: null\n }; // clear previous target element cursor\n\n if (interaction.interactable && interaction.interactable.options.styleCursor) {\n setCursor(interaction.element, '', scope);\n }\n\n interaction.interactable = interactable;\n interaction.element = element;\n __utils_9.copyAction(interaction.prepared, action);\n interaction.rect = interactable && action.name ? interactable.getRect(element) : null;\n setInteractionCursor(interaction, scope);\n scope.autoStart.signals.fire('prepared', {\n interaction: interaction\n });\n}\n\nfunction withinInteractionLimit(interactable, element, action, scope) {\n var options = interactable.options;\n var maxActions = options[action.name].max;\n var maxPerElement = options[action.name].maxPerElement;\n var autoStartMax = scope.autoStart.maxInteractions;\n var activeInteractions = 0;\n var interactableCount = 0;\n var elementCount = 0; // no actions if any of these values == 0\n\n if (!(maxActions && maxPerElement && autoStartMax)) {\n return false;\n }\n\n for (var _i = 0; _i < scope.interactions.list.length; _i++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i];\n var interaction = _ref5;\n var otherAction = interaction.prepared.name;\n\n if (!interaction.interacting()) {\n continue;\n }\n\n activeInteractions++;\n\n if (activeInteractions >= autoStartMax) {\n return false;\n }\n\n if (interaction.interactable !== interactable) {\n continue;\n }\n\n interactableCount += otherAction === action.name ? 1 : 0;\n\n if (interactableCount >= maxActions) {\n return false;\n }\n\n if (interaction.element === element) {\n elementCount++;\n\n if (otherAction === action.name && elementCount >= maxPerElement) {\n return false;\n }\n }\n }\n\n return autoStartMax > 0;\n}\n\nfunction maxInteractions(newValue, scope) {\n if (__utils_9.is.number(newValue)) {\n scope.autoStart.maxInteractions = newValue;\n return this;\n }\n\n return scope.autoStart.maxInteractions;\n}\n\nfunction setCursor(element, cursor, scope) {\n if (scope.autoStart.cursorElement) {\n scope.autoStart.cursorElement.style.cursor = '';\n }\n\n element.ownerDocument.documentElement.style.cursor = cursor;\n element.style.cursor = cursor;\n scope.autoStart.cursorElement = cursor ? element : null;\n}\n\nfunction setInteractionCursor(interaction, scope) {\n var interactable = interaction.interactable,\n element = interaction.element,\n prepared = interaction.prepared;\n\n if (!(interaction.pointerType === 'mouse' && interactable && interactable.options.styleCursor)) {\n return;\n }\n\n var cursor = '';\n\n if (prepared.name) {\n var cursorChecker = interactable.options[prepared.name].cursorChecker;\n\n if (__utils_9.is.func(cursorChecker)) {\n cursor = cursorChecker(prepared, interactable, element, interaction._interacting);\n } else {\n cursor = scope.actions[prepared.name].getCursor(prepared);\n }\n }\n\n setCursor(interaction.element, cursor || '', scope);\n}\n\nvar ___default_9 = {\n id: 'auto-start/base',\n install: __install_9,\n maxInteractions: maxInteractions,\n withinInteractionLimit: withinInteractionLimit,\n validateAction: validateAction\n};\n_$base_9[\"default\"] = ___default_9;\n\nvar _$dragAxis_10 = {};\n\"use strict\";\n\nObject.defineProperty(_$dragAxis_10, \"__esModule\", {\n value: true\n});\n_$dragAxis_10[\"default\"] = void 0;\n\nvar ___scope_10 = _$scope_24({});\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar __is_10 = ___interopRequireWildcard_10(_$is_57);\n\nvar _base = ___interopRequireDefault_10(_$base_9);\n\nfunction ___interopRequireDefault_10(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_10() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_10 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_10(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_10(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __install_10(scope) {\n scope.autoStart.signals.on('before-start', function (_ref) {\n var interaction = _ref.interaction,\n eventTarget = _ref.eventTarget,\n dx = _ref.dx,\n dy = _ref.dy;\n\n if (interaction.prepared.name !== 'drag') {\n return;\n } // check if a drag is in the correct axis\n\n\n var absX = Math.abs(dx);\n var absY = Math.abs(dy);\n var targetOptions = interaction.interactable.options.drag;\n var startAxis = targetOptions.startAxis;\n var currentAxis = absX > absY ? 'x' : absX < absY ? 'y' : 'xy';\n interaction.prepared.axis = targetOptions.lockAxis === 'start' ? currentAxis[0] // always lock to one axis even if currentAxis === 'xy'\n : targetOptions.lockAxis; // if the movement isn't in the startAxis of the interactable\n\n if (currentAxis !== 'xy' && startAxis !== 'xy' && startAxis !== currentAxis) {\n // cancel the prepared action\n interaction.prepared.name = null; // then try to get a drag from another ineractable\n\n var element = eventTarget;\n\n var getDraggable = function getDraggable(interactable) {\n if (interactable === interaction.interactable) {\n return;\n }\n\n var options = interaction.interactable.options.drag;\n\n if (!options.manualStart && interactable.testIgnoreAllow(options, element, eventTarget)) {\n var action = interactable.getAction(interaction.downPointer, interaction.downEvent, interaction, element);\n\n if (action && action.name === ___scope_10.ActionName.Drag && checkStartAxis(currentAxis, interactable) && _base[\"default\"].validateAction(action, interactable, element, eventTarget, scope)) {\n return interactable;\n }\n }\n }; // check all interactables\n\n\n while (__is_10.element(element)) {\n var interactable = scope.interactables.forEachMatch(element, getDraggable);\n\n if (interactable) {\n interaction.prepared.name = ___scope_10.ActionName.Drag;\n interaction.interactable = interactable;\n interaction.element = element;\n break;\n }\n\n element = (0, _$domUtils_51.parentNode)(element);\n }\n }\n });\n\n function checkStartAxis(startAxis, interactable) {\n if (!interactable) {\n return false;\n }\n\n var thisAxis = interactable.options[___scope_10.ActionName.Drag].startAxis;\n return startAxis === 'xy' || thisAxis === 'xy' || thisAxis === startAxis;\n }\n}\n\nvar ___default_10 = {\n id: 'auto-start/dragAxis',\n install: __install_10\n};\n_$dragAxis_10[\"default\"] = ___default_10;\n\nvar _$hold_11 = {};\n\"use strict\";\n\nObject.defineProperty(_$hold_11, \"__esModule\", {\n value: true\n});\n_$hold_11[\"default\"] = void 0;\n\nvar ___base_11 = ___interopRequireDefault_11(_$base_9);\n\nfunction ___interopRequireDefault_11(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_11(scope) {\n var autoStart = scope.autoStart,\n interactions = scope.interactions,\n defaults = scope.defaults;\n scope.usePlugin(___base_11[\"default\"]);\n defaults.perAction.hold = 0;\n defaults.perAction.delay = 0;\n interactions.signals.on('new', function (interaction) {\n interaction.autoStartHoldTimer = null;\n });\n autoStart.signals.on('prepared', function (_ref) {\n var interaction = _ref.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.autoStartHoldTimer = setTimeout(function () {\n interaction.start(interaction.prepared, interaction.interactable, interaction.element);\n }, hold);\n }\n });\n interactions.signals.on('move', function (_ref2) {\n var interaction = _ref2.interaction,\n duplicate = _ref2.duplicate;\n\n if (interaction.pointerWasMoved && !duplicate) {\n clearTimeout(interaction.autoStartHoldTimer);\n }\n }); // prevent regular down->move autoStart\n\n autoStart.signals.on('before-start', function (_ref3) {\n var interaction = _ref3.interaction;\n var hold = getHoldDuration(interaction);\n\n if (hold > 0) {\n interaction.prepared.name = null;\n }\n });\n}\n\nfunction getHoldDuration(interaction) {\n var actionName = interaction.prepared && interaction.prepared.name;\n\n if (!actionName) {\n return null;\n }\n\n var options = interaction.interactable.options;\n return options[actionName].hold || options[actionName].delay;\n}\n\nvar ___default_11 = {\n id: 'auto-start/hold',\n install: __install_11,\n getHoldDuration: getHoldDuration\n};\n_$hold_11[\"default\"] = ___default_11;\n\nvar _$autoStart_12 = {};\n\"use strict\";\n\nObject.defineProperty(_$autoStart_12, \"__esModule\", {\n value: true\n});\n_$autoStart_12.install = __install_12;\nObject.defineProperty(_$autoStart_12, \"autoStart\", {\n enumerable: true,\n get: function get() {\n return ___base_12[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"dragAxis\", {\n enumerable: true,\n get: function get() {\n return _dragAxis[\"default\"];\n }\n});\nObject.defineProperty(_$autoStart_12, \"hold\", {\n enumerable: true,\n get: function get() {\n return _hold[\"default\"];\n }\n});\n_$autoStart_12.id = void 0;\n\nvar ___base_12 = ___interopRequireDefault_12(_$base_9);\n\nvar _dragAxis = ___interopRequireDefault_12(_$dragAxis_10);\n\nvar _hold = ___interopRequireDefault_12(_$hold_11);\n\nfunction ___interopRequireDefault_12(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_12(scope) {\n scope.usePlugin(___base_12[\"default\"]);\n scope.usePlugin(_hold[\"default\"]);\n scope.usePlugin(_dragAxis[\"default\"]);\n}\n\nvar __id_12 = 'auto-start';\n_$autoStart_12.id = __id_12;\n\nvar _$interactablePreventDefault_21 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactablePreventDefault_21, \"__esModule\", {\n value: true\n});\n_$interactablePreventDefault_21.install = __install_21;\n_$interactablePreventDefault_21[\"default\"] = void 0;\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___events_21 = ___interopRequireDefault_21(_$events_52);\n\nvar __is_21 = ___interopRequireWildcard_21(_$is_57);\n\n/* removed: var _$window_66 = require(\"@interactjs/utils/window\"); */;\n\nfunction ___getRequireWildcardCache_21() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_21 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_21(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_21(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_21(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction preventDefault(newValue) {\n if (/^(always|never|auto)$/.test(newValue)) {\n this.options.preventDefault = newValue;\n return this;\n }\n\n if (__is_21.bool(newValue)) {\n this.options.preventDefault = newValue ? 'always' : 'never';\n return this;\n }\n\n return this.options.preventDefault;\n}\n\nfunction checkAndPreventDefault(interactable, scope, event) {\n var setting = interactable.options.preventDefault;\n\n if (setting === 'never') {\n return;\n }\n\n if (setting === 'always') {\n event.preventDefault();\n return;\n } // setting === 'auto'\n // if the browser supports passive event listeners and isn't running on iOS,\n // don't preventDefault of touch{start,move} events. CSS touch-action and\n // user-select should be used instead of calling event.preventDefault().\n\n\n if (___events_21[\"default\"].supportsPassive && /^touch(start|move)$/.test(event.type)) {\n var doc = (0, _$window_66.getWindow)(event.target).document;\n var docOptions = scope.getDocOptions(doc);\n\n if (!(docOptions && docOptions.events) || docOptions.events.passive !== false) {\n return;\n }\n } // don't preventDefault of pointerdown events\n\n\n if (/^(mouse|pointer|touch)*(down|start)/i.test(event.type)) {\n return;\n } // don't preventDefault on editable elements\n\n\n if (__is_21.element(event.target) && (0, _$domUtils_51.matchesSelector)(event.target, 'input,select,textarea,[contenteditable=true],[contenteditable=true] *')) {\n return;\n }\n\n event.preventDefault();\n}\n\nfunction onInteractionEvent(_ref) {\n var interaction = _ref.interaction,\n event = _ref.event;\n\n if (interaction.interactable) {\n interaction.interactable.checkAndPreventDefault(event);\n }\n}\n\nfunction __install_21(scope) {\n /** @lends Interactable */\n var Interactable = scope.Interactable;\n /**\n * Returns or sets whether to prevent the browser's default behaviour in\n * response to pointer events. Can be set to:\n * - `'always'` to always prevent\n * - `'never'` to never prevent\n * - `'auto'` to let interact.js try to determine what would be best\n *\n * @param {string} [newValue] `'always'`, `'never'` or `'auto'`\n * @return {string | Interactable} The current setting or this Interactable\n */\n\n Interactable.prototype.preventDefault = preventDefault;\n\n Interactable.prototype.checkAndPreventDefault = function (event) {\n return checkAndPreventDefault(this, scope, event);\n };\n\n var _arr = ['down', 'move', 'up', 'cancel'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var eventSignal = _arr[_i];\n scope.interactions.signals.on(eventSignal, onInteractionEvent);\n } // prevent native HTML5 drag on interact.js target elements\n\n\n scope.interactions.docEvents.push({\n type: 'dragstart',\n listener: function listener(event) {\n for (var _i2 = 0; _i2 < scope.interactions.list.length; _i2++) {\n var _ref2;\n\n _ref2 = scope.interactions.list[_i2];\n var interaction = _ref2;\n\n if (interaction.element && (interaction.element === event.target || (0, _$domUtils_51.nodeContains)(interaction.element, event.target))) {\n interaction.interactable.checkAndPreventDefault(event);\n return;\n }\n }\n }\n });\n}\n\nvar ___default_21 = {\n id: 'core/interactablePreventDefault',\n install: __install_21\n};\n_$interactablePreventDefault_21[\"default\"] = ___default_21;\n\nvar _$devTools_25 = {};\n\"use strict\";\n\nObject.defineProperty(_$devTools_25, \"__esModule\", {\n value: true\n});\n_$devTools_25[\"default\"] = void 0;\n\nvar ___domObjects_25 = ___interopRequireDefault_25(_$domObjects_50);\n\n/* removed: var _$domUtils_51 = require(\"@interactjs/utils/domUtils\"); */;\n\nvar ___extend_25 = ___interopRequireDefault_25(_$extend_53);\n\nvar __is_25 = ___interopRequireWildcard_25(_$is_57);\n\nvar ___window_25 = ___interopRequireDefault_25(_$window_66);\n\nfunction ___getRequireWildcardCache_25() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_25 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_25(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_25(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_25(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___toConsumableArray_25(arr) { return ___arrayWithoutHoles_25(arr) || ___iterableToArray_25(arr) || ___nonIterableSpread_25(); }\n\nfunction ___nonIterableSpread_25() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction ___iterableToArray_25(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction ___arrayWithoutHoles_25(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CheckName;\n\n(function (CheckName) {\n CheckName[\"touchAction\"] = \"\";\n CheckName[\"boxSizing\"] = \"\";\n CheckName[\"noListeners\"] = \"\";\n})(CheckName || (CheckName = {}));\n\nvar prefix = '[interact.js] ';\nvar links = {\n touchAction: 'https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action',\n boxSizing: 'https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing'\n};\nvar isProduction = \"production\" === 'production'; // eslint-disable-next-line no-restricted-syntax\n\nfunction __install_25(scope) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n logger = _ref.logger;\n\n var interactions = scope.interactions,\n Interactable = scope.Interactable,\n defaults = scope.defaults;\n logger = logger || console;\n interactions.signals.on('action-start', function (_ref2) {\n var interaction = _ref2.interaction;\n\n for (var _i = 0; _i < checks.length; _i++) {\n var _ref3;\n\n _ref3 = checks[_i];\n var check = _ref3;\n var options = interaction.interactable && interaction.interactable.options[interaction.prepared.name];\n\n if (!(options && options.devTools && options.devTools.ignore[check.name]) && check.perform(interaction)) {\n var _logger;\n\n (_logger = logger).warn.apply(_logger, [prefix + check.text].concat(___toConsumableArray_25(check.getInfo(interaction))));\n }\n }\n });\n defaults.base.devTools = {\n ignore: {}\n };\n\n Interactable.prototype.devTools = function (options) {\n if (options) {\n (0, ___extend_25[\"default\"])(this.options.devTools, options);\n return this;\n }\n\n return this.options.devTools;\n };\n}\n\nvar checks = [{\n name: 'touchAction',\n perform: function perform(_ref4) {\n var element = _ref4.element;\n return !parentHasStyle(element, 'touchAction', /pan-|pinch|none/);\n },\n getInfo: function getInfo(_ref5) {\n var element = _ref5.element;\n return [element, links.touchAction];\n },\n text: 'Consider adding CSS \"touch-action: none\" to this element\\n'\n}, {\n name: 'boxSizing',\n perform: function perform(interaction) {\n var element = interaction.element;\n return interaction.prepared.name === 'resize' && element instanceof ___domObjects_25[\"default\"].HTMLElement && !hasStyle(element, 'boxSizing', /border-box/);\n },\n text: 'Consider adding CSS \"box-sizing: border-box\" to this resizable element',\n getInfo: function getInfo(_ref6) {\n var element = _ref6.element;\n return [element, links.boxSizing];\n }\n}, {\n name: 'noListeners',\n perform: function perform(interaction) {\n var actionName = interaction.prepared.name;\n var moveListeners = interaction.interactable.events.types[\"\".concat(actionName, \"move\")] || [];\n return !moveListeners.length;\n },\n getInfo: function getInfo(interaction) {\n return [interaction.prepared.name, interaction.interactable];\n },\n text: 'There are no listeners set for this action'\n}];\n\nfunction hasStyle(element, prop, styleRe) {\n return styleRe.test(element.style[prop] || ___window_25[\"default\"].window.getComputedStyle(element)[prop]);\n}\n\nfunction parentHasStyle(element, prop, styleRe) {\n var parent = element;\n\n while (__is_25.element(parent)) {\n if (hasStyle(parent, prop, styleRe)) {\n return true;\n }\n\n parent = (0, _$domUtils_51.parentNode)(parent);\n }\n\n return false;\n}\n\nvar __id_25 = 'dev-tools';\nvar defaultExport = isProduction ? {\n id: __id_25,\n install: function install() {}\n} : {\n id: __id_25,\n install: __install_25,\n checks: checks,\n CheckName: CheckName,\n links: links,\n prefix: prefix\n};\nvar ___default_25 = defaultExport;\n_$devTools_25[\"default\"] = ___default_25;\n\nvar _$base_30 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_30, \"__esModule\", {\n value: true\n});\n_$base_30.startAll = startAll;\n_$base_30.setAll = setAll;\n_$base_30.prepareStates = prepareStates;\n_$base_30.setCoords = setCoords;\n_$base_30.restoreCoords = restoreCoords;\n_$base_30.makeModifier = makeModifier;\n_$base_30[\"default\"] = void 0;\n\nvar ___extend_30 = ___interopRequireDefault_30(_$extend_53);\n\nfunction ___interopRequireDefault_30(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_30(arr, i) { return ___arrayWithHoles_30(arr) || ___iterableToArrayLimit_30(arr, i) || ___nonIterableRest_30(); }\n\nfunction ___nonIterableRest_30() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_30(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_30(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __install_30(scope) {\n var interactions = scope.interactions;\n scope.defaults.perAction.modifiers = [];\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.modifiers = {\n startOffset: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n offsets: {},\n states: null,\n result: null,\n endPrevented: false,\n startDelta: null\n };\n });\n interactions.signals.on('before-action-start', function (arg) {\n __start_30(arg, arg.interaction.coords.start.page, arg.interaction.coords.prev.page);\n });\n interactions.signals.on('action-resume', function (arg) {\n stop(arg);\n __start_30(arg, arg.interaction.coords.cur.page, arg.interaction.modifiers.result.coords);\n __beforeMove_30(arg);\n });\n interactions.signals.on('after-action-move', restoreCoords);\n interactions.signals.on('before-action-move', __beforeMove_30);\n interactions.signals.on('before-action-start', setCoords);\n interactions.signals.on('after-action-start', restoreCoords);\n interactions.signals.on('before-action-end', beforeEnd);\n interactions.signals.on('stop', stop);\n}\n\nfunction __start_30(_ref2, pageCoords, prevCoords) {\n var interaction = _ref2.interaction,\n phase = _ref2.phase;\n var interactable = interaction.interactable,\n element = interaction.element;\n var modifierList = getModifierList(interaction);\n var states = prepareStates(modifierList);\n var rect = (0, ___extend_30[\"default\"])({}, interaction.rect);\n\n if (!('width' in rect)) {\n rect.width = rect.right - rect.left;\n }\n\n if (!('height' in rect)) {\n rect.height = rect.bottom - rect.top;\n }\n\n var startOffset = getRectOffset(rect, pageCoords);\n interaction.modifiers.startOffset = startOffset;\n interaction.modifiers.startDelta = {\n x: 0,\n y: 0\n };\n var arg = {\n interaction: interaction,\n interactable: interactable,\n element: element,\n pageCoords: pageCoords,\n phase: phase,\n rect: rect,\n startOffset: startOffset,\n states: states,\n preEnd: false,\n requireEndOnly: false,\n prevCoords: prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page)\n };\n interaction.modifiers.states = states;\n interaction.modifiers.result = null;\n startAll(arg);\n var result = interaction.modifiers.result = setAll(arg);\n return result;\n}\n\nfunction startAll(arg) {\n var states = arg.states;\n\n for (var _i = 0; _i < states.length; _i++) {\n var _ref3;\n\n _ref3 = states[_i];\n var state = _ref3;\n\n if (state.methods.start) {\n arg.state = state;\n state.methods.start(arg);\n }\n }\n}\n\nfunction setAll(arg) {\n var prevCoords = arg.prevCoords,\n phase = arg.phase,\n preEnd = arg.preEnd,\n requireEndOnly = arg.requireEndOnly,\n rect = arg.rect,\n states = arg.states;\n arg.coords = (0, ___extend_30[\"default\"])({}, arg.pageCoords);\n arg.rect = (0, ___extend_30[\"default\"])({}, rect);\n var result = {\n delta: {\n x: 0,\n y: 0\n },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n coords: arg.coords,\n changed: true\n };\n\n for (var _i2 = 0; _i2 < states.length; _i2++) {\n var _ref4;\n\n _ref4 = states[_i2];\n var state = _ref4;\n var options = state.options;\n\n if (!state.methods.set || !shouldDo(options, preEnd, requireEndOnly, phase)) {\n continue;\n }\n\n arg.state = state;\n state.methods.set(arg);\n }\n\n result.delta.x = arg.coords.x - arg.pageCoords.x;\n result.delta.y = arg.coords.y - arg.pageCoords.y;\n var rectChanged = false;\n\n if (rect) {\n result.rectDelta.left = arg.rect.left - rect.left;\n result.rectDelta.right = arg.rect.right - rect.right;\n result.rectDelta.top = arg.rect.top - rect.top;\n result.rectDelta.bottom = arg.rect.bottom - rect.bottom;\n rectChanged = result.rectDelta.left !== 0 || result.rectDelta.right !== 0 || result.rectDelta.top !== 0 || result.rectDelta.bottom !== 0;\n }\n\n result.changed = !prevCoords || prevCoords.x !== result.coords.x || prevCoords.y !== result.coords.y || rectChanged;\n return result;\n}\n\nfunction __beforeMove_30(arg) {\n var interaction = arg.interaction,\n phase = arg.phase,\n preEnd = arg.preEnd,\n skipModifiers = arg.skipModifiers;\n var interactable = interaction.interactable,\n element = interaction.element;\n var states = skipModifiers ? interaction.modifiers.states.slice(skipModifiers) : interaction.modifiers.states;\n var prevCoords = arg.prevCoords || (interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.coords.prev.page);\n var modifierResult = setAll({\n interaction: interaction,\n interactable: interactable,\n element: element,\n preEnd: preEnd,\n phase: phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n prevCoords: prevCoords,\n rect: interaction.rect,\n states: states,\n requireEndOnly: false\n });\n interaction.modifiers.result = modifierResult; // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n\n if (!modifierResult.changed && interaction.interacting()) {\n return false;\n }\n\n if (arg.modifiedCoords) {\n var page = interaction.coords.cur.page;\n var adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y\n };\n modifierResult.coords.x += adjustment.x;\n modifierResult.coords.y += adjustment.y;\n modifierResult.delta.x += adjustment.x;\n modifierResult.delta.y += adjustment.y;\n }\n\n setCoords(arg);\n}\n\nfunction beforeEnd(arg) {\n var interaction = arg.interaction,\n event = arg.event,\n noPreEnd = arg.noPreEnd;\n var states = interaction.modifiers.states;\n\n if (noPreEnd || !states || !states.length) {\n return;\n }\n\n var didPreEnd = false;\n\n for (var _i3 = 0; _i3 < states.length; _i3++) {\n var _ref5;\n\n _ref5 = states[_i3];\n var state = _ref5;\n arg.state = state;\n var options = state.options,\n methods = state.methods;\n var endResult = methods.beforeEnd && methods.beforeEnd(arg);\n\n if (endResult === false) {\n interaction.modifiers.endPrevented = true;\n return false;\n } // if the endOnly option is true for any modifier\n\n\n if (!didPreEnd && shouldDo(options, true, true)) {\n // fire a move event at the modified coordinates\n interaction.move({\n event: event,\n preEnd: true\n });\n didPreEnd = true;\n }\n }\n}\n\nfunction stop(arg) {\n var interaction = arg.interaction;\n var states = interaction.modifiers.states;\n\n if (!states || !states.length) {\n return;\n }\n\n var modifierArg = (0, ___extend_30[\"default\"])({\n states: states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null\n }, arg);\n\n for (var _i4 = 0; _i4 < states.length; _i4++) {\n var _ref6;\n\n _ref6 = states[_i4];\n var state = _ref6;\n modifierArg.state = state;\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg);\n }\n }\n\n arg.interaction.modifiers.states = null;\n arg.interaction.modifiers.endPrevented = false;\n}\n\nfunction getModifierList(interaction) {\n var actionOptions = interaction.interactable.options[interaction.prepared.name];\n var actionModifiers = actionOptions.modifiers;\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers.filter(function (modifier) {\n return !modifier.options || modifier.options.enabled !== false;\n });\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize'].map(function (type) {\n var options = actionOptions[type];\n return options && options.enabled && {\n options: options,\n methods: options._methods\n };\n }).filter(function (m) {\n return !!m;\n });\n}\n\nfunction prepareStates(modifierList) {\n var states = [];\n\n for (var index = 0; index < modifierList.length; index++) {\n var _modifierList$index = modifierList[index],\n options = _modifierList$index.options,\n methods = _modifierList$index.methods,\n name = _modifierList$index.name;\n\n if (options && options.enabled === false) {\n continue;\n }\n\n states.push({\n options: options,\n methods: methods,\n index: index,\n name: name\n });\n }\n\n return states;\n}\n\nfunction setCoords(arg) {\n var interaction = arg.interaction,\n phase = arg.phase;\n var curCoords = interaction.coords.cur;\n var startCoords = interaction.coords.start;\n var _interaction$modifier = interaction.modifiers,\n result = _interaction$modifier.result,\n startDelta = _interaction$modifier.startDelta;\n var curDelta = result.delta;\n\n if (phase === 'start') {\n (0, ___extend_30[\"default\"])(interaction.modifiers.startDelta, result.delta);\n }\n\n var _arr = [[startCoords, startDelta], [curCoords, curDelta]];\n\n for (var _i5 = 0; _i5 < _arr.length; _i5++) {\n var _arr$_i = ___slicedToArray_30(_arr[_i5], 2),\n coordsSet = _arr$_i[0],\n delta = _arr$_i[1];\n\n coordsSet.page.x += delta.x;\n coordsSet.page.y += delta.y;\n coordsSet.client.x += delta.x;\n coordsSet.client.y += delta.y;\n }\n\n var rectDelta = interaction.modifiers.result.rectDelta;\n var rect = arg.rect || interaction.rect;\n rect.left += rectDelta.left;\n rect.right += rectDelta.right;\n rect.top += rectDelta.top;\n rect.bottom += rectDelta.bottom;\n rect.width = rect.right - rect.left;\n rect.height = rect.bottom - rect.top;\n}\n\nfunction restoreCoords(_ref7) {\n var _ref7$interaction = _ref7.interaction,\n coords = _ref7$interaction.coords,\n rect = _ref7$interaction.rect,\n modifiers = _ref7$interaction.modifiers;\n\n if (!modifiers.result) {\n return;\n }\n\n var startDelta = modifiers.startDelta;\n var _modifiers$result = modifiers.result,\n curDelta = _modifiers$result.delta,\n rectDelta = _modifiers$result.rectDelta;\n var coordsAndDeltas = [[coords.start, startDelta], [coords.cur, curDelta]];\n\n for (var _i6 = 0; _i6 < coordsAndDeltas.length; _i6++) {\n var _coordsAndDeltas$_i = ___slicedToArray_30(coordsAndDeltas[_i6], 2),\n coordsSet = _coordsAndDeltas$_i[0],\n delta = _coordsAndDeltas$_i[1];\n\n coordsSet.page.x -= delta.x;\n coordsSet.page.y -= delta.y;\n coordsSet.client.x -= delta.x;\n coordsSet.client.y -= delta.y;\n }\n\n rect.left -= rectDelta.left;\n rect.right -= rectDelta.right;\n rect.top -= rectDelta.top;\n rect.bottom -= rectDelta.bottom;\n}\n\nfunction shouldDo(options, preEnd, requireEndOnly, phase) {\n return options ? options.enabled !== false && (preEnd || !options.endOnly) && (!requireEndOnly || options.endOnly || options.alwaysOnEnd) && (options.setStart || phase !== 'start') : !requireEndOnly;\n}\n\nfunction getRectOffset(rect, coords) {\n return rect ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y\n } : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n}\n\nfunction makeModifier(module, name) {\n var defaults = module.defaults;\n var methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop\n };\n\n var modifier = function modifier(_options) {\n var options = _options || {};\n options.enabled = options.enabled !== false; // add missing defaults to options\n\n for (var prop in defaults) {\n if (!(prop in options)) {\n options[prop] = defaults[prop];\n }\n }\n\n var m = {\n options: options,\n methods: methods,\n name: name\n };\n return m;\n };\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults;\n modifier._methods = methods;\n }\n\n return modifier;\n}\n\nvar ___default_30 = {\n id: 'modifiers/base',\n install: __install_30,\n startAll: startAll,\n setAll: setAll,\n prepareStates: prepareStates,\n start: __start_30,\n beforeMove: __beforeMove_30,\n beforeEnd: beforeEnd,\n stop: stop,\n shouldDo: shouldDo,\n getModifierList: getModifierList,\n getRectOffset: getRectOffset,\n makeModifier: makeModifier\n};\n_$base_30[\"default\"] = ___default_30;\n\nvar _$inertia_26 = {};\n\"use strict\";\n\nObject.defineProperty(_$inertia_26, \"__esModule\", {\n value: true\n});\n_$inertia_26[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\nvar ___base_26 = ___interopRequireWildcard_26(_$base_30);\n\nvar __utils_26 = ___interopRequireWildcard_26(_$utils_56);\n\nvar ___raf_26 = ___interopRequireDefault_26(_$raf_62);\n\nfunction ___interopRequireDefault_26(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_26() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_26 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_26(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_26(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n_$InteractEvent_15.EventPhase.Resume = 'resume';\n_$InteractEvent_15.EventPhase.InertiaStart = 'inertiastart';\n\nfunction __install_26(scope) {\n var interactions = scope.interactions,\n defaults = scope.defaults;\n interactions.signals.on('new', function (_ref) {\n var interaction = _ref.interaction;\n interaction.inertia = {\n active: false,\n smoothEnd: false,\n allowResume: false,\n upCoords: {},\n timeout: null\n };\n });\n interactions.signals.on('before-action-end', function (arg) {\n return release(arg, scope);\n });\n interactions.signals.on('down', function (arg) {\n return resume(arg, scope);\n });\n interactions.signals.on('stop', __stop_26);\n defaults.perAction.inertia = {\n enabled: false,\n resistance: 10,\n minSpeed: 100,\n endSpeed: 10,\n allowResume: true,\n smoothEndDuration: 300\n };\n scope.usePlugin(___base_26[\"default\"]);\n}\n\nfunction resume(_ref2, scope) {\n var interaction = _ref2.interaction,\n event = _ref2.event,\n pointer = _ref2.pointer,\n eventTarget = _ref2.eventTarget;\n var state = interaction.inertia; // Check if the down event hits the current inertia target\n\n if (state.active) {\n var element = eventTarget; // climb up the DOM tree from the event target\n\n while (__utils_26.is.element(element)) {\n // if interaction element is the current inertia target element\n if (element === interaction.element) {\n // stop inertia\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null; // update pointers to the down event's coordinates\n\n interaction.updatePointer(pointer, event, eventTarget, true);\n __utils_26.pointer.setCoords(interaction.coords.cur, interaction.pointers.map(function (p) {\n return p.pointer;\n }), interaction._now()); // fire appropriate signals\n\n var signalArg = {\n interaction: interaction,\n phase: _$InteractEvent_15.EventPhase.Resume\n };\n scope.interactions.signals.fire('action-resume', signalArg); // fire a reume event\n\n var resumeEvent = new scope.InteractEvent(interaction, event, interaction.prepared.name, _$InteractEvent_15.EventPhase.Resume, interaction.element);\n\n interaction._fireEvent(resumeEvent);\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n break;\n }\n\n element = __utils_26.dom.parentNode(element);\n }\n }\n}\n\nfunction release(_ref3, scope) {\n var interaction = _ref3.interaction,\n event = _ref3.event,\n noPreEnd = _ref3.noPreEnd;\n var state = interaction.inertia;\n\n if (!interaction.interacting() || interaction.simulation && interaction.simulation.active || noPreEnd) {\n return null;\n }\n\n var options = __getOptions_26(interaction);\n\n var now = interaction._now();\n\n var velocityClient = interaction.coords.velocity.client;\n var pointerSpeed = __utils_26.hypot(velocityClient.x, velocityClient.y);\n var smoothEnd = false;\n var modifierResult; // check if inertia should be started\n\n var inertiaPossible = options && options.enabled && interaction.prepared.name !== 'gesture' && event !== state.startEvent;\n var inertia = inertiaPossible && now - interaction.coords.cur.timeStamp < 50 && pointerSpeed > options.minSpeed && pointerSpeed > options.endSpeed;\n var modifierArg = {\n interaction: interaction,\n pageCoords: interaction.coords.cur.page,\n states: inertiaPossible && interaction.modifiers.states.map(function (modifierStatus) {\n return __utils_26.extend({}, modifierStatus);\n }),\n preEnd: true,\n prevCoords: null,\n requireEndOnly: null,\n phase: _$InteractEvent_15.EventPhase.InertiaStart\n }; // smoothEnd\n\n if (inertiaPossible && !inertia) {\n modifierArg.prevCoords = interaction.modifiers.result ? interaction.modifiers.result.coords : interaction.prevEvent.page;\n modifierArg.requireEndOnly = false;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n\n if (modifierResult.changed) {\n smoothEnd = true;\n }\n }\n\n if (!(inertia || smoothEnd)) {\n return null;\n }\n\n __utils_26.pointer.copyCoords(state.upCoords, interaction.coords.cur);\n (0, ___base_26.setCoords)(modifierArg);\n interaction.pointers[0].pointer = state.startEvent = new scope.InteractEvent(interaction, event, // FIXME add proper typing Action.name\n interaction.prepared.name, _$InteractEvent_15.EventPhase.InertiaStart, interaction.element);\n (0, ___base_26.restoreCoords)(modifierArg);\n state.t0 = now;\n state.active = true;\n state.allowResume = options.allowResume;\n interaction.simulation = state;\n interaction.interactable.fire(state.startEvent);\n\n if (inertia) {\n state.vx0 = interaction.coords.velocity.client.x;\n state.vy0 = interaction.coords.velocity.client.y;\n state.v0 = pointerSpeed;\n calcInertia(interaction, state);\n __utils_26.extend(modifierArg.pageCoords, interaction.coords.cur.page);\n modifierArg.pageCoords.x += state.xe;\n modifierArg.pageCoords.y += state.ye;\n modifierArg.prevCoords = null;\n modifierArg.requireEndOnly = true;\n modifierResult = ___base_26[\"default\"].setAll(modifierArg);\n state.modifiedXe += modifierResult.delta.x;\n state.modifiedYe += modifierResult.delta.y;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.smoothEnd = true;\n state.xe = modifierResult.delta.x;\n state.ye = modifierResult.delta.y;\n state.sx = state.sy = 0;\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n }\n\n return false;\n}\n\nfunction __stop_26(_ref4) {\n var interaction = _ref4.interaction;\n var state = interaction.inertia;\n\n if (state.active) {\n ___raf_26[\"default\"].cancel(state.timeout);\n\n state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction calcInertia(interaction, state) {\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var inertiaDur = -Math.log(options.endSpeed / state.v0) / lambda;\n state.x0 = interaction.prevEvent.page.x;\n state.y0 = interaction.prevEvent.page.y;\n state.t0 = state.startEvent.timeStamp / 1000;\n state.sx = state.sy = 0;\n state.modifiedXe = state.xe = (state.vx0 - inertiaDur) / lambda;\n state.modifiedYe = state.ye = (state.vy0 - inertiaDur) / lambda;\n state.te = inertiaDur;\n state.lambda_v0 = lambda / state.v0;\n state.one_ve_v0 = 1 - options.endSpeed / state.v0;\n}\n\nfunction inertiaTick(interaction) {\n updateInertiaCoords(interaction);\n __utils_26.pointer.setCoordDeltas(interaction.coords.delta, interaction.coords.prev, interaction.coords.cur);\n __utils_26.pointer.setCoordVelocity(interaction.coords.velocity, interaction.coords.delta);\n var state = interaction.inertia;\n var options = __getOptions_26(interaction);\n var lambda = options.resistance;\n var t = interaction._now() / 1000 - state.t0;\n\n if (t < state.te) {\n var progress = 1 - (Math.exp(-lambda * t) - state.lambda_v0) / state.one_ve_v0;\n\n if (state.modifiedXe === state.xe && state.modifiedYe === state.ye) {\n state.sx = state.xe * progress;\n state.sy = state.ye * progress;\n } else {\n var quadPoint = __utils_26.getQuadraticCurvePoint(0, 0, state.xe, state.ye, state.modifiedXe, state.modifiedYe, progress);\n state.sx = quadPoint.x;\n state.sy = quadPoint.y;\n }\n\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return inertiaTick(interaction);\n });\n } else {\n state.sx = state.modifiedXe;\n state.sy = state.modifiedYe;\n interaction.move();\n interaction.end(state.startEvent);\n state.active = false;\n interaction.simulation = null;\n }\n\n __utils_26.pointer.copyCoords(interaction.coords.prev, interaction.coords.cur);\n}\n\nfunction smothEndTick(interaction) {\n updateInertiaCoords(interaction);\n var state = interaction.inertia;\n var t = interaction._now() - state.t0;\n\n var _getOptions = __getOptions_26(interaction),\n duration = _getOptions.smoothEndDuration;\n\n if (t < duration) {\n state.sx = __utils_26.easeOutQuad(t, 0, state.xe, duration);\n state.sy = __utils_26.easeOutQuad(t, 0, state.ye, duration);\n interaction.move();\n state.timeout = ___raf_26[\"default\"].request(function () {\n return smothEndTick(interaction);\n });\n } else {\n state.sx = state.xe;\n state.sy = state.ye;\n interaction.move();\n interaction.end(state.startEvent);\n state.smoothEnd = state.active = false;\n interaction.simulation = null;\n }\n}\n\nfunction updateInertiaCoords(interaction) {\n var state = interaction.inertia; // return if inertia isn't running\n\n if (!state.active) {\n return;\n }\n\n var pageUp = state.upCoords.page;\n var clientUp = state.upCoords.client;\n __utils_26.pointer.setCoords(interaction.coords.cur, [{\n pageX: pageUp.x + state.sx,\n pageY: pageUp.y + state.sy,\n clientX: clientUp.x + state.sx,\n clientY: clientUp.y + state.sy\n }], interaction._now());\n}\n\nfunction __getOptions_26(_ref5) {\n var interactable = _ref5.interactable,\n prepared = _ref5.prepared;\n return interactable && interactable.options && prepared.name && interactable.options[prepared.name].inertia;\n}\n\nvar ___default_26 = {\n id: 'inertia',\n install: __install_26,\n calcInertia: calcInertia,\n inertiaTick: inertiaTick,\n smothEndTick: smothEndTick,\n updateInertiaCoords: updateInertiaCoords\n};\n_$inertia_26[\"default\"] = ___default_26;\n\nvar _$pointer_33 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_33, \"__esModule\", {\n value: true\n});\n_$pointer_33[\"default\"] = void 0;\n\nvar ___extend_33 = ___interopRequireDefault_33(_$extend_53);\n\nvar __is_33 = ___interopRequireWildcard_33(_$is_57);\n\nvar ___rect_33 = ___interopRequireDefault_33(_$rect_63);\n\nfunction ___getRequireWildcardCache_33() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_33 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_33(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_33(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_33(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __start_33(_ref) {\n var rect = _ref.rect,\n startOffset = _ref.startOffset,\n state = _ref.state,\n interaction = _ref.interaction,\n pageCoords = _ref.pageCoords;\n var options = state.options;\n var elementRect = options.elementRect;\n var offset = (0, ___extend_33[\"default\"])({\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n }, options.offset || {});\n\n if (rect && elementRect) {\n var restriction = getRestrictionRect(options.restriction, interaction, pageCoords);\n\n if (restriction) {\n var widthDiff = restriction.right - restriction.left - rect.width;\n var heightDiff = restriction.bottom - restriction.top - rect.height;\n\n if (widthDiff < 0) {\n offset.left += widthDiff;\n offset.right += widthDiff;\n }\n\n if (heightDiff < 0) {\n offset.top += heightDiff;\n offset.bottom += heightDiff;\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left;\n offset.top += startOffset.top - rect.height * elementRect.top;\n offset.right += startOffset.right - rect.width * (1 - elementRect.right);\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom);\n }\n\n state.offset = offset;\n}\n\nfunction set(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var options = state.options,\n offset = state.offset;\n var restriction = getRestrictionRect(options.restriction, interaction, coords);\n\n if (!restriction) {\n return;\n }\n\n var rect = ___rect_33[\"default\"].xywhToTlbr(restriction);\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left);\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top);\n}\n\nfunction getRestrictionRect(value, interaction, coords) {\n if (__is_33.func(value)) {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]);\n } else {\n return ___rect_33[\"default\"].resolveRectLike(value, interaction.interactable, interaction.element);\n }\n}\n\nvar __defaults_33 = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrict = {\n start: __start_33,\n set: set,\n getRestrictionRect: getRestrictionRect,\n defaults: __defaults_33\n};\nvar ___default_33 = restrict;\n_$pointer_33[\"default\"] = ___default_33;\n\nvar _$edges_32 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_32, \"__esModule\", {\n value: true\n});\n_$edges_32[\"default\"] = void 0;\n\nvar ___extend_32 = ___interopRequireDefault_32(_$extend_53);\n\nvar ___rect_32 = ___interopRequireDefault_32(_$rect_63);\n\nvar _pointer = ___interopRequireDefault_32(_$pointer_33);\n\nfunction ___interopRequireDefault_32(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n// This module adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\nvar __getRestrictionRect_32 = _pointer[\"default\"].getRestrictionRect;\nvar noInner = {\n top: +Infinity,\n left: +Infinity,\n bottom: -Infinity,\n right: -Infinity\n};\nvar noOuter = {\n top: -Infinity,\n left: -Infinity,\n bottom: +Infinity,\n right: +Infinity\n};\n\nfunction __start_32(_ref) {\n var interaction = _ref.interaction,\n state = _ref.state;\n var options = state.options;\n var startOffset = interaction.modifiers.startOffset;\n var offset;\n\n if (options) {\n var offsetRect = __getRestrictionRect_32(options.offset, interaction, interaction.coords.start.page);\n offset = ___rect_32[\"default\"].rectToXY(offsetRect);\n }\n\n offset = offset || {\n x: 0,\n y: 0\n };\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right\n };\n}\n\nfunction __set_32(_ref2) {\n var coords = _ref2.coords,\n interaction = _ref2.interaction,\n state = _ref2.state;\n var offset = state.offset,\n options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var page = (0, ___extend_32[\"default\"])({}, coords);\n var inner = __getRestrictionRect_32(options.inner, interaction, page) || {};\n var outer = __getRestrictionRect_32(options.outer, interaction, page) || {};\n fixRect(inner, noInner);\n fixRect(outer, noOuter);\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top);\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom);\n }\n\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left);\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right);\n }\n}\n\nfunction fixRect(rect, defaults) {\n var _arr = ['top', 'left', 'bottom', 'right'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var edge = _arr[_i];\n\n if (!(edge in rect)) {\n rect[edge] = defaults[edge];\n }\n }\n\n return rect;\n}\n\nvar __defaults_32 = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar restrictEdges = {\n noInner: noInner,\n noOuter: noOuter,\n getRestrictionRect: __getRestrictionRect_32,\n start: __start_32,\n set: __set_32,\n defaults: __defaults_32\n};\nvar ___default_32 = restrictEdges;\n_$edges_32[\"default\"] = ___default_32;\n\nvar _$rect_34 = {};\n\"use strict\";\n\nObject.defineProperty(_$rect_34, \"__esModule\", {\n value: true\n});\n_$rect_34[\"default\"] = void 0;\n\nvar ___extend_34 = ___interopRequireDefault_34(_$extend_53);\n\nvar ___pointer_34 = ___interopRequireDefault_34(_$pointer_33);\n\nfunction ___interopRequireDefault_34(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __defaults_34 = (0, ___extend_34[\"default\"])({\n get elementRect() {\n return {\n top: 0,\n left: 0,\n bottom: 1,\n right: 1\n };\n },\n\n set elementRect(_) {}\n\n}, ___pointer_34[\"default\"].defaults);\nvar restrictRect = {\n start: ___pointer_34[\"default\"].start,\n set: ___pointer_34[\"default\"].set,\n defaults: __defaults_34\n};\nvar ___default_34 = restrictRect;\n_$rect_34[\"default\"] = ___default_34;\n\nvar _$size_35 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_35, \"__esModule\", {\n value: true\n});\n_$size_35[\"default\"] = void 0;\n\nvar ___extend_35 = ___interopRequireDefault_35(_$extend_53);\n\nvar ___rect_35 = ___interopRequireDefault_35(_$rect_63);\n\nvar _edges = ___interopRequireDefault_35(_$edges_32);\n\nfunction ___interopRequireDefault_35(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar noMin = {\n width: -Infinity,\n height: -Infinity\n};\nvar noMax = {\n width: +Infinity,\n height: +Infinity\n};\n\nfunction __start_35(arg) {\n return _edges[\"default\"].start(arg);\n}\n\nfunction __set_35(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared._linkedEdges || interaction.prepared.edges;\n\n if (!edges) {\n return;\n }\n\n var rect = ___rect_35[\"default\"].xywhToTlbr(interaction.resizeRects.inverted);\n\n var minSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.min, interaction, arg.coords)) || noMin;\n var maxSize = ___rect_35[\"default\"].tlbrToXywh(_edges[\"default\"].getRestrictionRect(options.max, interaction, arg.coords)) || noMax;\n state.options = {\n endOnly: options.endOnly,\n inner: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noInner),\n outer: (0, ___extend_35[\"default\"])({}, _edges[\"default\"].noOuter)\n };\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height;\n state.options.outer.top = rect.bottom - maxSize.height;\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height;\n state.options.outer.bottom = rect.top + maxSize.height;\n }\n\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width;\n state.options.outer.left = rect.right - maxSize.width;\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width;\n state.options.outer.right = rect.left + maxSize.width;\n }\n\n _edges[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_35 = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false\n};\nvar restrictSize = {\n start: __start_35,\n set: __set_35,\n defaults: __defaults_35\n};\nvar ___default_35 = restrictSize;\n_$size_35[\"default\"] = ___default_35;\n\nvar _$pointer_37 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointer_37, \"__esModule\", {\n value: true\n});\n_$pointer_37[\"default\"] = void 0;\n\nvar __utils_37 = ___interopRequireWildcard_37(_$utils_56);\n\nfunction ___getRequireWildcardCache_37() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_37 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_37(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_37(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __start_37(arg) {\n var interaction = arg.interaction,\n interactable = arg.interactable,\n element = arg.element,\n rect = arg.rect,\n state = arg.state,\n startOffset = arg.startOffset;\n var options = state.options;\n var offsets = [];\n var origin = options.offsetWithOrigin ? getOrigin(arg) : {\n x: 0,\n y: 0\n };\n var snapOffset;\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y\n };\n } else {\n var offsetRect = __utils_37.rect.resolveRectLike(options.offset, interactable, element, [interaction]);\n snapOffset = __utils_37.rect.rectToXY(offsetRect) || {\n x: 0,\n y: 0\n };\n snapOffset.x += origin.x;\n snapOffset.y += origin.y;\n }\n\n var relativePoints = options.relativePoints || [];\n\n if (rect && options.relativePoints && options.relativePoints.length) {\n for (var index = 0; index < relativePoints.length; index++) {\n var relativePoint = relativePoints[index];\n offsets.push({\n index: index,\n relativePoint: relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y\n });\n }\n } else {\n offsets.push(__utils_37.extend({\n index: 0,\n relativePoint: null\n }, snapOffset));\n }\n\n state.offsets = offsets;\n}\n\nfunction __set_37(arg) {\n var interaction = arg.interaction,\n coords = arg.coords,\n state = arg.state;\n var options = state.options,\n offsets = state.offsets;\n var origin = __utils_37.getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name);\n var page = __utils_37.extend({}, coords);\n var targets = [];\n var target;\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x;\n page.y -= origin.y;\n }\n\n state.realX = page.x;\n state.realY = page.y;\n\n for (var _i = 0; _i < offsets.length; _i++) {\n var _ref;\n\n _ref = offsets[_i];\n var offset = _ref;\n var relativeX = page.x - offset.x;\n var relativeY = page.y - offset.y;\n\n for (var index = 0, _len = options.targets.length; index < _len; index++) {\n var snapTarget = options.targets[index];\n\n if (__utils_37.is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction, offset, index);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n targets.push({\n x: (__utils_37.is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (__utils_37.is.number(target.y) ? target.y : relativeY) + offset.y,\n range: __utils_37.is.number(target.range) ? target.range : options.range\n });\n }\n }\n\n var closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n dx: 0,\n dy: 0\n };\n\n for (var i = 0, len = targets.length; i < len; i++) {\n target = targets[i];\n var range = target.range;\n var dx = target.x - page.x;\n var dy = target.y - page.y;\n var distance = __utils_37.hypot(dx, dy);\n var inRange = distance <= range; // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false;\n }\n\n if (!closest.target || (inRange // is the closest target in range?\n ? closest.inRange && range !== Infinity // the pointer is relatively deeper in this target\n ? distance / range < closest.distance / closest.range // this target has Infinite range and the closest doesn't\n : range === Infinity && closest.range !== Infinity || // OR this target is closer that the previous closest\n distance < closest.distance : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)) {\n closest.target = target;\n closest.distance = distance;\n closest.range = range;\n closest.inRange = inRange;\n closest.dx = dx;\n closest.dy = dy;\n state.range = range;\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x;\n coords.y = closest.target.y;\n }\n\n state.closest = closest;\n}\n\nfunction getOrigin(arg) {\n var element = arg.interaction.element;\n var optionsOrigin = __utils_37.rect.rectToXY(__utils_37.rect.resolveRectLike(arg.state.options.origin, null, null, [element]));\n var origin = optionsOrigin || __utils_37.getOriginXY(arg.interactable, element, arg.interaction.prepared.name);\n return origin;\n}\n\nvar __defaults_37 = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false\n};\nvar snap = {\n start: __start_37,\n set: __set_37,\n defaults: __defaults_37\n};\nvar ___default_37 = snap;\n_$pointer_37[\"default\"] = ___default_37;\n\nvar _$size_38 = {};\n\"use strict\";\n\nObject.defineProperty(_$size_38, \"__esModule\", {\n value: true\n});\n_$size_38[\"default\"] = void 0;\n\nvar ___extend_38 = ___interopRequireDefault_38(_$extend_53);\n\nvar __is_38 = ___interopRequireWildcard_38(_$is_57);\n\nvar ___pointer_38 = ___interopRequireDefault_38(_$pointer_37);\n\nfunction ___getRequireWildcardCache_38() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_38 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_38(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_38(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___interopRequireDefault_38(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___slicedToArray_38(arr, i) { return ___arrayWithHoles_38(arr) || ___iterableToArrayLimit_38(arr, i) || ___nonIterableRest_38(); }\n\nfunction ___nonIterableRest_38() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_38(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_38(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction __start_38(arg) {\n var interaction = arg.interaction,\n state = arg.state;\n var options = state.options;\n var edges = interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [{\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1\n }],\n offset: options.offset || 'self',\n origin: {\n x: 0,\n y: 0\n },\n range: options.range\n }\n };\n state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']];\n\n ___pointer_38[\"default\"].start(arg);\n\n state.offsets = arg.state.offsets;\n arg.state = state;\n}\n\nfunction __set_38(arg) {\n var interaction = arg.interaction,\n state = arg.state,\n coords = arg.coords;\n var options = state.options,\n offsets = state.offsets;\n var relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y\n };\n state.options = (0, ___extend_38[\"default\"])({}, options);\n state.options.targets = [];\n\n for (var _i = 0; _i < (options.targets || []).length; _i++) {\n var _ref;\n\n _ref = (options.targets || [])[_i];\n var snapTarget = _ref;\n var target = void 0;\n\n if (__is_38.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction);\n } else {\n target = snapTarget;\n }\n\n if (!target) {\n continue;\n }\n\n for (var _i2 = 0; _i2 < state.targetFields.length; _i2++) {\n var _ref2;\n\n _ref2 = state.targetFields[_i2];\n\n var _ref3 = _ref2,\n _ref4 = ___slicedToArray_38(_ref3, 2),\n xField = _ref4[0],\n yField = _ref4[1];\n\n if (xField in target || yField in target) {\n target.x = target[xField];\n target.y = target[yField];\n break;\n }\n }\n\n state.options.targets.push(target);\n }\n\n ___pointer_38[\"default\"].set(arg);\n\n state.options = options;\n}\n\nvar __defaults_38 = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false\n};\nvar snapSize = {\n start: __start_38,\n set: __set_38,\n defaults: __defaults_38\n};\nvar ___default_38 = snapSize;\n_$size_38[\"default\"] = ___default_38;\n\nvar _$edges_36 = {};\n\"use strict\";\n\nObject.defineProperty(_$edges_36, \"__esModule\", {\n value: true\n});\n_$edges_36[\"default\"] = void 0;\n\nvar ___clone_36 = ___interopRequireDefault_36(_$clone_49);\n\nvar ___extend_36 = ___interopRequireDefault_36(_$extend_53);\n\nvar _size = ___interopRequireDefault_36(_$size_38);\n\nfunction ___interopRequireDefault_36(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\n/**\n * @module modifiers/snapEdges\n *\n * @description\n * This module allows snapping of the edges of targets during resize\n * interactions.\n *\n * @example\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n */\nfunction __start_36(arg) {\n var edges = arg.interaction.prepared.edges;\n\n if (!edges) {\n return null;\n }\n\n arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']];\n return _size[\"default\"].start(arg);\n}\n\nfunction __set_36(arg) {\n return _size[\"default\"].set(arg);\n}\n\nvar snapEdges = {\n start: __start_36,\n set: __set_36,\n defaults: (0, ___extend_36[\"default\"])((0, ___clone_36[\"default\"])(_size[\"default\"].defaults), {\n offset: {\n x: 0,\n y: 0\n }\n })\n};\nvar ___default_36 = snapEdges;\n_$edges_36[\"default\"] = ___default_36;\n\nvar _$modifiers_31 = {};\n\"use strict\";\n\nObject.defineProperty(_$modifiers_31, \"__esModule\", {\n value: true\n});\n_$modifiers_31.restrictSize = _$modifiers_31.restrictEdges = _$modifiers_31.restrictRect = _$modifiers_31.restrict = _$modifiers_31.snapEdges = _$modifiers_31.snapSize = _$modifiers_31.snap = void 0;\n\nvar ___base_31 = ___interopRequireDefault_31(_$base_30);\n\nvar ___edges_31 = ___interopRequireDefault_31(_$edges_32);\n\nvar ___pointer_31 = ___interopRequireDefault_31(_$pointer_33);\n\nvar ___rect_31 = ___interopRequireDefault_31(_$rect_34);\n\nvar ___size_31 = ___interopRequireDefault_31(_$size_35);\n\nvar _edges2 = ___interopRequireDefault_31(_$edges_36);\n\nvar _pointer2 = ___interopRequireDefault_31(_$pointer_37);\n\nvar _size2 = ___interopRequireDefault_31(_$size_38);\n\nfunction ___interopRequireDefault_31(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar __makeModifier_31 = ___base_31[\"default\"].makeModifier;\nvar __snap_31 = __makeModifier_31(_pointer2[\"default\"], 'snap');\n_$modifiers_31.snap = __snap_31;\nvar __snapSize_31 = __makeModifier_31(_size2[\"default\"], 'snapSize');\n_$modifiers_31.snapSize = __snapSize_31;\nvar __snapEdges_31 = __makeModifier_31(_edges2[\"default\"], 'snapEdges');\n_$modifiers_31.snapEdges = __snapEdges_31;\nvar __restrict_31 = __makeModifier_31(___pointer_31[\"default\"], 'restrict');\n_$modifiers_31.restrict = __restrict_31;\nvar __restrictRect_31 = __makeModifier_31(___rect_31[\"default\"], 'restrictRect');\n_$modifiers_31.restrictRect = __restrictRect_31;\nvar __restrictEdges_31 = __makeModifier_31(___edges_31[\"default\"], 'restrictEdges');\n_$modifiers_31.restrictEdges = __restrictEdges_31;\nvar __restrictSize_31 = __makeModifier_31(___size_31[\"default\"], 'restrictSize');\n_$modifiers_31.restrictSize = __restrictSize_31;\n\nvar _$PointerEvent_39 = {};\n\"use strict\";\n\nObject.defineProperty(_$PointerEvent_39, \"__esModule\", {\n value: true\n});\n_$PointerEvent_39[\"default\"] = void 0;\n\nvar ___BaseEvent2_39 = ___interopRequireDefault_39(_$BaseEvent_13);\n\nvar ___pointerUtils_39 = ___interopRequireDefault_39(_$pointerUtils_61);\n\nfunction ___interopRequireDefault_39(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___typeof_39(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_39 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_39 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_39(obj); }\n\nfunction ___classCallCheck_39(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction ___defineProperties_39(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction ___createClass_39(Constructor, protoProps, staticProps) { if (protoProps) ___defineProperties_39(Constructor.prototype, protoProps); if (staticProps) ___defineProperties_39(Constructor, staticProps); return Constructor; }\n\nfunction ___possibleConstructorReturn_39(self, call) { if (call && (___typeof_39(call) === \"object\" || typeof call === \"function\")) { return call; } return ___assertThisInitialized_39(self); }\n\nfunction ___getPrototypeOf_39(o) { ___getPrototypeOf_39 = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return ___getPrototypeOf_39(o); }\n\nfunction ___assertThisInitialized_39(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction ___inherits_39(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) ___setPrototypeOf_39(subClass, superClass); }\n\nfunction ___setPrototypeOf_39(o, p) { ___setPrototypeOf_39 = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return ___setPrototypeOf_39(o, p); }\n\n/** */\nvar PointerEvent =\n/*#__PURE__*/\nfunction (_BaseEvent) {\n ___inherits_39(PointerEvent, _BaseEvent);\n\n /** */\n function PointerEvent(type, pointer, event, eventTarget, interaction, timeStamp) {\n var _this;\n\n ___classCallCheck_39(this, PointerEvent);\n\n _this = ___possibleConstructorReturn_39(this, ___getPrototypeOf_39(PointerEvent).call(this, interaction));\n\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), event);\n\n if (event !== pointer) {\n ___pointerUtils_39[\"default\"].pointerExtend(___assertThisInitialized_39(_this), pointer);\n }\n\n _this.timeStamp = timeStamp;\n _this.originalEvent = event;\n _this.type = type;\n _this.pointerId = ___pointerUtils_39[\"default\"].getPointerId(pointer);\n _this.pointerType = ___pointerUtils_39[\"default\"].getPointerType(pointer);\n _this.target = eventTarget;\n _this.currentTarget = null;\n\n if (type === 'tap') {\n var pointerIndex = interaction.getPointerIndex(pointer);\n _this.dt = _this.timeStamp - interaction.pointers[pointerIndex].downTime;\n var interval = _this.timeStamp - interaction.tapTime;\n _this[\"double\"] = !!(interaction.prevTap && interaction.prevTap.type !== 'doubletap' && interaction.prevTap.target === _this.target && interval < 500);\n } else if (type === 'doubletap') {\n _this.dt = pointer.timeStamp - interaction.tapTime;\n }\n\n return _this;\n }\n\n ___createClass_39(PointerEvent, [{\n key: \"_subtractOrigin\",\n value: function _subtractOrigin(_ref) {\n var originX = _ref.x,\n originY = _ref.y;\n this.pageX -= originX;\n this.pageY -= originY;\n this.clientX -= originX;\n this.clientY -= originY;\n return this;\n }\n }, {\n key: \"_addOrigin\",\n value: function _addOrigin(_ref2) {\n var originX = _ref2.x,\n originY = _ref2.y;\n this.pageX += originX;\n this.pageY += originY;\n this.clientX += originX;\n this.clientY += originY;\n return this;\n }\n /**\n * Prevent the default behaviour of the original Event\n */\n\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n this.originalEvent.preventDefault();\n }\n }]);\n\n return PointerEvent;\n}(___BaseEvent2_39[\"default\"]);\n\n_$PointerEvent_39[\"default\"] = PointerEvent;\n\nvar _$base_40 = {};\n\"use strict\";\n\nObject.defineProperty(_$base_40, \"__esModule\", {\n value: true\n});\n_$base_40[\"default\"] = void 0;\n\nvar __utils_40 = ___interopRequireWildcard_40(_$utils_56);\n\nvar _PointerEvent = ___interopRequireDefault_40(_$PointerEvent_39);\n\nfunction ___interopRequireDefault_40(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_40() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_40 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_40(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_40(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar signals = new __utils_40.Signals();\nvar simpleSignals = ['down', 'up', 'cancel'];\nvar simpleEvents = ['down', 'up', 'cancel'];\nvar __defaults_40 = {\n holdDuration: 600,\n ignoreFrom: null,\n allowFrom: null,\n origin: {\n x: 0,\n y: 0\n }\n};\nvar pointerEvents = {\n id: 'pointer-events/base',\n install: __install_40,\n signals: signals,\n PointerEvent: _PointerEvent[\"default\"],\n fire: fire,\n collectEventTargets: collectEventTargets,\n createSignalListener: createSignalListener,\n defaults: __defaults_40,\n types: ['down', 'move', 'up', 'cancel', 'tap', 'doubletap', 'hold']\n};\n\nfunction fire(arg, scope) {\n var interaction = arg.interaction,\n pointer = arg.pointer,\n event = arg.event,\n eventTarget = arg.eventTarget,\n _arg$type = arg.type,\n type = _arg$type === void 0 ? arg.pointerEvent.type : _arg$type,\n _arg$targets = arg.targets,\n targets = _arg$targets === void 0 ? collectEventTargets(arg) : _arg$targets;\n var _arg$pointerEvent = arg.pointerEvent,\n pointerEvent = _arg$pointerEvent === void 0 ? new _PointerEvent[\"default\"](type, pointer, event, eventTarget, interaction, scope.now()) : _arg$pointerEvent;\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n targets: targets,\n type: type,\n pointerEvent: pointerEvent\n };\n\n for (var i = 0; i < targets.length; i++) {\n var target = targets[i];\n\n for (var prop in target.props || {}) {\n pointerEvent[prop] = target.props[prop];\n }\n\n var origin = __utils_40.getOriginXY(target.eventable, target.node);\n\n pointerEvent._subtractOrigin(origin);\n\n pointerEvent.eventable = target.eventable;\n pointerEvent.currentTarget = target.node;\n target.eventable.fire(pointerEvent);\n\n pointerEvent._addOrigin(origin);\n\n if (pointerEvent.immediatePropagationStopped || pointerEvent.propagationStopped && i + 1 < targets.length && targets[i + 1].node !== pointerEvent.currentTarget) {\n break;\n }\n }\n\n signals.fire('fired', signalArg);\n\n if (type === 'tap') {\n // if pointerEvent should make a double tap, create and fire a doubletap\n // PointerEvent and use that as the prevTap\n var prevTap = pointerEvent[\"double\"] ? fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'doubletap'\n }, scope) : pointerEvent;\n interaction.prevTap = prevTap;\n interaction.tapTime = prevTap.timeStamp;\n }\n\n return pointerEvent;\n}\n\nfunction collectEventTargets(_ref) {\n var interaction = _ref.interaction,\n pointer = _ref.pointer,\n event = _ref.event,\n eventTarget = _ref.eventTarget,\n type = _ref.type;\n var pointerIndex = interaction.getPointerIndex(pointer);\n var pointerInfo = interaction.pointers[pointerIndex]; // do not fire a tap event if the pointer was moved before being lifted\n\n if (type === 'tap' && (interaction.pointerWasMoved || // or if the pointerup target is different to the pointerdown target\n !(pointerInfo && pointerInfo.downTarget === eventTarget))) {\n return [];\n }\n\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: type,\n path: path,\n targets: [],\n node: null\n };\n\n for (var _i = 0; _i < path.length; _i++) {\n var _ref2;\n\n _ref2 = path[_i];\n var node = _ref2;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (type === 'hold') {\n signalArg.targets = signalArg.targets.filter(function (target) {\n return target.eventable.options.holdDuration === interaction.pointers[pointerIndex].hold.duration;\n });\n }\n\n return signalArg.targets;\n}\n\nfunction __install_40(scope) {\n var interactions = scope.interactions;\n scope.pointerEvents = pointerEvents;\n scope.defaults.actions.pointerEvents = pointerEvents.defaults;\n interactions.signals.on('new', function (_ref3) {\n var interaction = _ref3.interaction;\n interaction.prevTap = null; // the most recent tap event on this interaction\n\n interaction.tapTime = 0; // time of the most recent tap event\n });\n interactions.signals.on('update-pointer', function (_ref4) {\n var down = _ref4.down,\n pointerInfo = _ref4.pointerInfo;\n\n if (!down && pointerInfo.hold) {\n return;\n }\n\n pointerInfo.hold = {\n duration: Infinity,\n timeout: null\n };\n });\n interactions.signals.on('move', function (_ref5) {\n var interaction = _ref5.interaction,\n pointer = _ref5.pointer,\n event = _ref5.event,\n eventTarget = _ref5.eventTarget,\n duplicateMove = _ref5.duplicateMove;\n var pointerIndex = interaction.getPointerIndex(pointer);\n\n if (!duplicateMove && (!interaction.pointerIsDown || interaction.pointerWasMoved)) {\n if (interaction.pointerIsDown) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n\n fire({\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'move'\n }, scope);\n }\n });\n interactions.signals.on('down', function (_ref6) {\n var interaction = _ref6.interaction,\n pointer = _ref6.pointer,\n event = _ref6.event,\n eventTarget = _ref6.eventTarget,\n pointerIndex = _ref6.pointerIndex;\n var timer = interaction.pointers[pointerIndex].hold;\n var path = __utils_40.dom.getPath(eventTarget);\n var signalArg = {\n interaction: interaction,\n pointer: pointer,\n event: event,\n eventTarget: eventTarget,\n type: 'hold',\n targets: [],\n path: path,\n node: null\n };\n\n for (var _i2 = 0; _i2 < path.length; _i2++) {\n var _ref7;\n\n _ref7 = path[_i2];\n var node = _ref7;\n signalArg.node = node;\n signals.fire('collect-targets', signalArg);\n }\n\n if (!signalArg.targets.length) {\n return;\n }\n\n var minDuration = Infinity;\n\n for (var _i3 = 0; _i3 < signalArg.targets.length; _i3++) {\n var _ref8;\n\n _ref8 = signalArg.targets[_i3];\n var target = _ref8;\n var holdDuration = target.eventable.options.holdDuration;\n\n if (holdDuration < minDuration) {\n minDuration = holdDuration;\n }\n }\n\n timer.duration = minDuration;\n timer.timeout = setTimeout(function () {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'hold'\n }, scope);\n }, minDuration);\n });\n var _arr = ['up', 'cancel'];\n\n for (var _i4 = 0; _i4 < _arr.length; _i4++) {\n var signalName = _arr[_i4];\n interactions.signals.on(signalName, function (_ref10) {\n var interaction = _ref10.interaction,\n pointerIndex = _ref10.pointerIndex;\n\n if (interaction.pointers[pointerIndex].hold) {\n clearTimeout(interaction.pointers[pointerIndex].hold.timeout);\n }\n });\n }\n\n for (var i = 0; i < simpleSignals.length; i++) {\n interactions.signals.on(simpleSignals[i], createSignalListener(simpleEvents[i], scope));\n }\n\n interactions.signals.on('up', function (_ref9) {\n var interaction = _ref9.interaction,\n pointer = _ref9.pointer,\n event = _ref9.event,\n eventTarget = _ref9.eventTarget;\n\n if (!interaction.pointerWasMoved) {\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: 'tap'\n }, scope);\n }\n });\n}\n\nfunction createSignalListener(type, scope) {\n return function (_ref11) {\n var interaction = _ref11.interaction,\n pointer = _ref11.pointer,\n event = _ref11.event,\n eventTarget = _ref11.eventTarget;\n fire({\n interaction: interaction,\n eventTarget: eventTarget,\n pointer: pointer,\n event: event,\n type: type\n }, scope);\n };\n}\n\nvar ___default_40 = pointerEvents;\n_$base_40[\"default\"] = ___default_40;\n\nvar _$holdRepeat_41 = {};\n\"use strict\";\n\nObject.defineProperty(_$holdRepeat_41, \"__esModule\", {\n value: true\n});\n_$holdRepeat_41[\"default\"] = void 0;\n\nvar ___base_41 = ___interopRequireDefault_41(_$base_40);\n\nfunction ___interopRequireDefault_41(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_41(scope) {\n var pointerEvents = scope.pointerEvents,\n interactions = scope.interactions;\n scope.usePlugin(___base_41[\"default\"]);\n pointerEvents.signals.on('new', onNew);\n pointerEvents.signals.on('fired', function (arg) {\n return onFired(arg, scope);\n });\n var _arr = ['move', 'up', 'cancel', 'endall'];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var signal = _arr[_i];\n interactions.signals.on(signal, endHoldRepeat);\n } // don't repeat by default\n\n\n pointerEvents.defaults.holdRepeatInterval = 0;\n pointerEvents.types.push('holdrepeat');\n}\n\nfunction onNew(_ref) {\n var pointerEvent = _ref.pointerEvent;\n\n if (pointerEvent.type !== 'hold') {\n return;\n }\n\n pointerEvent.count = (pointerEvent.count || 0) + 1;\n}\n\nfunction onFired(_ref2, scope) {\n var interaction = _ref2.interaction,\n pointerEvent = _ref2.pointerEvent,\n eventTarget = _ref2.eventTarget,\n targets = _ref2.targets;\n\n if (pointerEvent.type !== 'hold' || !targets.length) {\n return;\n } // get the repeat interval from the first eventable\n\n\n var interval = targets[0].eventable.options.holdRepeatInterval; // don't repeat if the interval is 0 or less\n\n if (interval <= 0) {\n return;\n } // set a timeout to fire the holdrepeat event\n\n\n interaction.holdIntervalHandle = setTimeout(function () {\n scope.pointerEvents.fire({\n interaction: interaction,\n eventTarget: eventTarget,\n type: 'hold',\n pointer: pointerEvent,\n event: pointerEvent\n }, scope);\n }, interval);\n}\n\nfunction endHoldRepeat(_ref3) {\n var interaction = _ref3.interaction;\n\n // set the interaction's holdStopTime property\n // to stop further holdRepeat events\n if (interaction.holdIntervalHandle) {\n clearInterval(interaction.holdIntervalHandle);\n interaction.holdIntervalHandle = null;\n }\n}\n\nvar ___default_41 = {\n id: 'pointer-events/holdRepeat',\n install: __install_41\n};\n_$holdRepeat_41[\"default\"] = ___default_41;\n\nvar _$interactableTargets_43 = {};\n\"use strict\";\n\nObject.defineProperty(_$interactableTargets_43, \"__esModule\", {\n value: true\n});\n_$interactableTargets_43[\"default\"] = void 0;\n\n/* removed: var _$arr_47 = require(\"@interactjs/utils/arr\"); */;\n\nvar ___extend_43 = ___interopRequireDefault_43(_$extend_53);\n\nfunction ___interopRequireDefault_43(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_43(scope) {\n var pointerEvents = scope.pointerEvents,\n actions = scope.actions,\n Interactable = scope.Interactable,\n interactables = scope.interactables;\n pointerEvents.signals.on('collect-targets', function (_ref) {\n var targets = _ref.targets,\n node = _ref.node,\n type = _ref.type,\n eventTarget = _ref.eventTarget;\n scope.interactables.forEachMatch(node, function (interactable) {\n var eventable = interactable.events;\n var options = eventable.options;\n\n if (eventable.types[type] && eventable.types[type].length && interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node: node,\n eventable: eventable,\n props: {\n interactable: interactable\n }\n });\n }\n });\n });\n interactables.signals.on('new', function (_ref2) {\n var interactable = _ref2.interactable;\n\n interactable.events.getRect = function (element) {\n return interactable.getRect(element);\n };\n });\n interactables.signals.on('set', function (_ref3) {\n var interactable = _ref3.interactable,\n options = _ref3.options;\n (0, ___extend_43[\"default\"])(interactable.events.options, pointerEvents.defaults);\n (0, ___extend_43[\"default\"])(interactable.events.options, options.pointerEvents || {});\n });\n (0, _$arr_47.merge)(actions.eventTypes, pointerEvents.types);\n Interactable.prototype.pointerEvents = pointerEventsMethod;\n var __backCompatOption = Interactable.prototype._backCompatOption;\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n var ret = __backCompatOption.call(this, optionName, newValue);\n\n if (ret === this) {\n this.events.options[optionName] = newValue;\n }\n\n return ret;\n };\n}\n\nfunction pointerEventsMethod(options) {\n (0, ___extend_43[\"default\"])(this.events.options, options);\n return this;\n}\n\nvar ___default_43 = {\n id: 'pointer-events/interactableTargets',\n install: __install_43\n};\n_$interactableTargets_43[\"default\"] = ___default_43;\n\nvar _$pointerEvents_42 = {};\n\"use strict\";\n\nObject.defineProperty(_$pointerEvents_42, \"__esModule\", {\n value: true\n});\n_$pointerEvents_42.install = __install_42;\nObject.defineProperty(_$pointerEvents_42, \"pointerEvents\", {\n enumerable: true,\n get: function get() {\n return ___base_42[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"holdRepeat\", {\n enumerable: true,\n get: function get() {\n return _holdRepeat[\"default\"];\n }\n});\nObject.defineProperty(_$pointerEvents_42, \"interactableTargets\", {\n enumerable: true,\n get: function get() {\n return _interactableTargets[\"default\"];\n }\n});\n_$pointerEvents_42.id = void 0;\n\nvar ___base_42 = ___interopRequireDefault_42(_$base_40);\n\nvar _holdRepeat = ___interopRequireDefault_42(_$holdRepeat_41);\n\nvar _interactableTargets = ___interopRequireDefault_42(_$interactableTargets_43);\n\nfunction ___interopRequireDefault_42(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction __install_42(scope) {\n scope.usePlugin(___base_42[\"default\"]);\n scope.usePlugin(_holdRepeat[\"default\"]);\n scope.usePlugin(_interactableTargets[\"default\"]);\n}\n\nvar __id_42 = 'pointer-events';\n_$pointerEvents_42.id = __id_42;\n\nvar _$reflow_44 = {};\n\"use strict\";\n\nObject.defineProperty(_$reflow_44, \"__esModule\", {\n value: true\n});\n_$reflow_44.install = __install_44;\n_$reflow_44[\"default\"] = void 0;\n\n/* removed: var _$InteractEvent_15 = require(\"@interactjs/core/InteractEvent\"); */;\n\n/* removed: var _$utils_56 = require(\"@interactjs/utils\"); */;\n\n_$InteractEvent_15.EventPhase.Reflow = 'reflow';\n\nfunction __install_44(scope) {\n var actions = scope.actions,\n interactions = scope.interactions,\n Interactable = scope.Interactable; // add action reflow event types\n\n for (var _i = 0; _i < actions.names.length; _i++) {\n var _ref;\n\n _ref = actions.names[_i];\n var actionName = _ref;\n actions.eventTypes.push(\"\".concat(actionName, \"reflow\"));\n } // remove completed reflow interactions\n\n\n interactions.signals.on('stop', function (_ref2) {\n var interaction = _ref2.interaction;\n\n if (interaction.pointerType === _$InteractEvent_15.EventPhase.Reflow) {\n if (interaction._reflowResolve) {\n interaction._reflowResolve();\n }\n\n _$utils_56.arr.remove(scope.interactions.list, interaction);\n }\n });\n /**\n * ```js\n * const interactable = interact(target)\n * const drag = { name: drag, axis: 'x' }\n * const resize = { name: resize, edges: { left: true, bottom: true }\n *\n * interactable.reflow(drag)\n * interactable.reflow(resize)\n * ```\n *\n * Start an action sequence to re-apply modifiers, check drops, etc.\n *\n * @param { Object } action The action to begin\n * @param { string } action.name The name of the action\n * @returns { Promise }\n */\n\n Interactable.prototype.reflow = function (action) {\n return reflow(this, action, scope);\n };\n}\n\nfunction reflow(interactable, action, scope) {\n var elements = _$utils_56.is.string(interactable.target) ? _$utils_56.arr.from(interactable._context.querySelectorAll(interactable.target)) : [interactable.target]; // tslint:disable-next-line variable-name\n\n var Promise = _$utils_56.win.window.Promise;\n var promises = Promise ? [] : null;\n\n var _loop = function _loop() {\n _ref3 = elements[_i2];\n var element = _ref3;\n var rect = interactable.getRect(element);\n\n if (!rect) {\n return \"break\";\n }\n\n var runningInteraction = _$utils_56.arr.find(scope.interactions.list, function (interaction) {\n return interaction.interacting() && interaction.interactable === interactable && interaction.element === element && interaction.prepared.name === action.name;\n });\n\n var reflowPromise = void 0;\n\n if (runningInteraction) {\n runningInteraction.move();\n\n if (promises) {\n reflowPromise = runningInteraction._reflowPromise || new Promise(function (resolve) {\n runningInteraction._reflowResolve = resolve;\n });\n }\n } else {\n var xywh = _$utils_56.rect.tlbrToXywh(rect);\n\n var coords = {\n page: {\n x: xywh.x,\n y: xywh.y\n },\n client: {\n x: xywh.x,\n y: xywh.y\n },\n timeStamp: scope.now()\n };\n\n var event = _$utils_56.pointer.coordsToEvent(coords);\n\n reflowPromise = startReflow(scope, interactable, element, action, event);\n }\n\n if (promises) {\n promises.push(reflowPromise);\n }\n };\n\n for (var _i2 = 0; _i2 < elements.length; _i2++) {\n var _ref3;\n\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n }\n\n return promises && Promise.all(promises).then(function () {\n return interactable;\n });\n}\n\nfunction startReflow(scope, interactable, element, action, event) {\n var interaction = scope.interactions[\"new\"]({\n pointerType: 'reflow'\n });\n var signalArg = {\n interaction: interaction,\n event: event,\n pointer: event,\n eventTarget: element,\n phase: _$InteractEvent_15.EventPhase.Reflow\n };\n interaction.interactable = interactable;\n interaction.element = element;\n interaction.prepared = (0, _$utils_56.extend)({}, action);\n interaction.prevEvent = event;\n interaction.updatePointer(event, event, element, true);\n\n interaction._doPhase(signalArg);\n\n var reflowPromise = _$utils_56.win.window.Promise ? new _$utils_56.win.window.Promise(function (resolve) {\n interaction._reflowResolve = resolve;\n }) : null;\n interaction._reflowPromise = reflowPromise;\n interaction.start(action, interactable, element);\n\n if (interaction._interacting) {\n interaction.move(signalArg);\n interaction.end(event);\n } else {\n interaction.stop();\n }\n\n interaction.removePointer(event, event);\n interaction.pointerIsDown = false;\n return reflowPromise;\n}\n\nvar ___default_44 = {\n id: 'reflow',\n install: __install_44\n};\n_$reflow_44[\"default\"] = ___default_44;\n\nvar _$interact_28 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_28, \"__esModule\", {\n value: true\n});\n_$interact_28[\"default\"] = _$interact_28.scope = _$interact_28.interact = void 0;\n\nvar ___scope_28 = _$scope_24({});\n\nvar __utils_28 = ___interopRequireWildcard_28(_$utils_56);\n\nvar ___browser_28 = ___interopRequireDefault_28(_$browser_48);\n\nvar ___events_28 = ___interopRequireDefault_28(_$events_52);\n\nfunction ___interopRequireDefault_28(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_28() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_28 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_28(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_28(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n/** @module interact */\nvar globalEvents = {};\nvar scope = new ___scope_28.Scope();\n/**\n * ```js\n * interact('#draggable').draggable(true)\n *\n * var rectables = interact('rect')\n * rectables\n * .gesturable(true)\n * .on('gesturemove', function (event) {\n * // ...\n * })\n * ```\n *\n * The methods of this variable can be used to set elements as interactables\n * and also to change various default settings.\n *\n * Calling it as a function and passing an element or a valid CSS selector\n * string returns an Interactable object which has various methods to configure\n * it.\n *\n * @global\n *\n * @param {Element | string} target The HTML or SVG Element to interact with\n * or CSS selector\n * @return {Interactable}\n */\n\n_$interact_28.scope = scope;\n\nvar interact = function interact(target, options) {\n var interactable = scope.interactables.get(target, options);\n\n if (!interactable) {\n interactable = scope.interactables[\"new\"](target, options);\n interactable.events.global = globalEvents;\n }\n\n return interactable;\n};\n/**\n * Use a plugin\n *\n * @alias module:interact.use\n *\n * @param {Object} plugin\n * @param {function} plugin.install\n * @return {interact}\n */\n\n\n_$interact_28.interact = interact;\ninteract.use = use;\n\nfunction use(plugin, options) {\n scope.usePlugin(plugin, options);\n return interact;\n}\n/**\n * Check if an element or selector has been set with the {@link interact}\n * function\n *\n * @alias module:interact.isSet\n *\n * @param {Element} element The Element being searched for\n * @return {boolean} Indicates if the element or CSS selector was previously\n * passed to interact\n */\n\n\ninteract.isSet = isSet;\n\nfunction isSet(target, options) {\n return !!scope.interactables.get(target, options && options.context);\n}\n/**\n * Add a global listener for an InteractEvent or adds a DOM event to `document`\n *\n * @alias module:interact.on\n *\n * @param {string | array | object} type The types of events to listen for\n * @param {function} listener The function event (s)\n * @param {object | boolean} [options] object or useCapture flag for\n * addEventListener\n * @return {object} interact\n */\n\n\ninteract.on = on;\n\nfunction on(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i = 0; _i < type.length; _i++) {\n var _ref;\n\n _ref = type[_i];\n var eventType = _ref;\n interact.on(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.on(prop, type[prop], listener);\n }\n\n return interact;\n } // if it is an InteractEvent type, add listener to globalEvents\n\n\n if (__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n // if this type of event was never bound\n if (!globalEvents[type]) {\n globalEvents[type] = [listener];\n } else {\n globalEvents[type].push(listener);\n }\n } // If non InteractEvent type, addEventListener to document\n else {\n ___events_28[\"default\"].add(scope.document, type, listener, {\n options: options\n });\n }\n\n return interact;\n}\n/**\n * Removes a global InteractEvent listener or DOM event from `document`\n *\n * @alias module:interact.off\n *\n * @param {string | array | object} type The types of events that were listened\n * for\n * @param {function} listener The listener function to be removed\n * @param {object | boolean} options [options] object or useCapture flag for\n * removeEventListener\n * @return {object} interact\n */\n\n\ninteract.off = off;\n\nfunction off(type, listener, options) {\n if (__utils_28.is.string(type) && type.search(' ') !== -1) {\n type = type.trim().split(/ +/);\n }\n\n if (__utils_28.is.array(type)) {\n for (var _i2 = 0; _i2 < type.length; _i2++) {\n var _ref2;\n\n _ref2 = type[_i2];\n var eventType = _ref2;\n interact.off(eventType, listener, options);\n }\n\n return interact;\n }\n\n if (__utils_28.is.object(type)) {\n for (var prop in type) {\n interact.off(prop, type[prop], listener);\n }\n\n return interact;\n }\n\n if (!__utils_28.arr.contains(scope.actions.eventTypes, type)) {\n ___events_28[\"default\"].remove(scope.document, type, listener, options);\n } else {\n var index;\n\n if (type in globalEvents && (index = globalEvents[type].indexOf(listener)) !== -1) {\n globalEvents[type].splice(index, 1);\n }\n }\n\n return interact;\n}\n/**\n * Returns an object which exposes internal data\n * @alias module:interact.debug\n *\n * @return {object} An object with properties that outline the current state\n * and expose internal functions and variables\n */\n\n\ninteract.debug = debug;\n\nfunction debug() {\n return scope;\n} // expose the functions used to calculate multi-touch properties\n\n\ninteract.getPointerAverage = __utils_28.pointer.pointerAverage;\ninteract.getTouchBBox = __utils_28.pointer.touchBBox;\ninteract.getTouchDistance = __utils_28.pointer.touchDistance;\ninteract.getTouchAngle = __utils_28.pointer.touchAngle;\ninteract.getElementRect = __utils_28.dom.getElementRect;\ninteract.getElementClientRect = __utils_28.dom.getElementClientRect;\ninteract.matchesSelector = __utils_28.dom.matchesSelector;\ninteract.closest = __utils_28.dom.closest;\n/**\n * @alias module:interact.supportsTouch\n *\n * @return {boolean} Whether or not the browser supports touch input\n */\n\ninteract.supportsTouch = supportsTouch;\n\nfunction supportsTouch() {\n return ___browser_28[\"default\"].supportsTouch;\n}\n/**\n * @alias module:interact.supportsPointerEvent\n *\n * @return {boolean} Whether or not the browser supports PointerEvents\n */\n\n\ninteract.supportsPointerEvent = supportsPointerEvent;\n\nfunction supportsPointerEvent() {\n return ___browser_28[\"default\"].supportsPointerEvent;\n}\n/**\n * Cancels all interactions (end events are not fired)\n *\n * @alias module:interact.stop\n *\n * @return {object} interact\n */\n\n\ninteract.stop = __stop_28;\n\nfunction __stop_28() {\n for (var _i3 = 0; _i3 < scope.interactions.list.length; _i3++) {\n var _ref3;\n\n _ref3 = scope.interactions.list[_i3];\n var interaction = _ref3;\n interaction.stop();\n }\n\n return interact;\n}\n/**\n * Returns or sets the distance the pointer must be moved before an action\n * sequence occurs. This also affects tolerance for tap events.\n *\n * @alias module:interact.pointerMoveTolerance\n *\n * @param {number} [newValue] The movement from the start position must be greater than this value\n * @return {interact | number}\n */\n\n\ninteract.pointerMoveTolerance = pointerMoveTolerance;\n\nfunction pointerMoveTolerance(newValue) {\n if (__utils_28.is.number(newValue)) {\n scope.interactions.pointerMoveTolerance = newValue;\n return interact;\n }\n\n return scope.interactions.pointerMoveTolerance;\n}\n\nscope.interactables.signals.on('unset', function (_ref4) {\n var interactable = _ref4.interactable;\n scope.interactables.list.splice(scope.interactables.list.indexOf(interactable), 1); // Stop related interactions when an Interactable is unset\n\n for (var _i4 = 0; _i4 < scope.interactions.list.length; _i4++) {\n var _ref5;\n\n _ref5 = scope.interactions.list[_i4];\n var interaction = _ref5;\n\n if (interaction.interactable === interactable && interaction.interacting() && !interaction._ending) {\n interaction.stop();\n }\n }\n});\n\ninteract.addDocument = function (doc, options) {\n return scope.addDocument(doc, options);\n};\n\ninteract.removeDocument = function (doc) {\n return scope.removeDocument(doc);\n};\n\nscope.interact = interact;\nvar ___default_28 = interact;\n_$interact_28[\"default\"] = ___default_28;\n\nvar _$interact_27 = {};\n\"use strict\";\n\nObject.defineProperty(_$interact_27, \"__esModule\", {\n value: true\n});\n_$interact_27.init = __init_27;\nObject.defineProperty(_$interact_27, \"autoScroll\", {\n enumerable: true,\n get: function get() {\n return _autoScroll[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interactablePreventDefault\", {\n enumerable: true,\n get: function get() {\n return _interactablePreventDefault[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"inertia\", {\n enumerable: true,\n get: function get() {\n return _inertia[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"modifiers\", {\n enumerable: true,\n get: function get() {\n return ___base_27[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"reflow\", {\n enumerable: true,\n get: function get() {\n return _reflow[\"default\"];\n }\n});\nObject.defineProperty(_$interact_27, \"interact\", {\n enumerable: true,\n get: function get() {\n return _interact[\"default\"];\n }\n});\n_$interact_27.pointerEvents = _$interact_27.actions = _$interact_27[\"default\"] = void 0;\n\nvar actions = ___interopRequireWildcard_27(_$actions_5);\n\n_$interact_27.actions = actions;\n\nvar _autoScroll = ___interopRequireDefault_27(_$autoScroll_7);\n\nvar autoStart = ___interopRequireWildcard_27(_$autoStart_12);\n\nvar _interactablePreventDefault = ___interopRequireDefault_27(_$interactablePreventDefault_21);\n\nvar _devTools = ___interopRequireDefault_27(_$devTools_25);\n\nvar _inertia = ___interopRequireDefault_27(_$inertia_26);\n\nvar modifiers = ___interopRequireWildcard_27(_$modifiers_31);\n\nvar ___base_27 = ___interopRequireDefault_27(_$base_30);\n\nvar __pointerEvents_27 = ___interopRequireWildcard_27(_$pointerEvents_42);\n\n_$interact_27.pointerEvents = __pointerEvents_27;\n\nvar _reflow = ___interopRequireDefault_27(_$reflow_44);\n\nvar _interact = ___interopRequireWildcard_27(_$interact_28);\n\nfunction ___interopRequireDefault_27(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_27() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_27 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_27(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_27(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction __init_27(window) {\n _interact.scope.init(window);\n\n _interact[\"default\"].use(_interactablePreventDefault[\"default\"]); // pointerEvents\n\n\n _interact[\"default\"].use(__pointerEvents_27); // inertia\n\n\n _interact[\"default\"].use(_inertia[\"default\"]); // autoStart, hold\n\n\n _interact[\"default\"].use(autoStart); // drag and drop, resize, gesture\n\n\n _interact[\"default\"].use(actions); // snap, resize, etc.\n\n\n _interact[\"default\"].use(___base_27[\"default\"]); // for backwrads compatibility\n\n\n for (var type in modifiers) {\n var _modifiers$type = modifiers[type],\n _defaults = _modifiers$type._defaults,\n _methods = _modifiers$type._methods;\n _defaults._methods = _methods;\n _interact.scope.defaults.perAction[type] = _defaults;\n } // autoScroll\n\n\n _interact[\"default\"].use(_autoScroll[\"default\"]); // reflow\n\n\n _interact[\"default\"].use(_reflow[\"default\"]); // eslint-disable-next-line no-undef\n\n\n if (\"production\" !== 'production') {\n _interact[\"default\"].use(_devTools[\"default\"]);\n }\n\n return _interact[\"default\"];\n} // eslint-disable-next-line no-undef\n\n\n_interact[\"default\"].version = \"1.6.3\";\nvar ___default_27 = _interact[\"default\"];\n_$interact_27[\"default\"] = ___default_27;\n\nvar _$types_45 = {};\n/// \n\"use strict\";\n\nvar _$grid_64 = {};\n\"use strict\";\n\nObject.defineProperty(_$grid_64, \"__esModule\", {\n value: true\n});\n_$grid_64[\"default\"] = void 0;\n\nfunction ___slicedToArray_64(arr, i) { return ___arrayWithHoles_64(arr) || ___iterableToArrayLimit_64(arr, i) || ___nonIterableRest_64(); }\n\nfunction ___nonIterableRest_64() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction ___iterableToArrayLimit_64(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction ___arrayWithHoles_64(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction createGrid(grid) {\n var coordFields = [['x', 'y'], ['left', 'top'], ['right', 'bottom'], ['width', 'height']].filter(function (_ref) {\n var _ref2 = ___slicedToArray_64(_ref, 2),\n xField = _ref2[0],\n yField = _ref2[1];\n\n return xField in grid || yField in grid;\n });\n return function (x, y) {\n var range = grid.range,\n _grid$limits = grid.limits,\n limits = _grid$limits === void 0 ? {\n left: -Infinity,\n right: Infinity,\n top: -Infinity,\n bottom: Infinity\n } : _grid$limits,\n _grid$offset = grid.offset,\n offset = _grid$offset === void 0 ? {\n x: 0,\n y: 0\n } : _grid$offset;\n var result = {\n range: range\n };\n\n for (var _i2 = 0; _i2 < coordFields.length; _i2++) {\n var _ref3;\n\n _ref3 = coordFields[_i2];\n\n var _ref4 = _ref3,\n _ref5 = ___slicedToArray_64(_ref4, 2),\n xField = _ref5[0],\n yField = _ref5[1];\n\n var gridx = Math.round((x - offset.x) / grid[xField]);\n var gridy = Math.round((y - offset.y) / grid[yField]);\n result[xField] = Math.max(limits.left, Math.min(limits.right, gridx * grid[xField] + offset.x));\n result[yField] = Math.max(limits.top, Math.min(limits.bottom, gridy * grid[yField] + offset.y));\n }\n\n return result;\n };\n}\n\nvar ___default_64 = createGrid;\n_$grid_64[\"default\"] = ___default_64;\n\nvar _$snappers_65 = {};\n\"use strict\";\n\nObject.defineProperty(_$snappers_65, \"__esModule\", {\n value: true\n});\nObject.defineProperty(_$snappers_65, \"grid\", {\n enumerable: true,\n get: function get() {\n return _grid[\"default\"];\n }\n});\n\nvar _grid = ___interopRequireDefault_65(_$grid_64);\n\nfunction ___interopRequireDefault_65(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar _$index_29 = { exports: {} };\n\"use strict\";\n\nObject.defineProperty(_$index_29.exports, \"__esModule\", {\n value: true\n});\n_$index_29.exports.init = __init_29;\n_$index_29.exports[\"default\"] = void 0;\n\nvar ___interact_29 = ___interopRequireWildcard_29(_$interact_27);\n\nvar __modifiers_29 = ___interopRequireWildcard_29(_$modifiers_31);\n\n_$types_45;\n\nvar ___extend_29 = ___interopRequireDefault_29(_$extend_53);\n\nvar snappers = ___interopRequireWildcard_29(_$snappers_65);\n\nfunction ___interopRequireDefault_29(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction ___getRequireWildcardCache_29() { if (typeof WeakMap !== \"function\") return null; var cache = new WeakMap(); ___getRequireWildcardCache_29 = function _getRequireWildcardCache() { return cache; }; return cache; }\n\nfunction ___interopRequireWildcard_29(obj) { if (obj && obj.__esModule) { return obj; } var cache = ___getRequireWildcardCache_29(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ___typeof_29(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { ___typeof_29 = function _typeof(obj) { return typeof obj; }; } else { ___typeof_29 = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return ___typeof_29(obj); }\n\nif ((typeof window === \"undefined\" ? \"undefined\" : ___typeof_29(window)) === 'object' && !!window) {\n __init_29(window);\n}\n\nfunction __init_29(win) {\n (0, ___interact_29.init)(win);\n return ___interact_29[\"default\"].use({\n id: 'interactjs',\n install: function install() {\n ___interact_29[\"default\"].modifiers = (0, ___extend_29[\"default\"])({}, __modifiers_29);\n ___interact_29[\"default\"].snappers = snappers;\n ___interact_29[\"default\"].createSnapGrid = ___interact_29[\"default\"].snappers.grid;\n }\n });\n}\n\nvar ___default_29 = ___interact_29[\"default\"];\n_$index_29.exports[\"default\"] = ___default_29;\n___interact_29[\"default\"][\"default\"] = ___interact_29[\"default\"] // tslint:disable-line no-string-literal\n;\n___interact_29[\"default\"].init = __init_29; // tslint:disable-line no-string-literal\n\nif ((\"object\" === \"undefined\" ? \"undefined\" : ___typeof_29(_$index_29)) === 'object' && !!_$index_29) {\n _$index_29.exports = ___interact_29[\"default\"];\n}\n\n_$index_29 = _$index_29.exports\nreturn _$index_29;\n\n});\n\n\n//# sourceMappingURL=interact.js.map\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package.json b/package.json index b0921589..20418eab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vue-grid-layout", - "version": "2.3.7", + "version": "2.3.8", "description": "A draggable and resizable grid layout, as a Vue component.", "keywords": [ "grid",