Socket
Socket
Sign inDemoInstall

@interactjs/core

Package Overview
Dependencies
Maintainers
2
Versions
137
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interactjs/core - npm Package Compare versions

Comparing version 1.9.1 to 1.9.2

4

Interactable.js

@@ -10,4 +10,4 @@ import * as arr from "../utils/arr.js";

import { getWindow } from "../utils/window.js";
import Eventable from "Eventable.js";
import { isNonNativeEvent } from "scope.js";
import Eventable from "./Eventable.js";
import { isNonNativeEvent } from "./scope.js";

@@ -14,0 +14,0 @@ /** */

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

import*as t from"../utils/arr.min.js";import e from"../utils/browser.min.js";import s from"../utils/clone.min.js";import{getElementRect as i,matchesUpTo as n,nodeContains as o,trySelector as r}from"../utils/domUtils.min.js";import c from"../utils/events.min.js";import h from"../utils/extend.min.js";import*as a from"../utils/is.min.js";import l from"../utils/normalizeListeners.min.js";import{getWindow as m}from"../utils/window.min.js";import u from"Eventable.min.js";import{isNonNativeEvent as f}from"scope.min.js";export class Interactable{get _defaults(){return{base:{},perAction:{},actions:{}}}constructor(t,e,s){this.options=void 0,this._actions=void 0,this.target=void 0,this.events=new u,this._context=void 0,this._win=void 0,this._doc=void 0,this._actions=e.actions,this.target=t,this._context=e.context||s,this._win=m(r(t)?this._context:t),this._doc=this._win.document,this.set(e)}setOnEvents(t,e){return a.func(e.onstart)&&this.on(`${t}start`,e.onstart),a.func(e.onmove)&&this.on(`${t}move`,e.onmove),a.func(e.onend)&&this.on(`${t}end`,e.onend),a.func(e.oninertiastart)&&this.on(`${t}inertiastart`,e.oninertiastart),this}updatePerActionListeners(t,e,s){(a.array(e)||a.object(e))&&this.off(t,e),(a.array(s)||a.object(s))&&this.on(t,s)}setPerAction(e,i){const n=this._defaults;for(const o in i){const r=o,c=this.options[e],l=i[r];"listeners"===r&&this.updatePerActionListeners(e,c.listeners,l),a.array(l)?c[r]=t.from(l):a.plainObject(l)?(c[r]=h(c[r]||{},s(l)),a.object(n.perAction[r])&&"enabled"in n.perAction[r]&&(c[r].enabled=!1!==l.enabled)):a.bool(l)&&a.object(n.perAction[r])?c[r].enabled=l:c[r]=l}}getRect(t){return t=t||(a.element(this.target)?this.target:null),a.string(this.target)&&(t=t||this._context.querySelector(this.target)),i(t)}rectChecker(t){return a.func(t)?(this.getRect=t,this):null===t?(delete this.getRect,this):this.getRect}_backCompatOption(t,e){if(r(e)||a.object(e)){this.options[t]=e;for(const s in this._actions.map)this.options[s][t]=e;return this}return this.options[t]}origin(t){return this._backCompatOption("origin",t)}deltaSource(t){return"page"===t||"client"===t?(this.options.deltaSource=t,this):this.options.deltaSource}context(){return this._context}inContext(t){return this._context===t.ownerDocument||o(this._context,t)}testIgnoreAllow(t,e,s){return!this.testIgnore(t.ignoreFrom,e,s)&&this.testAllow(t.allowFrom,e,s)}testAllow(t,e,s){return!t||!!a.element(s)&&(a.string(t)?n(s,t,e):!!a.element(t)&&o(t,s))}testIgnore(t,e,s){return!(!t||!a.element(s))&&(a.string(t)?n(s,t,e):!!a.element(t)&&o(t,s))}fire(t){return this.events.fire(t),this}_onOff(t,s,i,n){a.object(s)&&!a.array(s)&&(n=i,i=null);const o="on"===t?"add":"remove",r=l(s,i);for(let s in r){"wheel"===s&&(s=e.wheelEvent);for(const e of r[s])f(s,this._actions)?this.events[t](s,e):a.string(this.target)?c[`${o}Delegate`](this.target,this._context,s,e,n):c[o](this.target,s,e,n)}return this}on(t,e,s){return this._onOff("on",t,e,s)}off(t,e,s){return this._onOff("off",t,e,s)}set(t){const e=this._defaults;a.object(t)||(t={}),this.options=s(e.base);for(const s in this._actions.methodDict){const i=s,n=this._actions.methodDict[i];this.options[i]={},this.setPerAction(i,h(h({},e.perAction),e.actions[i])),this[n](t[i])}for(const e in t)a.func(this[e])&&this[e](t[e]);return this}unset(){if(c.remove(this.target,"all"),a.string(this.target))for(const t in c.delegatedEvents){const e=c.delegatedEvents[t];e.selectors[0]===this.target&&e.contexts[0]===this._context&&(e.selectors.splice(0,1),e.contexts.splice(0,1),e.listeners.splice(0,1)),c.remove(this._context,t,c.delegateListener),c.remove(this._context,t,c.delegateUseCapture,!0)}else c.remove(this.target,"all")}}export default Interactable;
import*as t from"../utils/arr.min.js";import e from"../utils/browser.min.js";import s from"../utils/clone.min.js";import{getElementRect as i,matchesUpTo as n,nodeContains as o,trySelector as r}from"../utils/domUtils.min.js";import c from"../utils/events.min.js";import h from"../utils/extend.min.js";import*as a from"../utils/is.min.js";import l from"../utils/normalizeListeners.min.js";import{getWindow as m}from"../utils/window.min.js";import u from"./Eventable.min.js";import{isNonNativeEvent as f}from"./scope.min.js";export class Interactable{get _defaults(){return{base:{},perAction:{},actions:{}}}constructor(t,e,s){this.options=void 0,this._actions=void 0,this.target=void 0,this.events=new u,this._context=void 0,this._win=void 0,this._doc=void 0,this._actions=e.actions,this.target=t,this._context=e.context||s,this._win=m(r(t)?this._context:t),this._doc=this._win.document,this.set(e)}setOnEvents(t,e){return a.func(e.onstart)&&this.on(`${t}start`,e.onstart),a.func(e.onmove)&&this.on(`${t}move`,e.onmove),a.func(e.onend)&&this.on(`${t}end`,e.onend),a.func(e.oninertiastart)&&this.on(`${t}inertiastart`,e.oninertiastart),this}updatePerActionListeners(t,e,s){(a.array(e)||a.object(e))&&this.off(t,e),(a.array(s)||a.object(s))&&this.on(t,s)}setPerAction(e,i){const n=this._defaults;for(const o in i){const r=o,c=this.options[e],l=i[r];"listeners"===r&&this.updatePerActionListeners(e,c.listeners,l),a.array(l)?c[r]=t.from(l):a.plainObject(l)?(c[r]=h(c[r]||{},s(l)),a.object(n.perAction[r])&&"enabled"in n.perAction[r]&&(c[r].enabled=!1!==l.enabled)):a.bool(l)&&a.object(n.perAction[r])?c[r].enabled=l:c[r]=l}}getRect(t){return t=t||(a.element(this.target)?this.target:null),a.string(this.target)&&(t=t||this._context.querySelector(this.target)),i(t)}rectChecker(t){return a.func(t)?(this.getRect=t,this):null===t?(delete this.getRect,this):this.getRect}_backCompatOption(t,e){if(r(e)||a.object(e)){this.options[t]=e;for(const s in this._actions.map)this.options[s][t]=e;return this}return this.options[t]}origin(t){return this._backCompatOption("origin",t)}deltaSource(t){return"page"===t||"client"===t?(this.options.deltaSource=t,this):this.options.deltaSource}context(){return this._context}inContext(t){return this._context===t.ownerDocument||o(this._context,t)}testIgnoreAllow(t,e,s){return!this.testIgnore(t.ignoreFrom,e,s)&&this.testAllow(t.allowFrom,e,s)}testAllow(t,e,s){return!t||!!a.element(s)&&(a.string(t)?n(s,t,e):!!a.element(t)&&o(t,s))}testIgnore(t,e,s){return!(!t||!a.element(s))&&(a.string(t)?n(s,t,e):!!a.element(t)&&o(t,s))}fire(t){return this.events.fire(t),this}_onOff(t,s,i,n){a.object(s)&&!a.array(s)&&(n=i,i=null);const o="on"===t?"add":"remove",r=l(s,i);for(let s in r){"wheel"===s&&(s=e.wheelEvent);for(const e of r[s])f(s,this._actions)?this.events[t](s,e):a.string(this.target)?c[`${o}Delegate`](this.target,this._context,s,e,n):c[o](this.target,s,e,n)}return this}on(t,e,s){return this._onOff("on",t,e,s)}off(t,e,s){return this._onOff("off",t,e,s)}set(t){const e=this._defaults;a.object(t)||(t={}),this.options=s(e.base);for(const s in this._actions.methodDict){const i=s,n=this._actions.methodDict[i];this.options[i]={},this.setPerAction(i,h(h({},e.perAction),e.actions[i])),this[n](t[i])}for(const e in t)a.func(this[e])&&this[e](t[e]);return this}unset(){if(c.remove(this.target,"all"),a.string(this.target))for(const t in c.delegatedEvents){const e=c.delegatedEvents[t];e.selectors[0]===this.target&&e.contexts[0]===this._context&&(e.selectors.splice(0,1),e.contexts.splice(0,1),e.listeners.splice(0,1)),c.remove(this._context,t,c.delegateListener),c.remove(this._context,t,c.delegateUseCapture,!0)}else c.remove(this.target,"all")}}export default Interactable;
//# sourceMappingURL=Interactable.min.js.map
import extend from "../utils/extend.js";
import getOriginXY from "../utils/getOriginXY.js";
import hypot from "../utils/hypot.js";
import BaseEvent from "BaseEvent.js";
import defaults from "defaultOptions.js";
import BaseEvent from "./BaseEvent.js";
import defaults from "./defaultOptions.js";
export class InteractEvent extends BaseEvent {

@@ -7,0 +7,0 @@ // drag

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

import t from"../utils/extend.min.js";import e from"../utils/getOriginXY.min.js";import i from"../utils/hypot.min.js";import s from"BaseEvent.min.js";import o from"defaultOptions.min.js";export class InteractEvent extends s{constructor(s,r,h,n,a,d,p){super(s),this.target=void 0,this.currentTarget=void 0,this.relatedTarget=null,this.screenX=void 0,this.screenY=void 0,this.button=void 0,this.buttons=void 0,this.ctrlKey=void 0,this.shiftKey=void 0,this.altKey=void 0,this.metaKey=void 0,this.page=void 0,this.client=void 0,this.delta=void 0,this.rect=void 0,this.x0=void 0,this.y0=void 0,this.t0=void 0,this.dt=void 0,this.duration=void 0,this.clientX0=void 0,this.clientY0=void 0,this.velocity=void 0,this.speed=void 0,this.swipe=void 0,this.timeStamp=void 0,this.dragEnter=void 0,this.dragLeave=void 0,this.axes=void 0,this.preEnd=void 0,a=a||s.element;const l=s.interactable,c=(l&&l.options||o).deltaSource,v=e(l,a,h),y="start"===n,g="end"===n,m=y?this:s.prevEvent,u=y?s.coords.start:g?{page:m.page,client:m.client,timeStamp:s.coords.cur.timeStamp}:s.coords.cur;this.page=t({},u.page),this.client=t({},u.client),this.rect=t({},s.rect),this.timeStamp=u.timeStamp,g||(this.page.x-=v.x,this.page.y-=v.y,this.client.x-=v.x,this.client.y-=v.y),this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.button=r.button,this.buttons=r.buttons,this.target=a,this.currentTarget=a,this.preEnd=d,this.type=p||h+(n||""),this.interactable=l,this.t0=y?s.pointers[s.pointers.length-1].downTime:m.t0,this.x0=s.coords.start.page.x-v.x,this.y0=s.coords.start.page.y-v.y,this.clientX0=s.coords.start.client.x-v.x,this.clientY0=s.coords.start.client.y-v.y,this.delta=y||g?{x:0,y:0}:{x:this[c].x-m[c].x,y:this[c].y-m[c].y},this.dt=s.coords.delta.timeStamp,this.duration=this.timeStamp-this.t0,this.velocity=t({},s.coords.velocity[c]),this.speed=i(this.velocity.x,this.velocity.y),this.swipe=g||"inertiastart"===n?this.getSwipe():null}get pageX(){return this.page.x}set pageX(t){this.page.x=t}get pageY(){return this.page.y}set pageY(t){this.page.y=t}get clientX(){return this.client.x}set clientX(t){this.client.x=t}get clientY(){return this.client.y}set clientY(t){this.client.y=t}get dx(){return this.delta.x}set dx(t){this.delta.x=t}get dy(){return this.delta.y}set dy(t){this.delta.y=t}get velocityX(){return this.velocity.x}set velocityX(t){this.velocity.x=t}get velocityY(){return this.velocity.y}set velocityY(t){this.velocity.y=t}getSwipe(){const t=this._interaction;if(t.prevEvent.speed<600||this.timeStamp-t.prevEvent.timeStamp>150)return null;let e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);const i=112.5<=e&&e<247.5,s=202.5<=e&&e<337.5;return{up:s,down:!s&&22.5<=e&&e<157.5,left:i,right:!i&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}preventDefault(){}stopImmediatePropagation(){this.immediatePropagationStopped=this.propagationStopped=!0}stopPropagation(){this.propagationStopped=!0}}export default InteractEvent;
import t from"../utils/extend.min.js";import e from"../utils/getOriginXY.min.js";import i from"../utils/hypot.min.js";import s from"./BaseEvent.min.js";import o from"./defaultOptions.min.js";export class InteractEvent extends s{constructor(s,r,h,n,a,d,p){super(s),this.target=void 0,this.currentTarget=void 0,this.relatedTarget=null,this.screenX=void 0,this.screenY=void 0,this.button=void 0,this.buttons=void 0,this.ctrlKey=void 0,this.shiftKey=void 0,this.altKey=void 0,this.metaKey=void 0,this.page=void 0,this.client=void 0,this.delta=void 0,this.rect=void 0,this.x0=void 0,this.y0=void 0,this.t0=void 0,this.dt=void 0,this.duration=void 0,this.clientX0=void 0,this.clientY0=void 0,this.velocity=void 0,this.speed=void 0,this.swipe=void 0,this.timeStamp=void 0,this.dragEnter=void 0,this.dragLeave=void 0,this.axes=void 0,this.preEnd=void 0,a=a||s.element;const l=s.interactable,c=(l&&l.options||o).deltaSource,v=e(l,a,h),y="start"===n,g="end"===n,m=y?this:s.prevEvent,u=y?s.coords.start:g?{page:m.page,client:m.client,timeStamp:s.coords.cur.timeStamp}:s.coords.cur;this.page=t({},u.page),this.client=t({},u.client),this.rect=t({},s.rect),this.timeStamp=u.timeStamp,g||(this.page.x-=v.x,this.page.y-=v.y,this.client.x-=v.x,this.client.y-=v.y),this.ctrlKey=r.ctrlKey,this.altKey=r.altKey,this.shiftKey=r.shiftKey,this.metaKey=r.metaKey,this.button=r.button,this.buttons=r.buttons,this.target=a,this.currentTarget=a,this.preEnd=d,this.type=p||h+(n||""),this.interactable=l,this.t0=y?s.pointers[s.pointers.length-1].downTime:m.t0,this.x0=s.coords.start.page.x-v.x,this.y0=s.coords.start.page.y-v.y,this.clientX0=s.coords.start.client.x-v.x,this.clientY0=s.coords.start.client.y-v.y,this.delta=y||g?{x:0,y:0}:{x:this[c].x-m[c].x,y:this[c].y-m[c].y},this.dt=s.coords.delta.timeStamp,this.duration=this.timeStamp-this.t0,this.velocity=t({},s.coords.velocity[c]),this.speed=i(this.velocity.x,this.velocity.y),this.swipe=g||"inertiastart"===n?this.getSwipe():null}get pageX(){return this.page.x}set pageX(t){this.page.x=t}get pageY(){return this.page.y}set pageY(t){this.page.y=t}get clientX(){return this.client.x}set clientX(t){this.client.x=t}get clientY(){return this.client.y}set clientY(t){this.client.y=t}get dx(){return this.delta.x}set dx(t){this.delta.x=t}get dy(){return this.delta.y}set dy(t){this.delta.y=t}get velocityX(){return this.velocity.x}set velocityX(t){this.velocity.x=t}get velocityY(){return this.velocity.y}set velocityY(t){this.velocity.y=t}getSwipe(){const t=this._interaction;if(t.prevEvent.speed<600||this.timeStamp-t.prevEvent.timeStamp>150)return null;let e=180*Math.atan2(t.prevEvent.velocityY,t.prevEvent.velocityX)/Math.PI;e<0&&(e+=360);const i=112.5<=e&&e<247.5,s=202.5<=e&&e<337.5;return{up:s,down:!s&&22.5<=e&&e<157.5,left:i,right:!i&&(292.5<=e||e<67.5),angle:e,speed:t.prevEvent.speed,velocity:{x:t.prevEvent.velocityX,y:t.prevEvent.velocityY}}}preventDefault(){}stopImmediatePropagation(){this.immediatePropagationStopped=this.propagationStopped=!0}stopPropagation(){this.propagationStopped=!0}}export default InteractEvent;
//# sourceMappingURL=InteractEvent.min.js.map
import * as utils from "../utils/index.js";
import InteractEvent from "InteractEvent.js";
import PointerInfo from "PointerInfo.js";
import InteractEvent from "./InteractEvent.js";
import PointerInfo from "./PointerInfo.js";
export let _ProxyValues;

@@ -5,0 +5,0 @@

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

import*as t from"../utils/index.min.js";import e from"InteractEvent.min.js";import i from"PointerInfo.min.js";export let _ProxyValues;!function(t){t.interactable="",t.element="",t.prepared="",t.pointerIsDown="",t.pointerWasMoved="",t._proxy=""}(_ProxyValues||(_ProxyValues={}));export let _ProxyMethods;!function(t){t.start="",t.move="",t.end="",t.stop="",t.interacting=""}(_ProxyMethods||(_ProxyMethods={}));let n=0;export class Interaction{get pointerMoveTolerance(){return 1}constructor({pointerType:e,scopeFire:i}){this.interactable=null,this.element=null,this.rect=void 0,this._rects=void 0,this.edges=void 0,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=null,this.simulation=null,this.doMove=t.warnOnce((function(t){this.move(t)}),"The interaction.doMove() method has been renamed to interaction.move()"),this.coords={start:t.pointer.newCoords(),prev:t.pointer.newCoords(),cur:t.pointer.newCoords(),delta:t.pointer.newCoords(),velocity:t.pointer.newCoords()},this._id=n++,this._scopeFire=i,this.pointerType=e;const o=this;this._proxy={};for(const t in _ProxyValues)Object.defineProperty(this._proxy,t,{get:()=>o[t]});for(const t in _ProxyMethods)Object.defineProperty(this._proxy,t,{value:(...e)=>o[t](...e)});this._scopeFire("interactions:new",{interaction:this})}pointerDown(t,e,i){const n=this.updatePointer(t,e,i,!0),o=this.pointers[n];this._scopeFire("interactions:down",{pointer:t,event:e,eventTarget:i,pointerIndex:n,pointerInfo:o,type:"down",interaction:this})}start(e,i,n){return!(this.interacting()||!this.pointerIsDown||this.pointers.length<("gesture"===e.name?2:1)||!i.options[e.name].enabled)&&(t.copyAction(this.prepared,e),this.interactable=i,this.element=n,this.rect=i.getRect(n),this.edges=this.prepared.edges?t.extend({},this.prepared.edges):{left:!0,right:!0,top:!0,bottom:!0},this._stopped=!1,this._interacting=this._doPhase({interaction:this,event:this.downEvent,phase:"start"})&&!this._stopped,this._interacting)}pointerMove(e,i,n){this.simulation||this.modification&&this.modification.endResult||this.updatePointer(e,i,n,!1);const o=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;let r,s;this.pointerIsDown&&!this.pointerWasMoved&&(r=this.coords.cur.client.x-this.coords.start.client.x,s=this.coords.cur.client.y-this.coords.start.client.y,this.pointerWasMoved=t.hypot(r,s)>this.pointerMoveTolerance);const h=this.getPointerIndex(e),p={pointer:e,pointerIndex:h,pointerInfo:this.pointers[h],event:i,type:"move",eventTarget:n,dx:r,dy:s,duplicate:o,interaction:this};o||t.pointer.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",p),o||this.simulation||(this.interacting()&&(p.type=null,this.move(p)),this.pointerWasMoved&&t.pointer.copyCoords(this.coords.prev,this.coords.cur))}move(e){e&&e.event||t.pointer.setZeroCoords(this.coords.delta),(e=t.extend({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{})).phase="move",this._doPhase(e)}pointerUp(t,e,i,n){let o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,i,!1));const r=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire(`interactions:${r}`,{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:i,type:r,curEventTarget:n,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}documentBlur(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}end(t){let 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()}currentAction(){return this._interacting?this.prepared.name:null}interacting(){return this._interacting}stop(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}getPointerIndex(e){const i=t.pointer.getPointerId(e);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:t.arr.findIndex(this.pointers,t=>t.id===i)}getPointerInfo(t){return this.pointers[this.getPointerIndex(t)]}updatePointer(e,n,o,r){const s=t.pointer.getPointerId(e);let h=this.getPointerIndex(e),p=this.pointers[h];return r=!1!==r&&(r||/(down|start)$/i.test(n.type)),p?p.pointer=e:(p=new i(s,e,n,null,null),h=this.pointers.length,this.pointers.push(p)),t.pointer.setCoords(this.coords.cur,this.pointers.map(t=>t.pointer),this._now()),t.pointer.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,p.downTime=this.coords.cur.timeStamp,p.downTarget=o,t.pointer.pointerExtend(this.downPointer,e),this.interacting()||(t.pointer.copyCoords(this.coords.start,this.coords.cur),t.pointer.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=n,this.pointerWasMoved=!1)),this._updateLatestPointer(e,n,o),this._scopeFire("interactions:update-pointer",{pointer:e,event:n,eventTarget:o,down:r,pointerInfo:p,pointerIndex:h,interaction:this}),h}removePointer(t,e){const i=this.getPointerIndex(t);if(-1===i)return;const n=this.pointers[i];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:i,pointerInfo:n,interaction:this}),this.pointers.splice(i,1)}_updateLatestPointer(t,e,i){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=i}destroy(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}_createPreparedEvent(t,i,n,o){return new e(this,t,this.prepared.name,i,this.element,n,o)}_fireEvent(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}_doPhase(e){const{event:i,phase:n,preEnd:o,type:r}=e,{rect:s}=this;if(s&&"move"===n&&(t.rect.addEdges(this.edges,s,this.coords.delta[this.interactable.options.deltaSource]),s.width=s.right-s.left,s.height=s.bottom-s.top),!1===this._scopeFire(`interactions:before-action-${n}`,e))return!1;const h=e.iEvent=this._createPreparedEvent(i,n,o,r);return this._scopeFire(`interactions:action-${n}`,e),"start"===n&&(this.prevEvent=h),this._fireEvent(h),this._scopeFire(`interactions:after-action-${n}`,e),!0}_now(){return Date.now()}}export default Interaction;export{i as PointerInfo};
import*as t from"../utils/index.min.js";import e from"./InteractEvent.min.js";import i from"./PointerInfo.min.js";export let _ProxyValues;!function(t){t.interactable="",t.element="",t.prepared="",t.pointerIsDown="",t.pointerWasMoved="",t._proxy=""}(_ProxyValues||(_ProxyValues={}));export let _ProxyMethods;!function(t){t.start="",t.move="",t.end="",t.stop="",t.interacting=""}(_ProxyMethods||(_ProxyMethods={}));let n=0;export class Interaction{get pointerMoveTolerance(){return 1}constructor({pointerType:e,scopeFire:i}){this.interactable=null,this.element=null,this.rect=void 0,this._rects=void 0,this.edges=void 0,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=null,this.simulation=null,this.doMove=t.warnOnce((function(t){this.move(t)}),"The interaction.doMove() method has been renamed to interaction.move()"),this.coords={start:t.pointer.newCoords(),prev:t.pointer.newCoords(),cur:t.pointer.newCoords(),delta:t.pointer.newCoords(),velocity:t.pointer.newCoords()},this._id=n++,this._scopeFire=i,this.pointerType=e;const o=this;this._proxy={};for(const t in _ProxyValues)Object.defineProperty(this._proxy,t,{get:()=>o[t]});for(const t in _ProxyMethods)Object.defineProperty(this._proxy,t,{value:(...e)=>o[t](...e)});this._scopeFire("interactions:new",{interaction:this})}pointerDown(t,e,i){const n=this.updatePointer(t,e,i,!0),o=this.pointers[n];this._scopeFire("interactions:down",{pointer:t,event:e,eventTarget:i,pointerIndex:n,pointerInfo:o,type:"down",interaction:this})}start(e,i,n){return!(this.interacting()||!this.pointerIsDown||this.pointers.length<("gesture"===e.name?2:1)||!i.options[e.name].enabled)&&(t.copyAction(this.prepared,e),this.interactable=i,this.element=n,this.rect=i.getRect(n),this.edges=this.prepared.edges?t.extend({},this.prepared.edges):{left:!0,right:!0,top:!0,bottom:!0},this._stopped=!1,this._interacting=this._doPhase({interaction:this,event:this.downEvent,phase:"start"})&&!this._stopped,this._interacting)}pointerMove(e,i,n){this.simulation||this.modification&&this.modification.endResult||this.updatePointer(e,i,n,!1);const o=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;let r,s;this.pointerIsDown&&!this.pointerWasMoved&&(r=this.coords.cur.client.x-this.coords.start.client.x,s=this.coords.cur.client.y-this.coords.start.client.y,this.pointerWasMoved=t.hypot(r,s)>this.pointerMoveTolerance);const h=this.getPointerIndex(e),p={pointer:e,pointerIndex:h,pointerInfo:this.pointers[h],event:i,type:"move",eventTarget:n,dx:r,dy:s,duplicate:o,interaction:this};o||t.pointer.setCoordVelocity(this.coords.velocity,this.coords.delta),this._scopeFire("interactions:move",p),o||this.simulation||(this.interacting()&&(p.type=null,this.move(p)),this.pointerWasMoved&&t.pointer.copyCoords(this.coords.prev,this.coords.cur))}move(e){e&&e.event||t.pointer.setZeroCoords(this.coords.delta),(e=t.extend({pointer:this._latestPointer.pointer,event:this._latestPointer.event,eventTarget:this._latestPointer.eventTarget,interaction:this},e||{})).phase="move",this._doPhase(e)}pointerUp(t,e,i,n){let o=this.getPointerIndex(t);-1===o&&(o=this.updatePointer(t,e,i,!1));const r=/cancel$/i.test(e.type)?"cancel":"up";this._scopeFire(`interactions:${r}`,{pointer:t,pointerIndex:o,pointerInfo:this.pointers[o],event:e,eventTarget:i,type:r,curEventTarget:n,interaction:this}),this.simulation||this.end(e),this.pointerIsDown=!1,this.removePointer(t,e)}documentBlur(t){this.end(t),this._scopeFire("interactions:blur",{event:t,type:"blur",interaction:this})}end(t){let 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()}currentAction(){return this._interacting?this.prepared.name:null}interacting(){return this._interacting}stop(){this._scopeFire("interactions:stop",{interaction:this}),this.interactable=this.element=null,this._interacting=!1,this._stopped=!0,this.prepared.name=this.prevEvent=null}getPointerIndex(e){const i=t.pointer.getPointerId(e);return"mouse"===this.pointerType||"pen"===this.pointerType?this.pointers.length-1:t.arr.findIndex(this.pointers,t=>t.id===i)}getPointerInfo(t){return this.pointers[this.getPointerIndex(t)]}updatePointer(e,n,o,r){const s=t.pointer.getPointerId(e);let h=this.getPointerIndex(e),p=this.pointers[h];return r=!1!==r&&(r||/(down|start)$/i.test(n.type)),p?p.pointer=e:(p=new i(s,e,n,null,null),h=this.pointers.length,this.pointers.push(p)),t.pointer.setCoords(this.coords.cur,this.pointers.map(t=>t.pointer),this._now()),t.pointer.setCoordDeltas(this.coords.delta,this.coords.prev,this.coords.cur),r&&(this.pointerIsDown=!0,p.downTime=this.coords.cur.timeStamp,p.downTarget=o,t.pointer.pointerExtend(this.downPointer,e),this.interacting()||(t.pointer.copyCoords(this.coords.start,this.coords.cur),t.pointer.copyCoords(this.coords.prev,this.coords.cur),this.downEvent=n,this.pointerWasMoved=!1)),this._updateLatestPointer(e,n,o),this._scopeFire("interactions:update-pointer",{pointer:e,event:n,eventTarget:o,down:r,pointerInfo:p,pointerIndex:h,interaction:this}),h}removePointer(t,e){const i=this.getPointerIndex(t);if(-1===i)return;const n=this.pointers[i];this._scopeFire("interactions:remove-pointer",{pointer:t,event:e,eventTarget:null,pointerIndex:i,pointerInfo:n,interaction:this}),this.pointers.splice(i,1)}_updateLatestPointer(t,e,i){this._latestPointer.pointer=t,this._latestPointer.event=e,this._latestPointer.eventTarget=i}destroy(){this._latestPointer.pointer=null,this._latestPointer.event=null,this._latestPointer.eventTarget=null}_createPreparedEvent(t,i,n,o){return new e(this,t,this.prepared.name,i,this.element,n,o)}_fireEvent(t){this.interactable.fire(t),(!this.prevEvent||t.timeStamp>=this.prevEvent.timeStamp)&&(this.prevEvent=t)}_doPhase(e){const{event:i,phase:n,preEnd:o,type:r}=e,{rect:s}=this;if(s&&"move"===n&&(t.rect.addEdges(this.edges,s,this.coords.delta[this.interactable.options.deltaSource]),s.width=s.right-s.left,s.height=s.bottom-s.top),!1===this._scopeFire(`interactions:before-action-${n}`,e))return!1;const h=e.iEvent=this._createPreparedEvent(i,n,o,r);return this._scopeFire(`interactions:action-${n}`,e),"start"===n&&(this.prevEvent=h),this._fireEvent(h),this._scopeFire(`interactions:after-action-${n}`,e),!0}_now(){return Date.now()}}export default Interaction;export{i as PointerInfo};
//# sourceMappingURL=Interaction.min.js.map

@@ -6,6 +6,6 @@ import browser from "../utils/browser.js";

import * as pointerUtils from "../utils/pointerUtils.js";
import InteractionBase from "Interaction.js";
import finder from "interactionFinder.js";
import { Scope } from "scope.js";
import interactablePreventDefault from "interactablePreventDefault.js";
import InteractionBase from "./Interaction.js";
import finder from "./interactionFinder.js";
import { Scope } from "./scope.js";
import interactablePreventDefault from "./interactablePreventDefault.js";
const methodNames = ['pointerDown', 'pointerMove', 'pointerUp', 'updatePointer', 'removePointer', 'windowBlur'];

@@ -12,0 +12,0 @@

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

import e from"../utils/browser.min.js";import t from"../utils/domObjects.min.js";import{nodeContains as n}from"../utils/domUtils.min.js";import o from"../utils/events.min.js";import*as r from"../utils/pointerUtils.min.js";import i from"Interaction.min.js";import s from"interactionFinder.min.js";import{Scope as p}from"scope.min.js";import c from"interactablePreventDefault.min.js";const a=["pointerDown","pointerMove","pointerUp","updatePointer","removePointer","windowBlur"];function l(t,n){return function(o){const i=n.interactions.list,s=r.getPointerType(o),[p,c]=r.getEventTargets(o),a=[];if(/^touch/.test(o.type)){n.prevTouchTime=n.now();for(const e of o.changedTouches){const t=e,i={pointer:t,pointerId:r.getPointerId(t),pointerType:s,eventType:o.type,eventTarget:p,curEventTarget:c,scope:n},l=u(i);a.push([i.pointer,i.eventTarget,i.curEventTarget,l])}}else{let t=!1;if(!e.supportsPointerEvent&&/mouse/.test(o.type)){for(let e=0;e<i.length&&!t;e++)t="mouse"!==i[e].pointerType&&i[e].pointerIsDown;t=t||n.now()-n.prevTouchTime<500||0===o.timeStamp}if(!t){const e={pointer:o,pointerId:r.getPointerId(o),pointerType:s,eventType:o.type,curEventTarget:c,eventTarget:p,scope:n},t=u(e);a.push([e.pointer,e.eventTarget,e.curEventTarget,t])}}for(const[e,n,r,i]of a)i[t](e,o,n,r)}}function u(e){const{pointerType:t,scope:n}=e,o={interaction:s.search(e),searchDetails:e};return n.fire("interactions:find",o),o.interaction||n.interactions.new({pointerType:t})}function m({doc:e,scope:t,options:n},r){const{docEvents:i}=t.interactions,s=o[r];t.browser.isIOS&&!n.events&&(n.events={passive:!1});for(const t in o.delegatedEvents)s(e,t,o.delegateListener),s(e,t,o.delegateUseCapture,!0);const p=n&&n.events;for(const{type:t,listener:n}of i)s(e,t,n,p)}const v={id:"core/interactions",install:function(o){const r={};for(const e of a)r[e]=l(e,o);const s=e.pEventTypes;let p;function u(){for(const e of o.interactions.list)if(e.pointerIsDown&&"touch"===e.pointerType&&!e._interacting)for(const t of e.pointers)o.documents.some(({doc:e})=>n(e,t.downTarget))||e.removePointer(t.pointer,t.event)}p=t.PointerEvent?[{type:s.down,listener:u},{type:s.down,listener:r.pointerDown},{type:s.move,listener:r.pointerMove},{type:s.up,listener:r.pointerUp},{type:s.cancel,listener:r.pointerUp}]:[{type:"mousedown",listener:r.pointerDown},{type:"mousemove",listener:r.pointerMove},{type:"mouseup",listener:r.pointerUp},{type:"touchstart",listener:u},{type:"touchstart",listener:r.pointerDown},{type:"touchmove",listener:r.pointerMove},{type:"touchend",listener:r.pointerUp},{type:"touchcancel",listener:r.pointerUp}],p.push({type:"blur",listener(e){for(const t of o.interactions.list)t.documentBlur(e)}}),o.prevTouchTime=0,o.Interaction=class extends i{get pointerMoveTolerance(){return o.interactions.pointerMoveTolerance}set pointerMoveTolerance(e){o.interactions.pointerMoveTolerance=e}_now(){return o.now()}},o.interactions={list:[],new(e){e.scopeFire=(e,t)=>o.fire(e,t);const t=new o.Interaction(e);return o.interactions.list.push(t),t},listeners:r,docEvents:p,pointerMoveTolerance:1},o.usePlugin(c)},listeners:{"scope:add-document":e=>m(e,"add"),"scope:remove-document":e=>m(e,"remove"),"interactable:unset":({interactable:e},t)=>{for(let n=t.interactions.list.length-1;n>=0;n--){const o=t.interactions.list[n];o.interactable===e&&(o.stop(),t.fire("interactions:destroy",{interaction:o}),o.destroy(),t.interactions.list.length>2&&t.interactions.list.splice(n,1))}}},onDocSignal:m,doOnInteractions:l,methodNames:a};export default v;
import e from"../utils/browser.min.js";import t from"../utils/domObjects.min.js";import{nodeContains as n}from"../utils/domUtils.min.js";import o from"../utils/events.min.js";import*as r from"../utils/pointerUtils.min.js";import i from"./Interaction.min.js";import s from"./interactionFinder.min.js";import{Scope as p}from"./scope.min.js";import c from"./interactablePreventDefault.min.js";const a=["pointerDown","pointerMove","pointerUp","updatePointer","removePointer","windowBlur"];function l(t,n){return function(o){const i=n.interactions.list,s=r.getPointerType(o),[p,c]=r.getEventTargets(o),a=[];if(/^touch/.test(o.type)){n.prevTouchTime=n.now();for(const e of o.changedTouches){const t=e,i={pointer:t,pointerId:r.getPointerId(t),pointerType:s,eventType:o.type,eventTarget:p,curEventTarget:c,scope:n},l=u(i);a.push([i.pointer,i.eventTarget,i.curEventTarget,l])}}else{let t=!1;if(!e.supportsPointerEvent&&/mouse/.test(o.type)){for(let e=0;e<i.length&&!t;e++)t="mouse"!==i[e].pointerType&&i[e].pointerIsDown;t=t||n.now()-n.prevTouchTime<500||0===o.timeStamp}if(!t){const e={pointer:o,pointerId:r.getPointerId(o),pointerType:s,eventType:o.type,curEventTarget:c,eventTarget:p,scope:n},t=u(e);a.push([e.pointer,e.eventTarget,e.curEventTarget,t])}}for(const[e,n,r,i]of a)i[t](e,o,n,r)}}function u(e){const{pointerType:t,scope:n}=e,o={interaction:s.search(e),searchDetails:e};return n.fire("interactions:find",o),o.interaction||n.interactions.new({pointerType:t})}function m({doc:e,scope:t,options:n},r){const{docEvents:i}=t.interactions,s=o[r];t.browser.isIOS&&!n.events&&(n.events={passive:!1});for(const t in o.delegatedEvents)s(e,t,o.delegateListener),s(e,t,o.delegateUseCapture,!0);const p=n&&n.events;for(const{type:t,listener:n}of i)s(e,t,n,p)}const v={id:"core/interactions",install:function(o){const r={};for(const e of a)r[e]=l(e,o);const s=e.pEventTypes;let p;function u(){for(const e of o.interactions.list)if(e.pointerIsDown&&"touch"===e.pointerType&&!e._interacting)for(const t of e.pointers)o.documents.some(({doc:e})=>n(e,t.downTarget))||e.removePointer(t.pointer,t.event)}p=t.PointerEvent?[{type:s.down,listener:u},{type:s.down,listener:r.pointerDown},{type:s.move,listener:r.pointerMove},{type:s.up,listener:r.pointerUp},{type:s.cancel,listener:r.pointerUp}]:[{type:"mousedown",listener:r.pointerDown},{type:"mousemove",listener:r.pointerMove},{type:"mouseup",listener:r.pointerUp},{type:"touchstart",listener:u},{type:"touchstart",listener:r.pointerDown},{type:"touchmove",listener:r.pointerMove},{type:"touchend",listener:r.pointerUp},{type:"touchcancel",listener:r.pointerUp}],p.push({type:"blur",listener(e){for(const t of o.interactions.list)t.documentBlur(e)}}),o.prevTouchTime=0,o.Interaction=class extends i{get pointerMoveTolerance(){return o.interactions.pointerMoveTolerance}set pointerMoveTolerance(e){o.interactions.pointerMoveTolerance=e}_now(){return o.now()}},o.interactions={list:[],new(e){e.scopeFire=(e,t)=>o.fire(e,t);const t=new o.Interaction(e);return o.interactions.list.push(t),t},listeners:r,docEvents:p,pointerMoveTolerance:1},o.usePlugin(c)},listeners:{"scope:add-document":e=>m(e,"add"),"scope:remove-document":e=>m(e,"remove"),"interactable:unset":({interactable:e},t)=>{for(let n=t.interactions.list.length-1;n>=0;n--){const o=t.interactions.list[n];o.interactable===e&&(o.stop(),t.fire("interactions:destroy",{interaction:o}),o.destroy(),t.interactions.list.length>2&&t.interactions.list.splice(n,1))}}},onDocSignal:m,doOnInteractions:l,methodNames:a};export default v;
//# sourceMappingURL=interactions.min.js.map
{
"name": "@interactjs/core",
"version": "1.9.1",
"version": "1.9.2",
"license": "MIT",
"peerDependencies": {
"@interactjs/dev-tools": "1.9.1",
"@interactjs/utils": "1.9.1"
"@interactjs/dev-tools": "1.9.2",
"@interactjs/utils": "1.9.2"
},
"devDependencies": {
"@interactjs/_dev": "1.9.1",
"@interactjs/actions": "1.9.1",
"@interactjs/auto-start": "1.9.1"
"@interactjs/_dev": "1.9.2",
"@interactjs/actions": "1.9.2",
"@interactjs/auto-start": "1.9.2"
},

@@ -17,3 +17,3 @@ "publishConfig": {

},
"gitHead": "523820c6"
"gitHead": "77b581be"
}
import domObjects from "../utils/domObjects.js";
import * as utils from "../utils/index.js";
import defaults from "defaultOptions.js";
import Eventable from "Eventable.js";
import InteractableBase from "Interactable.js";
import InteractableSet from "InteractableSet.js";
import InteractEvent from "InteractEvent.js";
import interactions from "interactions.js";
import defaults from "./defaultOptions.js";
import Eventable from "./Eventable.js";
import InteractableBase from "./Interactable.js";
import InteractableSet from "./InteractableSet.js";
import InteractEvent from "./InteractEvent.js";
import interactions from "./interactions.js";
const {

@@ -10,0 +10,0 @@ win,

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

import t from"../utils/domObjects.min.js";import*as i from"../utils/index.min.js";import e from"defaultOptions.min.js";import s from"Eventable.min.js";import n from"Interactable.min.js";import o from"InteractableSet.min.js";import r from"InteractEvent.min.js";import a from"interactions.min.js";const{win:d,browser:l,raf:c,events:h}=i;export function createScope(){return new Scope}export class Scope{constructor(){this.id=`__interact_scope_${Math.floor(100*Math.random())}`,this.isInitialized=!1,this.listenerMaps=[],this.browser=l,this.events=h,this.utils=i,this.defaults=i.clone(e),this.Eventable=s,this.actions={map:{},phases:{start:!0,move:!0,end:!0},methodDict:{},phaselessTypes:{}},this.InteractEvent=r,this.Interactable=void 0,this.interactables=new o(this),this._win=void 0,this.document=void 0,this.window=void 0,this.documents=[],this._plugins={list:[],map:{}},this.onWindowUnload=t=>this.removeDocument(t.target);const t=this;this.Interactable=class extends n{get _defaults(){return t.defaults}set(i){return super.set(i),t.fire("interactable:set",{options:i,interactable:this}),this}unset(){super.unset(),t.interactables.list.splice(t.interactables.list.indexOf(this),1),t.fire("interactable:unset",{interactable:this})}}}addListeners(t,i){this.listenerMaps.push({id:i,map:t})}fire(t,i){for(const{map:{[t]:e}}of this.listenerMaps)if(e&&!1===e(i,this,t))return!1}init(t){return this.isInitialized?this:initScope(this,t)}pluginIsInstalled(t){return this._plugins.map[t.id]||-1!==this._plugins.list.indexOf(t)}usePlugin(t,i){if(this.pluginIsInstalled(t))return this;if(t.id&&(this._plugins.map[t.id]=t),this._plugins.list.push(t),t.install&&t.install(this,i),t.listeners&&t.before){let i=0;const e=this.listenerMaps.length,s=t.before.reduce((t,i)=>(t[i]=!0,t),{});for(;i<e;i++){if(s[this.listenerMaps[i].id])break}this.listenerMaps.splice(i,0,{id:t.id,map:t.listeners})}else t.listeners&&this.listenerMaps.push({id:t.id,map:t.listeners});return this}addDocument(t,e){if(-1!==this.getDocIndex(t))return!1;const s=d.getWindow(t);e=e?i.extend({},e):{},this.documents.push({doc:t,options:e}),h.documents.push(t),t!==this.document&&h.add(s,"unload",this.onWindowUnload),this.fire("scope:add-document",{doc:t,window:s,scope:this,options:e})}removeDocument(t){const i=this.getDocIndex(t),e=d.getWindow(t),s=this.documents[i].options;h.remove(e,"unload",this.onWindowUnload),this.documents.splice(i,1),h.documents.splice(i,1),this.fire("scope:remove-document",{doc:t,window:e,scope:this,options:s})}getDocIndex(t){for(let i=0;i<this.documents.length;i++)if(this.documents[i].doc===t)return i;return-1}getDocOptions(t){const i=this.getDocIndex(t);return-1===i?null:this.documents[i].options}now(){return(this.window.Date||Date).now()}}export function isNonNativeEvent(t,i){if(i.phaselessTypes[t])return!0;for(const e in i.map)if(0===t.indexOf(e)&&t.substr(e.length)in i.phases)return!0;return!1}export function initScope(i,e){return i.isInitialized=!0,d.init(e),t.init(e),l.init(e),c.init(e),h.init(e),i.usePlugin(a),i.document=e.document,i.window=e,i}
import t from"../utils/domObjects.min.js";import*as i from"../utils/index.min.js";import e from"./defaultOptions.min.js";import s from"./Eventable.min.js";import n from"./Interactable.min.js";import o from"./InteractableSet.min.js";import r from"./InteractEvent.min.js";import a from"./interactions.min.js";const{win:d,browser:l,raf:c,events:h}=i;export function createScope(){return new Scope}export class Scope{constructor(){this.id=`__interact_scope_${Math.floor(100*Math.random())}`,this.isInitialized=!1,this.listenerMaps=[],this.browser=l,this.events=h,this.utils=i,this.defaults=i.clone(e),this.Eventable=s,this.actions={map:{},phases:{start:!0,move:!0,end:!0},methodDict:{},phaselessTypes:{}},this.InteractEvent=r,this.Interactable=void 0,this.interactables=new o(this),this._win=void 0,this.document=void 0,this.window=void 0,this.documents=[],this._plugins={list:[],map:{}},this.onWindowUnload=t=>this.removeDocument(t.target);const t=this;this.Interactable=class extends n{get _defaults(){return t.defaults}set(i){return super.set(i),t.fire("interactable:set",{options:i,interactable:this}),this}unset(){super.unset(),t.interactables.list.splice(t.interactables.list.indexOf(this),1),t.fire("interactable:unset",{interactable:this})}}}addListeners(t,i){this.listenerMaps.push({id:i,map:t})}fire(t,i){for(const{map:{[t]:e}}of this.listenerMaps)if(e&&!1===e(i,this,t))return!1}init(t){return this.isInitialized?this:initScope(this,t)}pluginIsInstalled(t){return this._plugins.map[t.id]||-1!==this._plugins.list.indexOf(t)}usePlugin(t,i){if(this.pluginIsInstalled(t))return this;if(t.id&&(this._plugins.map[t.id]=t),this._plugins.list.push(t),t.install&&t.install(this,i),t.listeners&&t.before){let i=0;const e=this.listenerMaps.length,s=t.before.reduce((t,i)=>(t[i]=!0,t),{});for(;i<e;i++){if(s[this.listenerMaps[i].id])break}this.listenerMaps.splice(i,0,{id:t.id,map:t.listeners})}else t.listeners&&this.listenerMaps.push({id:t.id,map:t.listeners});return this}addDocument(t,e){if(-1!==this.getDocIndex(t))return!1;const s=d.getWindow(t);e=e?i.extend({},e):{},this.documents.push({doc:t,options:e}),h.documents.push(t),t!==this.document&&h.add(s,"unload",this.onWindowUnload),this.fire("scope:add-document",{doc:t,window:s,scope:this,options:e})}removeDocument(t){const i=this.getDocIndex(t),e=d.getWindow(t),s=this.documents[i].options;h.remove(e,"unload",this.onWindowUnload),this.documents.splice(i,1),h.documents.splice(i,1),this.fire("scope:remove-document",{doc:t,window:e,scope:this,options:s})}getDocIndex(t){for(let i=0;i<this.documents.length;i++)if(this.documents[i].doc===t)return i;return-1}getDocOptions(t){const i=this.getDocIndex(t);return-1===i?null:this.documents[i].options}now(){return(this.window.Date||Date).now()}}export function isNonNativeEvent(t,i){if(i.phaselessTypes[t])return!0;for(const e in i.map)if(0===t.indexOf(e)&&t.substr(e.length)in i.phases)return!0;return!1}export function initScope(i,e){return i.isInitialized=!0,d.init(e),t.init(e),l.init(e),c.init(e),h.init(e),i.usePlugin(a),i.document=e.document,i.window=e,i}
//# sourceMappingURL=scope.min.js.map

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc