@interactjs/auto-start
Advanced tools
Comparing version 1.9.1 to 1.9.2
import * as utils from "../utils/index.js"; | ||
import InteractableMethods from "InteractableMethods.js"; | ||
import InteractableMethods from "./InteractableMethods.js"; | ||
@@ -4,0 +4,0 @@ function install(scope) { |
@@ -1,2 +0,2 @@ | ||
import*as t from"../utils/index.min.js";import e from"InteractableMethods.min.js";function n(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&i(e,n,t,o)?t:null}function r(t,e,r,o,a,i,c){for(let s=0,l=o.length;s<l;s++){const l=o[s],u=a[s],m=l.getAction(e,r,t,u);if(!m)continue;const p=n(m,l,u,i,c);if(p)return{action:p,interactable:l,element:u}}return{action:null,interactable:null,element:null}}function o(e,n,o,a,i){let c=[],s=[],l=a;function u(t){c.push(t),s.push(l)}for(;t.is.element(l);){c=[],s=[],i.interactables.forEachMatch(l,u);const m=r(e,n,o,c,s,a,i);if(m.action&&!m.interactable.options[m.action.name].manualStart)return m;l=t.dom.parentNode(l)}return{action:null,interactable:null,element:null}}function a(e,{action:n,interactable:r,element:o},a){n=n||{name:null},e.interactable=r,e.element=o,t.copyAction(e.prepared,n),e.rect=r&&n.name?r.getRect(o):null,l(e,a),a.fire("autoStart:prepared",{interaction:e})}function i(t,e,n,r){const o=t.options,a=o[n.name].max,i=o[n.name].maxPerElement,c=r.autoStart.maxInteractions;let s=0,l=0,u=0;if(!(a&&i&&c))return!1;for(const o of r.interactions.list){const r=o.prepared.name;if(o.interacting()){if(s++,s>=c)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 c>0}function c(e,n){return t.is.number(e)?(n.autoStart.maxInteractions=e,this):n.autoStart.maxInteractions}function s(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 l(e,n){const{interactable:r,element:o,prepared:a}=e;if("mouse"!==e.pointerType||!r||!r.options.styleCursor)return void(n.autoStart.cursorElement&&s(n.autoStart.cursorElement,"",n));let i="";if(a.name){const c=r.options[a.name].cursorChecker;i=t.is.func(c)?c(a,r,o,e._interacting):n.actions.map[a.name].getCursor(a)}s(e.element,i||"",n)}const u={id:"auto-start/base",before:["actions","actions/drag","actions/resize","actions/gesture"],install:function(n){const{interact:r,defaults:o}=n;n.usePlugin(e),o.base.actionChecker=null,o.base.styleCursor=!0,t.extend(o.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),r.maxInteractions=t=>c(t,n),n.autoStart={maxInteractions:1/0,withinInteractionLimit:i,cursorElement:null}},listeners:{"interactions:down":function({interaction:t,pointer:e,event:n,eventTarget:r},i){if(t.interacting())return;a(t,o(t,e,n,r,i),i)},"interactions:move":(t,e)=>{!function({interaction:t,pointer:e,event:n,eventTarget:r},i){if("mouse"!==t.pointerType||t.pointerIsDown||t.interacting())return;a(t,o(t,e,n,r,i),i)}(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||!i(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),l(n,e)))}(t,e)},"interactions:stop":function({interaction:t},e){const{interactable:n}=t;n&&n.options.styleCursor&&s(t.element,"",e)}},maxInteractions:c,withinInteractionLimit:i,validateAction:n};export default u; | ||
import*as t from"../utils/index.min.js";import e from"./InteractableMethods.min.js";function n(t,e,n,r,o){return e.testIgnoreAllow(e.options[t.name],n,r)&&e.options[t.name].enabled&&i(e,n,t,o)?t:null}function r(t,e,r,o,a,i,c){for(let s=0,l=o.length;s<l;s++){const l=o[s],u=a[s],m=l.getAction(e,r,t,u);if(!m)continue;const p=n(m,l,u,i,c);if(p)return{action:p,interactable:l,element:u}}return{action:null,interactable:null,element:null}}function o(e,n,o,a,i){let c=[],s=[],l=a;function u(t){c.push(t),s.push(l)}for(;t.is.element(l);){c=[],s=[],i.interactables.forEachMatch(l,u);const m=r(e,n,o,c,s,a,i);if(m.action&&!m.interactable.options[m.action.name].manualStart)return m;l=t.dom.parentNode(l)}return{action:null,interactable:null,element:null}}function a(e,{action:n,interactable:r,element:o},a){n=n||{name:null},e.interactable=r,e.element=o,t.copyAction(e.prepared,n),e.rect=r&&n.name?r.getRect(o):null,l(e,a),a.fire("autoStart:prepared",{interaction:e})}function i(t,e,n,r){const o=t.options,a=o[n.name].max,i=o[n.name].maxPerElement,c=r.autoStart.maxInteractions;let s=0,l=0,u=0;if(!(a&&i&&c))return!1;for(const o of r.interactions.list){const r=o.prepared.name;if(o.interacting()){if(s++,s>=c)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 c>0}function c(e,n){return t.is.number(e)?(n.autoStart.maxInteractions=e,this):n.autoStart.maxInteractions}function s(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 l(e,n){const{interactable:r,element:o,prepared:a}=e;if("mouse"!==e.pointerType||!r||!r.options.styleCursor)return void(n.autoStart.cursorElement&&s(n.autoStart.cursorElement,"",n));let i="";if(a.name){const c=r.options[a.name].cursorChecker;i=t.is.func(c)?c(a,r,o,e._interacting):n.actions.map[a.name].getCursor(a)}s(e.element,i||"",n)}const u={id:"auto-start/base",before:["actions","actions/drag","actions/resize","actions/gesture"],install:function(n){const{interact:r,defaults:o}=n;n.usePlugin(e),o.base.actionChecker=null,o.base.styleCursor=!0,t.extend(o.perAction,{manualStart:!1,max:1/0,maxPerElement:1,allowFrom:null,ignoreFrom:null,mouseButtons:1}),r.maxInteractions=t=>c(t,n),n.autoStart={maxInteractions:1/0,withinInteractionLimit:i,cursorElement:null}},listeners:{"interactions:down":function({interaction:t,pointer:e,event:n,eventTarget:r},i){if(t.interacting())return;a(t,o(t,e,n,r,i),i)},"interactions:move":(t,e)=>{!function({interaction:t,pointer:e,event:n,eventTarget:r},i){if("mouse"!==t.pointerType||t.pointerIsDown||t.interacting())return;a(t,o(t,e,n,r,i),i)}(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||!i(r,n.element,n.prepared,e)?n.stop():(n.start(n.prepared,r,n.element),l(n,e)))}(t,e)},"interactions:stop":function({interaction:t},e){const{interactable:n}=t;n&&n.options.styleCursor&&s(t.element,"",e)}},maxInteractions:c,withinInteractionLimit:i,validateAction:n};export default u; | ||
//# sourceMappingURL=base.min.js.map |
import { parentNode } from "../utils/domUtils.js"; | ||
import * as is from "../utils/is.js"; | ||
import autoStart from "base.js"; | ||
import autoStart from "./base.js"; | ||
@@ -5,0 +5,0 @@ function beforeStart({ |
@@ -1,2 +0,2 @@ | ||
import{parentNode as t}from"../utils/domUtils.min.js";import*as r from"../utils/is.min.js";import e from"base.min.js";export default{id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function({interaction:a,eventTarget:n,dx:i,dy:o},s){if("drag"!==a.prepared.name)return;const c=Math.abs(i),l=Math.abs(o),d=a.interactable.options.drag,f=d.startAxis,m=c>l?"x":c<l?"y":"xy";if(a.prepared.axis="start"===d.lockAxis?m[0]:d.lockAxis,"xy"!==m&&"xy"!==f&&f!==m){a.prepared.name=null;let i=n;const o=function(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}(m,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*as r from"../utils/is.min.js";import e from"./base.min.js";export default{id:"auto-start/dragAxis",listeners:{"autoStart:before-start":function({interaction:a,eventTarget:n,dx:i,dy:o},s){if("drag"!==a.prepared.name)return;const c=Math.abs(i),l=Math.abs(o),d=a.interactable.options.drag,f=d.startAxis,m=c>l?"x":c<l?"y":"xy";if(a.prepared.axis="start"===d.lockAxis?m[0]:d.lockAxis,"xy"!==m&&"xy"!==f&&f!==m){a.prepared.name=null;let i=n;const o=function(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}(m,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.js"; | ||
@@ -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:function(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.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:function(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 |
@@ -1,4 +0,4 @@ | ||
import autoStart from "base.js"; | ||
import dragAxis from "dragAxis.js"; | ||
import hold from "hold.js"; | ||
import autoStart from "./base.js"; | ||
import dragAxis from "./dragAxis.js"; | ||
import hold from "./hold.js"; | ||
export default { | ||
@@ -5,0 +5,0 @@ id: 'auto-start', |
@@ -1,2 +0,2 @@ | ||
import i from"base.min.js";import o from"dragAxis.min.js";import r from"hold.min.js";export default{id:"auto-start",install(s){s.usePlugin(i),s.usePlugin(r),s.usePlugin(o)}};export{i as autoStart,r as hold,o as dragAxis}; | ||
import i from"./base.min.js";import o from"./dragAxis.min.js";import r from"./hold.min.js";export default{id:"auto-start",install(s){s.usePlugin(i),s.usePlugin(r),s.usePlugin(o)}};export{i as autoStart,r as hold,o as dragAxis}; | ||
//# sourceMappingURL=index.min.js.map |
{ | ||
"name": "@interactjs/auto-start", | ||
"version": "1.9.1", | ||
"version": "1.9.2", | ||
"license": "MIT", | ||
"peerDependencies": { | ||
"@interactjs/core": "1.9.1", | ||
"@interactjs/utils": "1.9.1" | ||
"@interactjs/core": "1.9.2", | ||
"@interactjs/utils": "1.9.2" | ||
}, | ||
"devDependencies": { | ||
"@interactjs/_dev": "1.9.1", | ||
"@interactjs/actions": "1.9.1" | ||
"@interactjs/_dev": "1.9.2", | ||
"@interactjs/actions": "1.9.2" | ||
}, | ||
"optionalDependencies": { | ||
"@interactjs/interact": "1.9.1" | ||
"@interactjs/interact": "1.9.2" | ||
}, | ||
@@ -19,3 +19,3 @@ "publishConfig": { | ||
}, | ||
"gitHead": "523820c6" | ||
"gitHead": "77b581be" | ||
} |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
106504