UNPKG

vue3-interactjs

Version:

interactjs component for Vue3

1 lines 100 kB
"use strict";const B=require("vue"),Et=["dragstart","dragmove","draginertiastart","dragend"],Tt=["resizestart","resizemove","resizeinertiastart","resizeend"],_t=["dropactivate","dropdeactivate","dragenter","dragleave","dropmove","drop"],St=["gesturestart","gesturemove","gestureend"],Ot=["down","move","up","cancel","tap","doubletap","hold"],Ue=new WeakMap;function Oe(O,F,X){let D=Ue.get(O);D||(D=new Map,Ue.set(O,D)),F.forEach(P=>{if(D.has(P))return;const I=(...ce)=>X(P,...ce);D.set(P,I),O.on(P,I)})}function Pe(O,F){const X=Ue.get(O);X&&(F.forEach(D=>{const P=X.get(D);P&&(O.off(D,P),X.delete(D))}),X.size===0&&Ue.delete(O))}function Wr(O,F){return{enablePointer:()=>Oe(O.value,Ot,F),disablePointer:()=>Pe(O.value,Ot),enableDrag:()=>Oe(O.value,Et,F),disableDrag:()=>Pe(O.value,Et),enableDrop:()=>Oe(O.value,_t,F),disableDrop:()=>Pe(O.value,_t),enableResize:()=>Oe(O.value,Tt,F),disableResize:()=>Pe(O.value,Tt),enableGesture:()=>Oe(O.value,St,F),disableGesture:()=>Pe(O.value,St)}}function Ur(O){return O&&O.__esModule&&Object.prototype.hasOwnProperty.call(O,"default")?O.default:O}var ke={exports:{}},Hr=ke.exports,Mn;function $r(){return Mn||(Mn=1,function(O,F){(function(X,D){O.exports=D()})(Hr,function(){function X(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),n.push.apply(n,r)}return n}function D(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?X(Object(n),!0).forEach(function(r){He(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):X(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function P(t){return P=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P(t)}function I(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function ce(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,Pt(r.key),r)}}function k(t,e,n){return e&&ce(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function He(t,e,n){return(e=Pt(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ne(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&fe(t,e)}function V(t){return V=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},V(t)}function fe(t,e){return fe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},fe(t,e)}function N(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function z(t){var e=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}();return function(){var n,r=V(t);if(e){var i=V(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return function(o,a){if(a&&(typeof a=="object"||typeof a=="function"))return a;if(a!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return N(o)}(this,n)}}function de(){return de=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(t,e,n){var r=function(o,a){for(;!Object.prototype.hasOwnProperty.call(o,a)&&(o=V(o))!==null;);return o}(t,e);if(r){var i=Object.getOwnPropertyDescriptor(r,e);return i.get?i.get.call(arguments.length<3?t:n):i.value}},de.apply(this,arguments)}function Pt(t){var e=function(n,r){if(typeof n!="object"||n===null)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var o=i.call(n,r);if(typeof o!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}(t,"string");return typeof e=="symbol"?e:e+""}var kt=function(t){return!(!t||!t.Window)&&t instanceof t.Window},Dt=void 0,re=void 0;function It(t){Dt=t;var e=t.document.createTextNode("");e.ownerDocument!==t.document&&typeof t.wrap=="function"&&t.wrap(e)===e&&(t=t.wrap(t)),re=t}function W(t){return kt(t)?t:(t.ownerDocument||t).defaultView||re.window}typeof window<"u"&&window&&It(window);var De=function(t){return!!t&&P(t)==="object"},Mt=function(t){return typeof t=="function"},d={window:function(t){return t===re||kt(t)},docFrag:function(t){return De(t)&&t.nodeType===11},object:De,func:Mt,number:function(t){return typeof t=="number"},bool:function(t){return typeof t=="boolean"},string:function(t){return typeof t=="string"},element:function(t){if(!t||P(t)!=="object")return!1;var e=W(t)||re;return/object|function/.test(typeof Element>"u"?"undefined":P(Element))?t instanceof Element||t instanceof e.Element:t.nodeType===1&&typeof t.nodeName=="string"},plainObject:function(t){return De(t)&&!!t.constructor&&/function Object\b/.test(t.constructor.toString())},array:function(t){return De(t)&&t.length!==void 0&&Mt(t.splice)}};function $e(t){var e=t.interaction;if(e.prepared.name==="drag"){var n=e.prepared.axis;n==="x"?(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):n==="y"&&(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 zt(t){var e=t.iEvent,n=t.interaction;if(n.prepared.name==="drag"){var r=n.prepared.axis;if(r==="x"||r==="y"){var i=r==="x"?"y":"x";e.page[i]=n.coords.start.page[i],e.client[i]=n.coords.start.client[i],e.delta[i]=0}}}var Ie={id:"actions/drag",install:function(t){var e=t.actions,n=t.Interactable,r=t.defaults;n.prototype.draggable=Ie.draggable,e.map.drag=Ie,e.methodDict.drag="draggable",r.actions.drag=Ie.defaults},listeners:{"interactions:before-action-move":$e,"interactions:action-resume":$e,"interactions:action-move":zt,"auto-start:check":function(t){var e=t.interaction,n=t.interactable,r=t.buttons,i=n.options.drag;if(i&&i.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||(r&n.options.drag.mouseButtons)!=0))return t.action={name:"drag",axis:i.lockAxis==="start"?i.startAxis:i.lockAxis},!1}},draggable:function(t){return d.object(t)?(this.options.drag.enabled=t.enabled!==!1,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):d.bool(t)?(this.options.drag.enabled=t,this):this.options.drag},beforeMove:$e,move:zt,defaults:{startAxis:"xy",lockAxis:"xy"},getCursor:function(){return"move"},filterEventType:function(t){return t.search("drag")===0}},At=Ie,Y={init:function(t){var e=t;Y.document=e.document,Y.DocumentFragment=e.DocumentFragment||le,Y.SVGElement=e.SVGElement||le,Y.SVGSVGElement=e.SVGSVGElement||le,Y.SVGElementInstance=e.SVGElementInstance||le,Y.Element=e.Element||le,Y.HTMLElement=e.HTMLElement||Y.Element,Y.Event=e.Event,Y.Touch=e.Touch||le,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 le(){}var A=Y,q={init:function(t){var e=A.Element,n=t.navigator||{};q.supportsTouch="ontouchstart"in t||d.func(t.DocumentTouch)&&A.document instanceof t.DocumentTouch,q.supportsPointerEvent=n.pointerEnabled!==!1&&!!A.PointerEvent,q.isIOS=/iP(hone|od|ad)/.test(n.platform),q.isIOS7=/iP(hone|od|ad)/.test(n.platform)&&/OS 7[^\d]/.test(n.appVersion),q.isIe9=/MSIE 9/.test(n.userAgent),q.isOperaMobile=n.appName==="Opera"&&q.supportsTouch&&/Presto/.test(n.userAgent),q.prefixedMatchesSelector="matches"in e.prototype?"matches":"webkitMatchesSelector"in e.prototype?"webkitMatchesSelector":"mozMatchesSelector"in e.prototype?"mozMatchesSelector":"oMatchesSelector"in e.prototype?"oMatchesSelector":"msMatchesSelector",q.pEventTypes=q.supportsPointerEvent?A.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,q.wheelEvent=A.document&&"onmousewheel"in A.document?"mousewheel":"wheel"},supportsTouch:null,supportsPointerEvent:null,isIOS7:null,isIOS:null,isIe9:null,isOperaMobile:null,prefixedMatchesSelector:null,pEventTypes:null,wheelEvent:null},L=q;function ie(t,e){if(t.contains)return t.contains(e);for(;e;){if(e===t)return!0;e=e.parentNode}return!1}function Rt(t,e){for(;d.element(t);){if(J(t,e))return t;t=U(t)}return null}function U(t){var e=t.parentNode;if(d.docFrag(e)){for(;(e=e.host)&&d.docFrag(e););return e}return e}function J(t,e){return re!==Dt&&(e=e.replace(/\/deep\//g," ")),t[L.prefixedMatchesSelector](e)}var Ke=function(t){return t.parentNode||t.host};function Ct(t,e){for(var n,r=[],i=t;(n=Ke(i))&&i!==e&&n!==i.ownerDocument;)r.unshift(i),i=n;return r}function Ne(t,e,n){for(;d.element(t);){if(J(t,e))return!0;if((t=U(t))===n)return J(t,e)}return!1}function jt(t){return t.correspondingUseElement||t}function Je(t){var e=t instanceof A.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}}function Qe(t){var e,n=Je(t);if(!L.isIOS7&&n){var r={x:(e=(e=W(t))||re).scrollX||e.document.documentElement.scrollLeft,y:e.scrollY||e.document.documentElement.scrollTop};n.left+=r.x,n.right+=r.x,n.top+=r.y,n.bottom+=r.y}return n}function Ft(t){for(var e=[];t;)e.push(t),t=U(t);return e}function Xt(t){return!!d.string(t)&&(A.document.querySelector(t),!0)}function x(t,e){for(var n in e)t[n]=e[n];return t}function Yt(t,e,n){return t==="parent"?U(n):t==="self"?e.getRect(n):Rt(n,t)}function ve(t,e,n,r){var i=t;return d.string(i)?i=Yt(i,e,n):d.func(i)&&(i=i.apply(void 0,r)),d.element(i)&&(i=Qe(i)),i}function Me(t){return t&&{x:"x"in t?t.x:t.left,y:"y"in t?t.y:t.top}}function Ze(t){return!t||"x"in t&&"y"in t||((t=x({},t)).x=t.left||0,t.y=t.top||0,t.width=t.width||(t.right||0)-t.x,t.height=t.height||(t.bottom||0)-t.y),t}function ze(t,e,n){t.left&&(e.left+=n.x),t.right&&(e.right+=n.x),t.top&&(e.top+=n.y),t.bottom&&(e.bottom+=n.y),e.width=e.right-e.left,e.height=e.bottom-e.top}function he(t,e,n){var r=n&&t.options[n];return Me(ve(r&&r.origin||t.options.origin,t,e,[t&&e]))||{x:0,y:0}}function oe(t,e){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(c){return!0},r=arguments.length>3?arguments[3]:void 0;if(r=r||{},d.string(t)&&t.search(" ")!==-1&&(t=qt(t)),d.array(t))return t.forEach(function(c){return oe(c,e,n,r)}),r;if(d.object(t)&&(e=t,t=""),d.func(e)&&n(t))r[t]=r[t]||[],r[t].push(e);else if(d.array(e))for(var i=0,o=e;i<o.length;i++){var a=o[i];oe(t,a,n,r)}else if(d.object(e))for(var s in e)oe(qt(s).map(function(c){return"".concat(t).concat(c)}),e[s],n,r);return r}function qt(t){return t.trim().split(/ +/)}var ge=function(t,e){return Math.sqrt(t*t+e*e)},zn=["webkit","moz"];function Ae(t,e){t.__set||(t.__set={});var n=function(i){if(zn.some(function(o){return i.indexOf(o)===0}))return 1;typeof t[i]!="function"&&i!=="__set"&&Object.defineProperty(t,i,{get:function(){return i in t.__set?t.__set[i]:t.__set[i]=e[i]},set:function(o){t.__set[i]=o},configurable:!0})};for(var r in e)n(r);return t}function Re(t,e){t.page=t.page||{},t.page.x=e.page.x,t.page.y=e.page.y,t.client=t.client||{},t.client.x=e.client.x,t.client.y=e.client.y,t.timeStamp=e.timeStamp}function Bt(t){t.page.x=0,t.page.y=0,t.client.x=0,t.client.y=0}function Lt(t){return t instanceof A.Event||t instanceof A.Touch}function Ce(t,e,n){return t=t||"page",(n=n||{}).x=e[t+"X"],n.y=e[t+"Y"],n}function Gt(t,e){return e=e||{x:0,y:0},L.isOperaMobile&&Lt(t)?(Ce("screen",t,e),e.x+=window.scrollX,e.y+=window.scrollY):Ce("page",t,e),e}function me(t){return d.number(t.pointerId)?t.pointerId:t.identifier}function An(t,e,n){var r=e.length>1?Vt(e):e[0];Gt(r,t.page),function(i,o){o=o||{},L.isOperaMobile&&Lt(i)?Ce("screen",i,o):Ce("client",i,o)}(r,t.client),t.timeStamp=n}function et(t){var e=[];return d.array(t)?(e[0]=t[0],e[1]=t[1]):t.type==="touchend"?t.touches.length===1?(e[0]=t.touches[0],e[1]=t.changedTouches[0]):t.touches.length===0&&(e[0]=t.changedTouches[0],e[1]=t.changedTouches[1]):(e[0]=t.touches[0],e[1]=t.touches[1]),e}function Vt(t){for(var e={pageX:0,pageY:0,clientX:0,clientY:0,screenX:0,screenY:0},n=0;n<t.length;n++){var r=t[n];for(var i in e)e[i]+=r[i]}for(var o in e)e[o]/=t.length;return e}function tt(t){if(!t.length)return null;var e=et(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}}function nt(t,e){var n=e+"X",r=e+"Y",i=et(t),o=i[0][n]-i[1][n],a=i[0][r]-i[1][r];return ge(o,a)}function rt(t,e){var n=e+"X",r=e+"Y",i=et(t),o=i[1][n]-i[0][n],a=i[1][r]-i[0][r];return 180*Math.atan2(a,o)/Math.PI}function Wt(t){return d.string(t.pointerType)?t.pointerType:d.number(t.pointerType)?[void 0,void 0,"touch","pen","mouse"][t.pointerType]:/touch/.test(t.type||"")||t instanceof A.Touch?"touch":"mouse"}function Ut(t){var e=d.func(t.composedPath)?t.composedPath():t.path;return[jt(e?e[0]:t.target),jt(t.currentTarget)]}var je=function(){function t(e){I(this,t),this.immediatePropagationStopped=!1,this.propagationStopped=!1,this._interaction=e}return k(t,[{key:"preventDefault",value:function(){}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}}]),t}();Object.defineProperty(je.prototype,"interaction",{get:function(){return this._interaction._proxy},set:function(){}});var Ht=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];t.push(r)}return t},$t=function(t){return Ht([],t)},ye=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n],n,t))return n;return-1},be=function(t,e){return t[ye(t,e)]},ue=function(t){ne(n,t);var e=z(n);function n(r,i,o){var a;I(this,n),(a=e.call(this,i._interaction)).dropzone=void 0,a.dragEvent=void 0,a.relatedTarget=void 0,a.draggable=void 0,a.propagationStopped=!1,a.immediatePropagationStopped=!1;var s=o==="dragleave"?r.prev:r.cur,c=s.element,u=s.dropzone;return a.type=o,a.target=c,a.currentTarget=c,a.dropzone=u,a.dragEvent=i,a.relatedTarget=i.target,a.draggable=i.interactable,a.timeStamp=i.timeStamp,a}return k(n,[{key:"reject",value:function(){var r=this,i=this._interaction.dropState;if(this.type==="dropactivate"||this.dropzone&&i.cur.dropzone===this.dropzone&&i.cur.element===this.target)if(i.prev.dropzone=this.dropzone,i.prev.element=this.target,i.rejected=!0,i.events.enter=null,this.stopImmediatePropagation(),this.type==="dropactivate"){var o=i.activeDrops,a=ye(o,function(c){var u=c.dropzone,l=c.element;return u===r.dropzone&&l===r.target});i.activeDrops.splice(a,1);var s=new n(i,this.dragEvent,"dropdeactivate");s.dropzone=this.dropzone,s.target=this.target,this.dropzone.fire(s)}else this.dropzone.fire(new n(i,this.dragEvent,"dragleave"))}},{key:"preventDefault",value:function(){}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}}]),n}(je);function Kt(t,e){for(var n=0,r=t.slice();n<r.length;n++){var i=r[n],o=i.dropzone,a=i.element;e.dropzone=o,e.target=a,o.fire(e),e.propagationStopped=e.immediatePropagationStopped=!1}}function it(t,e){for(var n=function(o,a){for(var s=[],c=0,u=o.interactables.list;c<u.length;c++){var l=u[c];if(l.options.drop.enabled){var p=l.options.drop.accept;if(!(d.element(p)&&p!==a||d.string(p)&&!J(a,p)||d.func(p)&&!p({dropzone:l,draggableElement:a})))for(var f=0,h=l.getAllElements();f<h.length;f++){var v=h[f];v!==a&&s.push({dropzone:l,element:v,rect:l.getRect(v)})}}}return s}(t,e),r=0;r<n.length;r++){var i=n[r];i.rect=i.dropzone.getRect(i.element)}return n}function Nt(t,e,n){for(var r=t.dropState,i=t.interactable,o=t.element,a=[],s=0,c=r.activeDrops;s<c.length;s++){var u=c[s],l=u.dropzone,p=u.element,f=u.rect,h=l.dropCheck(e,n,i,o,p,f);a.push(h?p:null)}var v=function(g){for(var y,m,b,T=[],S=0;S<g.length;S++){var w=g[S],_=g[y];if(w&&S!==y)if(_){var C=Ke(w),M=Ke(_);if(C!==w.ownerDocument)if(M!==w.ownerDocument)if(C!==M){T=T.length?T:Ct(_);var j=void 0;if(_ instanceof A.HTMLElement&&w instanceof A.SVGElement&&!(w instanceof A.SVGSVGElement)){if(w===M)continue;j=w.ownerSVGElement}else j=w;for(var G=Ct(j,_.ownerDocument),K=0;G[K]&&G[K]===T[K];)K++;var We=[G[K-1],G[K],T[K]];if(We[0])for(var Se=We[0].lastChild;Se;){if(Se===We[1]){y=S,T=G;break}if(Se===We[2])break;Se=Se.previousSibling}}else b=_,(parseInt(W(m=w).getComputedStyle(m).zIndex,10)||0)>=(parseInt(W(b).getComputedStyle(b).zIndex,10)||0)&&(y=S);else y=S}else y=S}return y}(a);return r.activeDrops[v]||null}function ot(t,e,n){var r=t.dropState,i={enter:null,leave:null,activate:null,deactivate:null,move:null,drop:null};return n.type==="dragstart"&&(i.activate=new ue(r,n,"dropactivate"),i.activate.target=null,i.activate.dropzone=null),n.type==="dragend"&&(i.deactivate=new ue(r,n,"dropdeactivate"),i.deactivate.target=null,i.deactivate.dropzone=null),r.rejected||(r.cur.element!==r.prev.element&&(r.prev.dropzone&&(i.leave=new ue(r,n,"dragleave"),n.dragLeave=i.leave.target=r.prev.element,n.prevDropzone=i.leave.dropzone=r.prev.dropzone),r.cur.dropzone&&(i.enter=new ue(r,n,"dragenter"),n.dragEnter=r.cur.element,n.dropzone=r.cur.dropzone)),n.type==="dragend"&&r.cur.dropzone&&(i.drop=new ue(r,n,"drop"),n.dropzone=r.cur.dropzone,n.relatedTarget=r.cur.element),n.type==="dragmove"&&r.cur.dropzone&&(i.move=new ue(r,n,"dropmove"),n.dropzone=r.cur.dropzone)),i}function at(t,e){var n=t.dropState,r=n.activeDrops,i=n.cur,o=n.prev;e.leave&&o.dropzone.fire(e.leave),e.enter&&i.dropzone.fire(e.enter),e.move&&i.dropzone.fire(e.move),e.drop&&i.dropzone.fire(e.drop),e.deactivate&&Kt(r,e.deactivate),n.prev.dropzone=i.dropzone,n.prev.element=i.element}function Jt(t,e){var n=t.interaction,r=t.iEvent,i=t.event;if(r.type==="dragmove"||r.type==="dragend"){var o=n.dropState;e.dynamicDrop&&(o.activeDrops=it(e,n.element));var a=r,s=Nt(n,a,i);o.rejected=o.rejected&&!!s&&s.dropzone===o.cur.dropzone&&s.element===o.cur.element,o.cur.dropzone=s&&s.dropzone,o.cur.element=s&&s.element,o.events=ot(n,0,a)}}var Qt={id:"actions/drop",install:function(t){var e=t.actions,n=t.interactStatic,r=t.Interactable,i=t.defaults;t.usePlugin(At),r.prototype.dropzone=function(o){return function(a,s){if(d.object(s)){if(a.options.drop.enabled=s.enabled!==!1,s.listeners){var c=oe(s.listeners),u=Object.keys(c).reduce(function(p,f){return p[/^(enter|leave)/.test(f)?"drag".concat(f):/^(activate|deactivate|move)/.test(f)?"drop".concat(f):f]=c[f],p},{}),l=a.options.drop.listeners;l&&a.off(l),a.on(u),a.options.drop.listeners=u}return d.func(s.ondrop)&&a.on("drop",s.ondrop),d.func(s.ondropactivate)&&a.on("dropactivate",s.ondropactivate),d.func(s.ondropdeactivate)&&a.on("dropdeactivate",s.ondropdeactivate),d.func(s.ondragenter)&&a.on("dragenter",s.ondragenter),d.func(s.ondragleave)&&a.on("dragleave",s.ondragleave),d.func(s.ondropmove)&&a.on("dropmove",s.ondropmove),/^(pointer|center)$/.test(s.overlap)?a.options.drop.overlap=s.overlap:d.number(s.overlap)&&(a.options.drop.overlap=Math.max(Math.min(1,s.overlap),0)),"accept"in s&&(a.options.drop.accept=s.accept),"checker"in s&&(a.options.drop.checker=s.checker),a}return d.bool(s)?(a.options.drop.enabled=s,a):a.options.drop}(this,o)},r.prototype.dropCheck=function(o,a,s,c,u,l){return function(p,f,h,v,g,y,m){var b=!1;if(!(m=m||p.getRect(y)))return!!p.options.drop.checker&&p.options.drop.checker(f,h,b,p,y,v,g);var T=p.options.drop.overlap;if(T==="pointer"){var S=he(v,g,"drag"),w=Gt(f);w.x+=S.x,w.y+=S.y;var _=w.x>m.left&&w.x<m.right,C=w.y>m.top&&w.y<m.bottom;b=_&&C}var M=v.getRect(g);if(M&&T==="center"){var j=M.left+M.width/2,G=M.top+M.height/2;b=j>=m.left&&j<=m.right&&G>=m.top&&G<=m.bottom}return M&&d.number(T)&&(b=Math.max(0,Math.min(m.right,M.right)-Math.max(m.left,M.left))*Math.max(0,Math.min(m.bottom,M.bottom)-Math.max(m.top,M.top))/(M.width*M.height)>=T),p.options.drop.checker&&(b=p.options.drop.checker(f,h,b,p,y,v,g)),b}(this,o,a,s,c,u,l)},n.dynamicDrop=function(o){return d.bool(o)?(t.dynamicDrop=o,n):t.dynamicDrop},x(e.phaselessTypes,{dragenter:!0,dragleave:!0,dropactivate:!0,dropdeactivate:!0,dropmove:!0,drop:!0}),e.methodDict.drop="dropzone",t.dynamicDrop=!1,i.actions.drop=Qt.defaults},listeners:{"interactions:before-action-start":function(t){var e=t.interaction;e.prepared.name==="drag"&&(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(n.prepared.name==="drag"){var i=n.dropState;i.activeDrops=[],i.events={},i.activeDrops=it(e,n.element),i.events=ot(n,0,r),i.events.activate&&(Kt(i.activeDrops,i.events.activate),e.fire("actions/drop:start",{interaction:n,dragEvent:r}))}},"interactions:action-move":Jt,"interactions:after-action-move":function(t,e){var n=t.interaction,r=t.iEvent;if(n.prepared.name==="drag"){var i=n.dropState;at(n,i.events),e.fire("actions/drop:move",{interaction:n,dragEvent:r}),i.events={}}},"interactions:action-end":function(t,e){if(t.interaction.prepared.name==="drag"){var n=t.interaction,r=t.iEvent;Jt(t,e),at(n,n.dropState.events),e.fire("actions/drop:end",{interaction:n,dragEvent:r})}},"interactions:stop":function(t){var e=t.interaction;if(e.prepared.name==="drag"){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:it,getDrop:Nt,getDropEvents:ot,fireDropEvents:at,filterEventType:function(t){return t.search("drag")===0||t.search("drop")===0},defaults:{enabled:!1,accept:null,overlap:"pointer"}},Rn=Qt;function st(t){var e=t.interaction,n=t.iEvent,r=t.phase;if(e.prepared.name==="gesture"){var i=e.pointers.map(function(u){return u.pointer}),o=r==="start",a=r==="end",s=e.interactable.options.deltaSource;if(n.touches=[i[0],i[1]],o)n.distance=nt(i,s),n.box=tt(i),n.scale=1,n.ds=0,n.angle=rt(i,s),n.da=0,e.gesture.startDistance=n.distance,e.gesture.startAngle=n.angle;else if(a||e.pointers.length<2){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=nt(i,s),n.box=tt(i),n.scale=n.distance/e.gesture.startDistance,n.angle=rt(i,s),n.ds=n.scale-e.gesture.scale,n.da=n.angle-e.gesture.angle;e.gesture.distance=n.distance,e.gesture.angle=n.angle,d.number(n.scale)&&n.scale!==1/0&&!isNaN(n.scale)&&(e.gesture.scale=n.scale)}}var ct={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(i){return d.object(i)?(this.options.gesture.enabled=i.enabled!==!1,this.setPerAction("gesture",i),this.setOnEvents("gesture",i),this):d.bool(i)?(this.options.gesture.enabled=i,this):this.options.gesture},e.map.gesture=ct,e.methodDict.gesture="gesturable",r.actions.gesture=ct.defaults},listeners:{"interactions:action-start":st,"interactions:action-move":st,"interactions:action-end":st,"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""},filterEventType:function(t){return t.search("gesture")===0}},Cn=ct;function jn(t,e,n,r,i,o,a){if(!e)return!1;if(e===!0){var s=d.number(o.width)?o.width:o.right-o.left,c=d.number(o.height)?o.height:o.bottom-o.top;if(a=Math.min(a,Math.abs((t==="left"||t==="right"?s:c)/2)),s<0&&(t==="left"?t="right":t==="right"&&(t="left")),c<0&&(t==="top"?t="bottom":t==="bottom"&&(t="top")),t==="left"){var u=s>=0?o.left:o.right;return n.x<u+a}if(t==="top"){var l=c>=0?o.top:o.bottom;return n.y<l+a}if(t==="right")return n.x>(s>=0?o.right:o.left)-a;if(t==="bottom")return n.y>(c>=0?o.bottom:o.top)-a}return!!d.element(r)&&(d.element(e)?e===r:Ne(r,e,i))}function Zt(t){var e=t.iEvent,n=t.interaction;if(n.prepared.name==="resize"&&n.resizeAxes){var r=e;n.interactable.options.resize.square?(n.resizeAxes==="y"?r.delta.x=r.delta.y:r.delta.y=r.delta.x,r.axes="xy"):(r.axes=n.resizeAxes,n.resizeAxes==="x"?r.delta.y=0:n.resizeAxes==="y"&&(r.delta.x=0))}}var H,ae,$={id:"actions/resize",before:["actions/drag"],install:function(t){var e=t.actions,n=t.browser,r=t.Interactable,i=t.defaults;$.cursors=function(o){return o.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),$.defaultMargin=n.supportsTouch||n.supportsPointerEvent?20:10,r.prototype.resizable=function(o){return function(a,s,c){return d.object(s)?(a.options.resize.enabled=s.enabled!==!1,a.setPerAction("resize",s),a.setOnEvents("resize",s),d.string(s.axis)&&/^x$|^y$|^xy$/.test(s.axis)?a.options.resize.axis=s.axis:s.axis===null&&(a.options.resize.axis=c.defaults.actions.resize.axis),d.bool(s.preserveAspectRatio)?a.options.resize.preserveAspectRatio=s.preserveAspectRatio:d.bool(s.square)&&(a.options.resize.square=s.square),a):d.bool(s)?(a.options.resize.enabled=s,a):a.options.resize}(this,o,t)},e.map.resize=$,e.methodDict.resize="resizable",i.actions.resize=$.defaults},listeners:{"interactions:new":function(t){t.interaction.resizeAxes="xy"},"interactions:action-start":function(t){(function(e){var n=e.iEvent,r=e.interaction;if(r.prepared.name==="resize"&&r.prepared.edges){var i=n,o=r.rect;r._rects={start:x({},o),corrected:x({},o),previous:x({},o),delta:{left:0,right:0,width:0,top:0,bottom:0,height:0}},i.edges=r.prepared.edges,i.rect=r._rects.corrected,i.deltaRect=r._rects.delta}})(t),Zt(t)},"interactions:action-move":function(t){(function(e){var n=e.iEvent,r=e.interaction;if(r.prepared.name==="resize"&&r.prepared.edges){var i=n,o=r.interactable.options.resize.invert,a=o==="reposition"||o==="negate",s=r.rect,c=r._rects,u=c.start,l=c.corrected,p=c.delta,f=c.previous;if(x(f,l),a){if(x(l,s),o==="reposition"){if(l.top>l.bottom){var h=l.top;l.top=l.bottom,l.bottom=h}if(l.left>l.right){var v=l.left;l.left=l.right,l.right=v}}}else l.top=Math.min(s.top,u.bottom),l.bottom=Math.max(s.bottom,u.top),l.left=Math.min(s.left,u.right),l.right=Math.max(s.right,u.left);for(var g in l.width=l.right-l.left,l.height=l.bottom-l.top,l)p[g]=l[g]-f[g];i.edges=r.prepared.edges,i.rect=l,i.deltaRect=p}})(t),Zt(t)},"interactions:action-end":function(t){var e=t.iEvent,n=t.interaction;if(n.prepared.name==="resize"&&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 a=x({},e.coords.cur.page),s=n.options.resize;if(s&&s.enabled&&(!e.pointerIsDown||!/mouse|pointer/.test(e.pointerType)||(o&s.mouseButtons)!=0)){if(d.object(s.edges)){var c={left:!1,right:!1,top:!1,bottom:!1};for(var u in c)c[u]=jn(u,s.edges[u],a,e._latestPointer.eventTarget,r,i,s.margin||$.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 l=s.axis!=="y"&&a.x>i.right-$.defaultMargin,p=s.axis!=="x"&&a.y>i.bottom-$.defaultMargin;(l||p)&&(t.action={name:"resize",axes:(l?"x":"")+(p?"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=$.cursors,o=null;if(n)o=i[r+n];else if(e){for(var a="",s=0,c=["top","bottom","left","right"];s<c.length;s++){var u=c[s];e[u]&&(a+=u)}o=i[a]}return o},filterEventType:function(t){return t.search("resize")===0},defaultMargin:null},Fn=$,Xn={id:"actions",install:function(t){t.usePlugin(Cn),t.usePlugin(Fn),t.usePlugin(At),t.usePlugin(Rn)}},en=0,Q={request:function(t){return H(t)},cancel:function(t){return ae(t)},init:function(t){if(H=t.requestAnimationFrame,ae=t.cancelAnimationFrame,!H)for(var e=["ms","moz","webkit","o"],n=0;n<e.length;n++){var r=e[n];H=t["".concat(r,"RequestAnimationFrame")],ae=t["".concat(r,"CancelAnimationFrame")]||t["".concat(r,"CancelRequestAnimationFrame")]}H=H&&H.bind(t),ae=ae&&ae.bind(t),H||(H=function(i){var o=Date.now(),a=Math.max(0,16-(o-en)),s=t.setTimeout(function(){i(o+a)},a);return en=o+a,s},ae=function(i){return clearTimeout(i)})}},E={defaults:{enabled:!1,margin:60,container:null,speed:300},now:Date.now,interaction:null,i:0,x:0,y:0,isScrolling:!1,prevTime:0,margin:0,speed:0,start:function(t){E.isScrolling=!0,Q.cancel(E.i),t.autoScroll=E,E.interaction=t,E.prevTime=E.now(),E.i=Q.request(E.scroll)},stop:function(){E.isScrolling=!1,E.interaction&&(E.interaction.autoScroll=null),Q.cancel(E.i)},scroll:function(){var t=E.interaction,e=t.interactable,n=t.element,r=t.prepared.name,i=e.options[r].autoScroll,o=tn(i.container,e,n),a=E.now(),s=(a-E.prevTime)/1e3,c=i.speed*s;if(c>=1){var u={x:E.x*c,y:E.y*c};if(u.x||u.y){var l=nn(o);d.window(o)?o.scrollBy(u.x,u.y):o&&(o.scrollLeft+=u.x,o.scrollTop+=u.y);var p=nn(o),f={x:p.x-l.x,y:p.y-l.y};(f.x||f.y)&&e.fire({type:"autoscroll",target:n,interactable:e,delta:f,interaction:t,container:o})}E.prevTime=a}E.isScrolling&&(Q.cancel(E.i),E.i=Q.request(E.scroll))},check:function(t,e){var n;return(n=t.options[e].autoScroll)==null?void 0:n.enabled},onInteractionMove:function(t){var e=t.interaction,n=t.pointer;if(e.interacting()&&E.check(e.interactable,e.prepared.name))if(e.simulation)E.x=E.y=0;else{var r,i,o,a,s=e.interactable,c=e.element,u=e.prepared.name,l=s.options[u].autoScroll,p=tn(l.container,s,c);if(d.window(p))a=n.clientX<E.margin,r=n.clientY<E.margin,i=n.clientX>p.innerWidth-E.margin,o=n.clientY>p.innerHeight-E.margin;else{var f=Je(p);a=n.clientX<f.left+E.margin,r=n.clientY<f.top+E.margin,i=n.clientX>f.right-E.margin,o=n.clientY>f.bottom-E.margin}E.x=i?1:a?-1:0,E.y=o?1:r?-1:0,E.isScrolling||(E.margin=l.margin,E.speed=l.speed,E.start(e))}}};function tn(t,e,n){return(d.string(t)?Yt(t,e,n):t)||W(n)}function nn(t){return d.window(t)&&(t=window.document.body),{x:t.scrollLeft,y:t.scrollTop}}var Yn={id:"auto-scroll",install:function(t){var e=t.defaults,n=t.actions;t.autoScroll=E,E.now=function(){return t.now()},n.phaselessTypes.autoscroll=!0,e.perAction.autoScroll=E.defaults},listeners:{"interactions:new":function(t){t.interaction.autoScroll=null},"interactions:destroy":function(t){t.interaction.autoScroll=null,E.stop(),E.interaction&&(E.interaction=null)},"interactions:stop":E.stop,"interactions:action-move":function(t){return E.onInteractionMove(t)}}},qn=Yn;function xe(t,e){var n=!1;return function(){return n||(re.console.warn(e),n=!0),t.apply(this,arguments)}}function lt(t,e){return t.name=e.name,t.axis=e.axis,t.edges=e.edges,t}function Bn(t){return d.bool(t)?(this.options.styleCursor=t,this):t===null?(delete this.options.styleCursor,this):this.options.styleCursor}function Ln(t){return d.func(t)?(this.options.actionChecker=t,this):t===null?(delete this.options.actionChecker,this):this.options.actionChecker}var Gn={id:"auto-start/interactableMethods",install:function(t){var e=t.Interactable;e.prototype.getAction=function(n,r,i,o){var a=function(s,c,u,l,p){var f=s.getRect(l),h=c.buttons||{0:1,1:4,3:8,4:16}[c.button],v={action:null,interactable:s,interaction:u,element:l,rect:f,buttons:h};return p.fire("auto-start:check",v),v.action}(this,r,i,o,t);return this.options.actionChecker?this.options.actionChecker(n,r,a,this,o,i):a},e.prototype.ignoreFrom=xe(function(n){return this._backCompatOption("ignoreFrom",n)},"Interactable.ignoreFrom() has been deprecated. Use Interactble.draggable({ignoreFrom: newValue})."),e.prototype.allowFrom=xe(function(n){return this._backCompatOption("allowFrom",n)},"Interactable.allowFrom() has been deprecated. Use Interactble.draggable({allowFrom: newValue})."),e.prototype.actionChecker=Ln,e.prototype.styleCursor=Bn}};function rn(t,e,n,r,i){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&Fe(e,n,t,i)?t:null}function Vn(t,e,n,r,i,o,a){for(var s=0,c=r.length;s<c;s++){var u=r[s],l=i[s],p=u.getAction(e,n,t,l);if(p){var f=rn(p,u,l,o,a);if(f)return{action:f,interactable:u,element:l}}}return{action:null,interactable:null,element:null}}function on(t,e,n,r,i){var o=[],a=[],s=r;function c(l){o.push(l),a.push(s)}for(;d.element(s);){o=[],a=[],i.interactables.forEachMatch(s,c);var u=Vn(t,e,n,o,a,r,i);if(u.action&&!u.interactable.options[u.action.name].manualStart)return u;s=U(s)}return{action:null,interactable:null,element:null}}function an(t,e,n){var r=e.action,i=e.interactable,o=e.element;r=r||{name:null},t.interactable=i,t.element=o,lt(t.prepared,r),t.rect=i&&r.name?i.getRect(o):null,cn(t,n),n.fire("autoStart:prepared",{interaction:t})}function Fe(t,e,n,r){var i=t.options,o=i[n.name].max,a=i[n.name].maxPerElement,s=r.autoStart.maxInteractions,c=0,u=0,l=0;if(!(o&&a&&s))return!1;for(var p=0,f=r.interactions.list;p<f.length;p++){var h=f[p],v=h.prepared.name;if(h.interacting()&&(++c>=s||h.interactable===t&&((u+=v===n.name?1:0)>=o||h.element===e&&(l++,v===n.name&&l>=a))))return!1}return s>0}function sn(t,e){return d.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function ut(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 cn(t,e){var n=t.interactable,r=t.element,i=t.prepared;if(t.pointerType==="mouse"&&n&&n.options.styleCursor){var o="";if(i.name){var a=n.options[i.name].cursorChecker;o=d.func(a)?a(i,n,r,t._interacting):e.actions.map[i.name].getCursor(i)}ut(t.element,o||"",e)}else e.autoStart.cursorElement&&ut(e.autoStart.cursorElement,"",e)}var Wn={id:"auto-start/base",before:["actions"],install:function(t){var e=t.interactStatic,n=t.defaults;t.usePlugin(Gn),n.base.actionChecker=null,n.base.styleCursor=!0,x(n.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),e.maxInteractions=function(r){return sn(r,t)},t.autoStart={maxInteractions:1/0,withinInteractionLimit:Fe,cursorElement:null}},listeners:{"interactions:down":function(t,e){var n=t.interaction,r=t.pointer,i=t.event,o=t.eventTarget;n.interacting()||an(n,on(n,r,i,o,e),e)},"interactions:move":function(t,e){(function(n,r){var i=n.interaction,o=n.pointer,a=n.event,s=n.eventTarget;i.pointerType!=="mouse"||i.pointerIsDown||i.interacting()||an(i,on(i,o,a,s,r),r)})(t,e),function(n,r){var i=n.interaction;if(i.pointerIsDown&&!i.interacting()&&i.pointerWasMoved&&i.prepared.name){r.fire("autoStart:before-start",n);var o=i.interactable,a=i.prepared.name;a&&o&&(o.options[a].manualStart||!Fe(o,i.element,i.prepared,r)?i.stop():(i.start(i.prepared,o,i.element),cn(i,r)))}}(t,e)},"interactions:stop":function(t,e){var n=t.interaction,r=n.interactable;r&&r.options.styleCursor&&ut(n.element,"",e)}},maxInteractions:sn,withinInteractionLimit:Fe,validateAction:rn},pt=Wn,Un={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(n.prepared.name==="drag"){var a=Math.abs(i),s=Math.abs(o),c=n.interactable.options.drag,u=c.startAxis,l=a>s?"x":a<s?"y":"xy";if(n.prepared.axis=c.lockAxis==="start"?l[0]:c.lockAxis,l!=="xy"&&u!=="xy"&&u!==l){n.prepared.name=null;for(var p=r,f=function(v){if(v!==n.interactable){var g=n.interactable.options.drag;if(!g.manualStart&&v.testIgnoreAllow(g,p,r)){var y=v.getAction(n.downPointer,n.downEvent,n,p);if(y&&y.name==="drag"&&function(m,b){if(!b)return!1;var T=b.options.drag.startAxis;return m==="xy"||T==="xy"||T===m}(l,v)&&pt.validateAction(y,v,p,r,e))return v}}};d.element(p);){var h=e.interactables.forEachMatch(p,f);if(h){n.prepared.name="drag",n.interactable=h,n.element=p;break}p=U(p)}}}}}};function ft(t){var e=t.prepared&&t.prepared.name;if(!e)return null;var n=t.interactable.options;return n[e].hold||n[e].delay}var Hn={id:"auto-start/hold",install:function(t){var e=t.defaults;t.usePlugin(pt),e.perAction.hold=0,e.perAction.delay=0},listeners:{"interactions:new":function(t){t.interaction.autoStartHoldTimer=null},"autoStart:prepared":function(t){var e=t.interaction,n=ft(e);n>0&&(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.autoStartHoldTimer&&e.pointerWasMoved&&!n&&(clearTimeout(e.autoStartHoldTimer),e.autoStartHoldTimer=null)},"autoStart:before-start":function(t){var e=t.interaction;ft(e)>0&&(e.prepared.name=null)}},getHoldDuration:ft},$n=Hn,Kn={id:"auto-start",install:function(t){t.usePlugin(pt),t.usePlugin($n),t.usePlugin(Un)}},Nn=function(t){return/^(always|never|auto)$/.test(t)?(this.options.preventDefault=t,this):d.bool(t)?(this.options.preventDefault=t?"always":"never",this):this.options.preventDefault};function Jn(t){var e=t.interaction,n=t.event;e.interactable&&e.interactable.checkAndPreventDefault(n)}var ln={id:"core/interactablePreventDefault",install:function(t){var e=t.Interactable;e.prototype.preventDefault=Nn,e.prototype.checkAndPreventDefault=function(n){return function(r,i,o){var a=r.options.preventDefault;if(a!=="never")if(a!=="always"){if(i.events.supportsPassive&&/^touch(start|move)$/.test(o.type)){var s=W(o.target).document,c=i.getDocOptions(s);if(!c||!c.events||c.events.passive!==!1)return}/^(mouse|pointer|touch)*(down|start)/i.test(o.type)||d.element(o.target)&&J(o.target,"input,select,textarea,[contenteditable=true],[contenteditable=true] *")||o.preventDefault()}else o.preventDefault()}(this,t,n)},t.interactions.docEvents.push({type:"dragstart",listener:function(n){for(var r=0,i=t.interactions.list;r<i.length;r++){var o=i[r];if(o.element&&(o.element===n.target||ie(o.element,n.target)))return void o.interactable.checkAndPreventDefault(n)}}})},listeners:["down","move","up","cancel"].reduce(function(t,e){return t["interactions:".concat(e)]=Jn,t},{})};function Xe(t,e){if(e.phaselessTypes[t])return!0;for(var n in e.map)if(t.indexOf(n)===0&&t.substr(n.length)in e.phases)return!0;return!1}function pe(t){var e={};for(var n in t){var r=t[n];d.plainObject(r)?e[n]=pe(r):d.array(r)?e[n]=$t(r):e[n]=r}return e}var dt=function(){function t(e){I(this,t),this.states=[],this.startOffset={left:0,right:0,top:0,bottom:0},this.startDelta=void 0,this.result=void 0,this.endResult=void 0,this.startEdges=void 0,this.edges=void 0,this.interaction=void 0,this.interaction=e,this.result=Ye(),this.edges={left:!1,right:!1,top:!1,bottom:!1}}return k(t,[{key:"start",value:function(e,n){var r,i,o=e.phase,a=this.interaction,s=function(u){var l=u.interactable.options[u.prepared.name],p=l.modifiers;return p&&p.length?p:["snap","snapSize","snapEdges","restrict","restrictEdges","restrictSize"].map(function(f){var h=l[f];return h&&h.enabled&&{options:h,methods:h._methods}}).filter(function(f){return!!f})}(a);this.prepareStates(s),this.startEdges=x({},a.edges),this.edges=x({},this.startEdges),this.startOffset=(r=a.rect,i=n,r?{left:i.x-r.left,top:i.y-r.top,right:r.right-i.x,bottom:r.bottom-i.y}:{left:0,top:0,right:0,bottom:0}),this.startDelta={x:0,y:0};var c=this.fillArg({phase:o,pageCoords:n,preEnd:!1});return this.result=Ye(),this.startAll(c),this.result=this.setAll(c)}},{key:"fillArg",value:function(e){var n=this.interaction;return e.interaction=n,e.interactable=n.interactable,e.element=n.element,e.rect||(e.rect=n.rect),e.edges||(e.edges=this.startEdges),e.startOffset=this.startOffset,e}},{key:"startAll",value:function(e){for(var n=0,r=this.states;n<r.length;n++){var i=r[n];i.methods.start&&(e.state=i,i.methods.start(e))}}},{key:"setAll",value:function(e){var n=e.phase,r=e.preEnd,i=e.skipModifiers,o=e.rect,a=e.edges;e.coords=x({},e.pageCoords),e.rect=x({},o),e.edges=x({},a);for(var s=i?this.states.slice(i):this.states,c=Ye(e.coords,e.rect),u=0;u<s.length;u++){var l,p=s[u],f=p.options,h=x({},e.coords),v=null;(l=p.methods)!=null&&l.set&&this.shouldDo(f,r,n)&&(e.state=p,v=p.methods.set(e),ze(e.edges,e.rect,{x:e.coords.x-h.x,y:e.coords.y-h.y})),c.eventProps.push(v)}x(this.edges,e.edges),c.delta.x=e.coords.x-e.pageCoords.x,c.delta.y=e.coords.y-e.pageCoords.y,c.rectDelta.left=e.rect.left-o.left,c.rectDelta.right=e.rect.right-o.right,c.rectDelta.top=e.rect.top-o.top,c.rectDelta.bottom=e.rect.bottom-o.bottom;var g=this.result.coords,y=this.result.rect;if(g&&y){var m=c.rect.left!==y.left||c.rect.right!==y.right||c.rect.top!==y.top||c.rect.bottom!==y.bottom;c.changed=m||g.x!==c.coords.x||g.y!==c.coords.y}return c}},{key:"applyToInteraction",value:function(e){var n=this.interaction,r=e.phase,i=n.coords.cur,o=n.coords.start,a=this.result,s=this.startDelta,c=a.delta;r==="start"&&x(this.startDelta,a.delta);for(var u=0,l=[[o,s],[i,c]];u<l.length;u++){var p=l[u],f=p[0],h=p[1];f.page.x+=h.x,f.page.y+=h.y,f.client.x+=h.x,f.client.y+=h.y}var v=this.result.rectDelta,g=e.rect||n.rect;g.left+=v.left,g.right+=v.right,g.top+=v.top,g.bottom+=v.bottom,g.width=g.right-g.left,g.height=g.bottom-g.top}},{key:"setAndApply",value:function(e){var n=this.interaction,r=e.phase,i=e.preEnd,o=e.skipModifiers,a=this.setAll(this.fillArg({preEnd:i,phase:r,pageCoords:e.modifiedCoords||n.coords.cur.page}));if(this.result=a,!a.changed&&(!o||o<this.states.length)&&n.interacting())return!1;if(e.modifiedCoords){var s=n.coords.cur.page,c={x:e.modifiedCoords.x-s.x,y:e.modifiedCoords.y-s.y};a.coords.x+=c.x,a.coords.y+=c.y,a.delta.x+=c.x,a.delta.y+=c.y}this.applyToInteraction(e)}},{key:"beforeEnd",value:function(e){var n=e.interaction,r=e.event,i=this.states;if(i&&i.length){for(var o=!1,a=0;a<i.length;a++){var s=i[a];e.state=s;var c=s.options,u=s.methods,l=u.beforeEnd&&u.beforeEnd(e);if(l)return this.endResult=l,!1;o=o||!o&&this.shouldDo(c,!0,e.phase,!0)}o&&n.move({event:r,preEnd:!0})}}},{key:"stop",value:function(e){var n=e.interaction;if(this.states&&this.states.length){var r=x({states:this.states,interactable:n.interactable,element:n.element,rect:null},e);this.fillArg(r);for(var i=0,o=this.states;i<o.length;i++){var a=o[i];r.state=a,a.methods.stop&&a.methods.stop(r)}this.states=null,this.endResult=null}}},{key:"prepareStates",value:function(e){this.states=[];for(var n=0;n<e.length;n++){var r=e[n],i=r.options,o=r.methods,a=r.name;this.states.push({options:i,methods:o,index:n,name:a})}return this.states}},{key:"restoreInteractionCoords",value:function(e){var n=e.interaction,r=n.coords,i=n.rect,o=n.modification;if(o.result){for(var a=o.startDelta,s=o.result,c=s.delta,u=s.rectDelta,l=0,p=[[r.start,a],[r.cur,c]];l<p.length;l++){var f=p[l],h=f[0],v=f[1];h.page.x-=v.x,h.page.y-=v.y,h.client.x-=v.x,h.client.y-=v.y}i.left-=u.left,i.right-=u.right,i.top-=u.top,i.bottom-=u.bottom}}},{key:"shouldDo",value:function(e,n,r,i){return!(!e||e.enabled===!1||i&&!e.endOnly||e.endOnly&&!n||r==="start"&&!e.setStart)}},{key:"copyFrom",value:function(e){this.startOffset=e.startOffset,this.startDelta=e.startDelta,this.startEdges=e.startEdges,this.edges=e.edges,this.states=e.states.map(function(n){return pe(n)}),this.result=Ye(x({},e.result.coords),x({},e.result.rect))}},{key:"destroy",value:function(){for(var e in this)this[e]=null}}]),t}();function Ye(t,e){return{rect:e,coords:t,delta:{x:0,y:0},rectDelta:{left:0,right:0,top:0,bottom:0},eventProps:[],changed:!0}}function Z(t,e){var n=t.defaults,r={start:t.start,set:t.set,beforeEnd:t.beforeEnd,stop:t.stop},i=function(o){var a=o||{};for(var s in a.enabled=a.enabled!==!1,n)s in a||(a[s]=n[s]);var c={options:a,methods:r,name:e,enable:function(){return a.enabled=!0,c},disable:function(){return a.enabled=!1,c}};return c};return e&&typeof e=="string"&&(i._defaults=n,i._methods=r),i}function we(t){var e=t.iEvent,n=t.interaction.modification.result;n&&(e.modifiers=n.eventProps)}var Qn={id:"modifiers/base",before:["actions"],install:function(t){t.defaults.perAction.modifiers=[]},listeners:{"interactions:new":function(t){var e=t.interaction;e.modification=new dt(e)},"interactions:before-action-start":function(t){var e=t.interaction,n=t.interaction.modification;n.start(t,e.coords.start.page),e.edges=n.edges,n.applyToInteraction(t)},"interactions:before-action-move":function(t){var e=t.interaction,n=e.modification,r=n.setAndApply(t);return e.edges=n.edges,r},"interactions:before-action-end":function(t){var e=t.interaction,n=e.modification,r=n.beforeEnd(t);return e.edges=n.startEdges,r},"interactions:action-start":we,"interactions:action-move":we,"interactions:action-end":we,"interactions:after-action-start":function(t){return t.interaction.modification.restoreInteractionCoords(t)},"interactions:after-action-move":function(t){return t.interaction.modification.restoreInteractionCoords(t)},"interactions:stop":function(t){return t.interaction.modification.stop(t)}}},un=Qn,pn={base:{preventDefault:"auto",deltaSource:"page"},perAction:{enabled:!1,origin:{x:0,y:0}},actions:{}},vt=function(t){ne(n,t);var e=z(n);function n(r,i,o,a,s,c,u){var l;I(this,n),(l=e.call(this,r)).relatedTarget=null,l.screenX=void 0,l.screenY=void 0,l.button=void 0,l.buttons=void 0,l.ctrlKey=void 0,l.shiftKey=void 0,l.altKey=void 0,l.metaKey=void 0,l.page=void 0,l.client=void 0,l.delta=void 0,l.rect=void 0,l.x0=void 0,l.y0=void 0,l.t0=void 0,l.dt=void 0,l.duration=void 0,l.clientX0=void 0,l.clientY0=void 0,l.velocity=void 0,l.speed=void 0,l.swipe=void 0,l.axes=void 0,l.preEnd=void 0,s=s||r.element;var p=r.interactable,f=(p&&p.options||pn).deltaSource,h=he(p,s,o),v=a==="start",g=a==="end",y=v?N(l):r.prevEvent,m=v?r.coords.start:g?{page:y.page,client:y.client,timeStamp:r.coords.cur.timeStamp}:r.coords.cur;return l.page=x({},m.page),l.client=x({},m.client),l.rect=x({},r.rect),l.timeStamp=m.timeStamp,g||(l.page.x-=h.x,l.page.y-=h.y,l.client.x-=h.x,l.client.y-=h.y),l.ctrlKey=i.ctrlKey,l.altKey=i.altKey,l.shiftKey=i.shiftKey,l.metaKey=i.metaKey,l.button=i.button,l.buttons=i.buttons,l.target=s,l.currentTarget=s,l.preEnd=c,l.type=u||o+(a||""),l.interactable=p,l.t0=v?r.pointers[r.pointers.length-1].downTime:y.t0,l.x0=r.coords.start.page.x-h.x,l.y0=r.coords.start.page.y-h.y,l.clientX0=r.coords.start.client.x-h.x,l.clientY0=r.coords.start.client.y-h.y,l.delta=v||g?{x:0,y:0}:{x:l[f].x-y[f].x,y:l[f].y-y[f].y},l.dt=r.coords.delta.timeStamp,l.duration=l.timeStamp-l.t0,l.velocity=x({},r.coords.velocity[f]),l.speed=ge(l.velocity.x,l.velocity.y),l.swipe=g||a==="inertiastart"?l.getSwipe():null,l}return k(n,[{key:"getSwipe",value:function(){var r=this._interaction;if(r.prevEvent.speed<600||this.timeStamp-r.prevEvent.timeStamp>150)return null;var i=180*Math.atan2(r.prevEvent.velocityY,r.prevEvent.velocityX)/Math.PI;i<0&&(i+=360);var o=112.5<=i&&i<247.5,a=202.5<=i&&i<337.5;return{up:a,down:!a&&22.5<=i&&i<157.5,left:o,right:!o&&(292.5<=i||i<67.5),angle:i,speed:r.prevEvent.speed,velocity:{x:r.prevEvent.velocityX,y:r.prevEvent.velocityY}}}},{key:"preventDefault",value:function(){}},{key:"stopImmediatePropagation",value:function(){this.immediatePropagationStopped=this.propagationStopped=!0}},{key:"stopPropagation",value:function(){this.propagationStopped=!0}}]),n}(je);Object.defineProperties(vt.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 Zn=k(function t(e,n,r,i,o){I(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}),er=function(t){return t.interactable="",t.element="",t.prepared="",t.pointerIsDown="",t.pointerWasMoved="",t._proxy="",t}({}),fn=function(t){return t.start="",t.move="",t.end="",t.stop="",t.interacting="",t}({}),tr=0,nr=function(){function t(e){var n=this,r=e.pointerType,i=e.scopeFire;I(this,t),this.interactable=null,this.element=null,this.rect=null,this._rects=void 0,this.edges=null,this._scopeFire=void 0,this.prepared={name:null,axis:null,edges:null},this.pointerType=void 0,this.pointers=[],this.downEvent=null,this.downPointer={},this._latestPointer={pointer:null,event:null,eventTarget:null},this.prevEvent=null,this.pointerIsDown=!1,this.pointerWasMoved=!1,this._interacting=!1,this._ending=!1,this._stopped=!0,this._proxy=void 0,this.simulation=null,this.doMove=xe(function(l){this.move(l)},"The interaction.doMove() method has been renamed to interaction.move()"),this.coords={start:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},prev:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},cur:{page:{x:0,y:0},client:{x:0,y:0},timeStamp:0},delta:{page