Socket
Socket
Sign inDemoInstall

@interactjs/auto-start

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/auto-start - npm Package Compare versions

Comparing version 1.9.14 to 1.9.15

2

base.js

@@ -5,3 +5,3 @@ import * as domUtils from "../utils/domUtils.js";

import { copyAction } from "../utils/misc.js";
import InteractableMethods from "./InteractableMethods.js";
import InteractableMethods from './InteractableMethods';

@@ -8,0 +8,0 @@ function install(scope) {

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

import*as t from"../utils/domUtils.min.js";import e from"../utils/extend.min.js";import n from"../utils/is.min.js";import{copyAction as r}from"../utils/misc.min.js";import o from"./InteractableMethods.min.js";function a(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&l(e,n,t,o)?t:null}function i(t,e,n,r,o,i,s){for(let c=0,l=r.length;c<l;c++){const l=r[c],u=o[c],m=l.getAction(e,n,t,u);if(!m)continue;const p=a(m,l,u,i,s);if(p)return{action:p,interactable:l,element:u}}return{action:null,interactable:null,element:null}}function s(e,r,o,a,s){let c=[],l=[],u=a;function m(t){c.push(t),l.push(u)}for(;n.element(u);){c=[],l=[],s.interactables.forEachMatch(u,m);const n=i(e,r,o,c,l,a,s);if(n.action&&!n.interactable.options[n.action.name].manualStart)return n;u=t.parentNode(u)}return{action:null,interactable:null,element:null}}function c(t,{action:e,interactable:n,element:o},a){e=e||{name:null},t.interactable=n,t.element=o,r(t.prepared,e),t.rect=n&&e.name?n.getRect(o):null,p(t,a),a.fire("autoStart:prepared",{interaction:t})}function l(t,e,n,r){const o=t.options,a=o[n.name].max,i=o[n.name].maxPerElement,s=r.autoStart.maxInteractions;let c=0,l=0,u=0;if(!(a&&i&&s))return!1;for(const o of r.interactions.list){const r=o.prepared.name;if(o.interacting()){if(c++,c>=s)return!1;if(o.interactable===t){if(l+=r===n.name?1:0,l>=a)return!1;if(o.element===e&&(u++,r===n.name&&u>=i))return!1}}}return s>0}function u(t,e){return n.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function m(t,e,n){const{cursorElement:r}=n.autoStart;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function p(t,e){const{interactable:r,element:o,prepared:a}=t;if("mouse"!==t.pointerType||!r||!r.options.styleCursor)return void(e.autoStart.cursorElement&&m(e.autoStart.cursorElement,"",e));let i="";if(a.name){const s=r.options[a.name].cursorChecker;i=n.func(s)?s(a,r,o,t._interacting):e.actions.map[a.name].getCursor(a)}m(t.element,i||"",e)}const f={id:"auto-start/base",before:["actions","actions/drag","actions/resize","actions/gesture"],install(t){const{interactStatic:n,defaults:r}=t;t.usePlugin(o),r.base.actionChecker=null,r.base.styleCursor=!0,e(r.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),n.maxInteractions=e=>u(e,t),t.autoStart={maxInteractions:1/0,withinInteractionLimit:l,cursorElement:null}},listeners:{"interactions:down"({interaction:t,pointer:e,event:n,eventTarget:r},o){t.interacting()||c(t,s(t,e,n,r,o),o)},"interactions:move"(t,e){!function({interaction:t,pointer:e,event:n,eventTarget:r},o){if("mouse"!==t.pointerType||t.pointerIsDown||t.interacting())return;c(t,s(t,e,n,r,o),o)}(t,e),function(t,e){const{interaction:n}=t;if(!n.pointerIsDown||n.interacting()||!n.pointerWasMoved||!n.prepared.name)return;e.fire("autoStart:before-start",t);const{interactable:r}=n,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!l(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),p(n,e)))}(t,e)},"interactions:stop"({interaction:t},e){const{interactable:n}=t;n&&n.options.styleCursor&&m(t.element,"",e)}},maxInteractions:u,withinInteractionLimit:l,validateAction:a};export default f;
import*as t from"../utils/domUtils.min.js";import e from"../utils/extend.min.js";import n from"../utils/is.min.js";import{copyAction as r}from"../utils/misc.min.js";import o from"./InteractableMethods";function a(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&l(e,n,t,o)?t:null}function i(t,e,n,r,o,i,s){for(let c=0,l=r.length;c<l;c++){const l=r[c],u=o[c],m=l.getAction(e,n,t,u);if(!m)continue;const p=a(m,l,u,i,s);if(p)return{action:p,interactable:l,element:u}}return{action:null,interactable:null,element:null}}function s(e,r,o,a,s){let c=[],l=[],u=a;function m(t){c.push(t),l.push(u)}for(;n.element(u);){c=[],l=[],s.interactables.forEachMatch(u,m);const n=i(e,r,o,c,l,a,s);if(n.action&&!n.interactable.options[n.action.name].manualStart)return n;u=t.parentNode(u)}return{action:null,interactable:null,element:null}}function c(t,{action:e,interactable:n,element:o},a){e=e||{name:null},t.interactable=n,t.element=o,r(t.prepared,e),t.rect=n&&e.name?n.getRect(o):null,p(t,a),a.fire("autoStart:prepared",{interaction:t})}function l(t,e,n,r){const o=t.options,a=o[n.name].max,i=o[n.name].maxPerElement,s=r.autoStart.maxInteractions;let c=0,l=0,u=0;if(!(a&&i&&s))return!1;for(const o of r.interactions.list){const r=o.prepared.name;if(o.interacting()){if(c++,c>=s)return!1;if(o.interactable===t){if(l+=r===n.name?1:0,l>=a)return!1;if(o.element===e&&(u++,r===n.name&&u>=i))return!1}}}return s>0}function u(t,e){return n.number(t)?(e.autoStart.maxInteractions=t,this):e.autoStart.maxInteractions}function m(t,e,n){const{cursorElement:r}=n.autoStart;r&&r!==t&&(r.style.cursor=""),t.ownerDocument.documentElement.style.cursor=e,t.style.cursor=e,n.autoStart.cursorElement=e?t:null}function p(t,e){const{interactable:r,element:o,prepared:a}=t;if("mouse"!==t.pointerType||!r||!r.options.styleCursor)return void(e.autoStart.cursorElement&&m(e.autoStart.cursorElement,"",e));let i="";if(a.name){const s=r.options[a.name].cursorChecker;i=n.func(s)?s(a,r,o,t._interacting):e.actions.map[a.name].getCursor(a)}m(t.element,i||"",e)}const f={id:"auto-start/base",before:["actions","actions/drag","actions/resize","actions/gesture"],install(t){const{interactStatic:n,defaults:r}=t;t.usePlugin(o),r.base.actionChecker=null,r.base.styleCursor=!0,e(r.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),n.maxInteractions=e=>u(e,t),t.autoStart={maxInteractions:1/0,withinInteractionLimit:l,cursorElement:null}},listeners:{"interactions:down"({interaction:t,pointer:e,event:n,eventTarget:r},o){t.interacting()||c(t,s(t,e,n,r,o),o)},"interactions:move"(t,e){!function({interaction:t,pointer:e,event:n,eventTarget:r},o){if("mouse"!==t.pointerType||t.pointerIsDown||t.interacting())return;c(t,s(t,e,n,r,o),o)}(t,e),function(t,e){const{interaction:n}=t;if(!n.pointerIsDown||n.interacting()||!n.pointerWasMoved||!n.prepared.name)return;e.fire("autoStart:before-start",t);const{interactable:r}=n,o=n.prepared.name;o&&r&&(r.options[o].manualStart||!l(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),p(n,e)))}(t,e)},"interactions:stop"({interaction:t},e){const{interactable:n}=t;n&&n.options.styleCursor&&m(t.element,"",e)}},maxInteractions:u,withinInteractionLimit:l,validateAction:a};export default f;
//# sourceMappingURL=base.min.js.map
import { parentNode } from "../utils/domUtils.js";
import is from "../utils/is.js";
import autoStart from "./base.js";
import autoStart from './base';

@@ -5,0 +5,0 @@ function beforeStart({

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

import{parentNode as t}from"../utils/domUtils.min.js";import r from"../utils/is.min.js";import e from"./base.min.js";export default{id:"auto-start/dragAxis",listeners:{"autoStart:before-start"({interaction:a,eventTarget:n,dx:i,dy:o},s){if("drag"!==a.prepared.name)return;const l=Math.abs(i),c=Math.abs(o),d=a.interactable.options.drag,m=d.startAxis,f=l>c?"x":l<c?"y":"xy";if(a.prepared.axis="start"===d.lockAxis?f[0]:d.lockAxis,"xy"!==f&&"xy"!==m&&m!==f){a.prepared.name=null;let i=n;const o=t=>{if(t===a.interactable)return;const r=a.interactable.options.drag;if(!r.manualStart&&t.testIgnoreAllow(r,i,n)){const r=t.getAction(a.downPointer,a.downEvent,a,i);if(r&&"drag"===r.name&&function(t,r){if(!r)return!1;const e=r.options.drag.startAxis;return"xy"===t||"xy"===e||e===t}(f,t)&&e.validateAction(r,t,i,n,s))return t}};for(;r.element(i);){const r=s.interactables.forEachMatch(i,o);if(r){a.prepared.name="drag",a.interactable=r,a.element=i;break}i=t(i)}}}}};
import{parentNode as t}from"../utils/domUtils.min.js";import r from"../utils/is.min.js";import e from"./base";export default{id:"auto-start/dragAxis",listeners:{"autoStart:before-start"({interaction:a,eventTarget:n,dx:i,dy:o},s){if("drag"!==a.prepared.name)return;const l=Math.abs(i),c=Math.abs(o),d=a.interactable.options.drag,m=d.startAxis,f=l>c?"x":l<c?"y":"xy";if(a.prepared.axis="start"===d.lockAxis?f[0]:d.lockAxis,"xy"!==f&&"xy"!==m&&m!==f){a.prepared.name=null;let i=n;const o=t=>{if(t===a.interactable)return;const r=a.interactable.options.drag;if(!r.manualStart&&t.testIgnoreAllow(r,i,n)){const r=t.getAction(a.downPointer,a.downEvent,a,i);if(r&&"drag"===r.name&&function(t,r){if(!r)return!1;const e=r.options.drag.startAxis;return"xy"===t||"xy"===e||e===t}(f,t)&&e.validateAction(r,t,i,n,s))return t}};for(;r.element(i);){const r=s.interactables.forEachMatch(i,o);if(r){a.prepared.name="drag",a.interactable=r,a.element=i;break}i=t(i)}}}}};
//# sourceMappingURL=dragAxis.min.js.map

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

import basePlugin from "./base.js";
import basePlugin from './base';

@@ -3,0 +3,0 @@ function install(scope) {

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

import t from"./base.min.js";function e(t){const e=t.prepared&&t.prepared.name;if(!e)return null;const r=t.interactable.options;return r[e].hold||r[e].delay}export default{id:"auto-start/hold",install(e){const{defaults:r}=e;e.usePlugin(t),r.perAction.hold=0,r.perAction.delay=0},listeners:{"interactions:new"({interaction:t}){t.autoStartHoldTimer=null},"autoStart:prepared"({interaction:t}){const r=e(t);r>0&&(t.autoStartHoldTimer=setTimeout(()=>{t.start(t.prepared,t.interactable,t.element)},r))},"interactions:move"({interaction:t,duplicate:e}){t.pointerWasMoved&&!e&&clearTimeout(t.autoStartHoldTimer)},"autoStart:before-start"({interaction:t}){e(t)>0&&(t.prepared.name=null)}},getHoldDuration:e};
import t from"./base";function e(t){const e=t.prepared&&t.prepared.name;if(!e)return null;const r=t.interactable.options;return r[e].hold||r[e].delay}export default{id:"auto-start/hold",install(e){const{defaults:r}=e;e.usePlugin(t),r.perAction.hold=0,r.perAction.delay=0},listeners:{"interactions:new"({interaction:t}){t.autoStartHoldTimer=null},"autoStart:prepared"({interaction:t}){const r=e(t);r>0&&(t.autoStartHoldTimer=setTimeout(()=>{t.start(t.prepared,t.interactable,t.element)},r))},"interactions:move"({interaction:t,duplicate:e}){t.pointerWasMoved&&!e&&clearTimeout(t.autoStartHoldTimer)},"autoStart:before-start"({interaction:t}){e(t)>0&&(t.prepared.name=null)}},getHoldDuration:e};
//# sourceMappingURL=hold.min.js.map
{
"name": "@interactjs/auto-start",
"version": "1.9.14",
"version": "1.9.15",
"license": "MIT",
"peerDependencies": {
"@interactjs/core": "1.9.14",
"@interactjs/utils": "1.9.14"
"@interactjs/core": "1.9.15",
"@interactjs/utils": "1.9.15"
},
"optionalDependencies": {
"@interactjs/interact": "1.9.14"
"@interactjs/interact": "1.9.15"
},

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

},
"gitHead": "baf83fba"
"gitHead": "96ae04e4"
}

@@ -1,4 +0,4 @@

import autoStart from "./base.js";
import dragAxis from "./dragAxis.js";
import hold from "./hold.js";
import autoStart from './base';
import dragAxis from './dragAxis';
import hold from './hold';
export default {

@@ -5,0 +5,0 @@ id: 'auto-start',

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

import i from"./base.min.js";import s from"./dragAxis.min.js";import m from"./hold.min.js";export default{id:"auto-start",install(o){o.usePlugin(i),o.usePlugin(m),o.usePlugin(s)}};
import i from"./base";import o from"./dragAxis";import r from"./hold";export default{id:"auto-start",install(t){t.usePlugin(i),t.usePlugin(r),t.usePlugin(o)}};
//# sourceMappingURL=plugin.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

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc