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.8.4 to 1.8.5

11

BaseEvent.d.ts
import Interactable from './Interactable';
import { ActionName } from './scope';
export declare enum EventPhase {
Start = "start",
Move = "move",
End = "end",
_NONE = ""
}
export declare class BaseEvent<T extends ActionName = any> {
export declare class BaseEvent<T extends Interact.ActionName = any> {
type: string;

@@ -18,3 +11,3 @@ target: EventTarget;

propagationStopped: boolean;
readonly interaction: Pick<import("@interactjs/core/Interaction").Interaction<any>, "end" | "stop" | "start" | "interactable" | "element" | "prepared" | "pointerIsDown" | "pointerWasMoved" | "_proxy" | "move" | "interacting">;
readonly interaction: Pick<import("@interactjs/core/Interaction").Interaction<"resize" | "drag" | "drop" | "gesture">, "end" | "stop" | "start" | "move" | "interactable" | "element" | "prepared" | "pointerIsDown" | "pointerWasMoved" | "_proxy" | "interacting" | "offsetBy">;
constructor(interaction: Interact.Interaction);

@@ -21,0 +14,0 @@ preventDefault(): void;

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
export let EventPhase;
(function (EventPhase) {
EventPhase["Start"] = "start";
EventPhase["Move"] = "move";
EventPhase["End"] = "end";
EventPhase["_NONE"] = "";
})(EventPhase || (EventPhase = {}));
export class BaseEvent {

@@ -13,0 +4,0 @@ get interaction() {

5

Interactable.js

@@ -13,2 +13,3 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

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

@@ -157,3 +158,3 @@ /** */

for (const action of this._actions.names) {
for (const action in this._actions.map) {
this.options[action][optionName] = newValue;

@@ -282,3 +283,3 @@ }

// if it is an action event type
if (arr.contains(this._actions.eventTypes, type)) {
if (isNonNativeEvent(type, this._actions)) {
this.events[method](type, listener);

@@ -285,0 +286,0 @@ } // delegated event

import BaseEvent from './BaseEvent';
import Interaction from './Interaction';
import { ActionName } from './scope';
export declare enum EventPhase {
Start = "start",
Move = "move",
End = "end",
_NONE = ""
export declare type EventPhase = keyof PhaseMap;
export interface PhaseMap {
start: true;
move: true;
end: true;
}
export declare class InteractEvent<T extends ActionName = any, P extends EventPhase = EventPhase._NONE> extends BaseEvent<T> {
export declare class InteractEvent<T extends Interact.ActionName = never, P extends EventPhase = EventPhase> extends BaseEvent<T> {
target: Interact.Element;
currentTarget: Interact.Element;
relatedTarget: Interact.Element;
relatedTarget: null;
screenX?: number;

@@ -42,3 +41,3 @@ screenY?: number;

/** */
constructor(interaction: Interaction, event: Interact.PointerEventType, actionName: T, phase: P, element: Interact.Element, related?: Interact.Element, preEnd?: boolean, type?: string);
constructor(interaction: Interaction, event: Interact.PointerEventType, actionName: T, phase: P, element: Interact.Element, preEnd?: boolean, type?: string);
pageX: number;

@@ -45,0 +44,0 @@ pageY: number;

@@ -8,11 +8,2 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

import defaults from "./defaultOptions.js";
export let EventPhase;
(function (EventPhase) {
EventPhase["Start"] = "start";
EventPhase["Move"] = "move";
EventPhase["End"] = "end";
EventPhase["_NONE"] = "";
})(EventPhase || (EventPhase = {}));
export class InteractEvent extends BaseEvent {

@@ -23,3 +14,3 @@ // drag

/** */
constructor(interaction, event, actionName, phase, element, related, preEnd, type) {
constructor(interaction, event, actionName, phase, element, preEnd, type) {
super(interaction);

@@ -31,3 +22,3 @@

_defineProperty(this, "relatedTarget", void 0);
_defineProperty(this, "relatedTarget", null);

@@ -120,3 +111,2 @@ _defineProperty(this, "screenX", void 0);

this.currentTarget = element;
this.relatedTarget = related || null;
this.preEnd = preEnd;

@@ -123,0 +113,0 @@ this.type = type || actionName + (phase || '');

@@ -6,3 +6,3 @@ import * as utils from '@interactjs/utils/index';

import { ActionName } from './scope';
export interface ActionProps<T extends ActionName = any> {
export interface ActionProps<T extends ActionName = Interact.ActionName> {
name: T;

@@ -13,3 +13,3 @@ axis?: 'x' | 'y' | 'xy';

export interface StartAction extends ActionProps {
name: ActionName | string;
name: ActionName;
}

@@ -36,12 +36,14 @@ export declare enum _ProxyValues {

pointerIndex: number;
pointerInfo: PointerInfo;
interaction: Interaction;
} & T;
export interface DoPhaseArg {
export interface DoPhaseArg<T extends ActionName, P extends EventPhase> {
event: Interact.PointerEventType;
phase: EventPhase;
interaction: Interaction;
iEvent: InteractEvent;
interaction: Interaction<T>;
iEvent: InteractEvent<T, P>;
preEnd?: boolean;
type?: string;
}
export declare type DoAnyPhaseArg = DoPhaseArg<ActionName, EventPhase>;
declare module '@interactjs/core/scope' {

@@ -70,18 +72,15 @@ interface SignalArgs {

'interactions:update-pointer': PointerArgProps<{
pointerInfo: PointerInfo;
down: boolean;
}>;
'interactions:remove-pointer': PointerArgProps<{
pointerInfo: PointerInfo;
}>;
'interactions:remove-pointer': PointerArgProps;
'interactions:blur': any;
'interactions:before-action-start': Omit<DoPhaseArg, 'iEvent'>;
'interactions:action-start': DoPhaseArg;
'interactions:after-action-start': DoPhaseArg;
'interactions:before-action-move': Omit<DoPhaseArg, 'iEvent'>;
'interactions:action-move': DoPhaseArg;
'interactions:after-action-move': DoPhaseArg;
'interactions:before-action-end': Omit<DoPhaseArg, 'iEvent'>;
'interactions:action-end': DoPhaseArg;
'interactions:after-action-end': DoPhaseArg;
'interactions:before-action-start': Omit<DoAnyPhaseArg, 'iEvent'>;
'interactions:action-start': DoAnyPhaseArg;
'interactions:after-action-start': DoAnyPhaseArg;
'interactions:before-action-move': Omit<DoAnyPhaseArg, 'iEvent'>;
'interactions:action-move': DoAnyPhaseArg;
'interactions:after-action-move': DoAnyPhaseArg;
'interactions:before-action-end': Omit<DoAnyPhaseArg, 'iEvent'>;
'interactions:action-end': DoAnyPhaseArg;
'interactions:after-action-end': DoAnyPhaseArg;
'interactions:stop': {

@@ -93,3 +92,3 @@ interaction: Interaction;

export declare type _InteractionProxy = Pick<Interaction, keyof typeof _ProxyValues | keyof typeof _ProxyMethods>;
export declare class Interaction<T extends ActionName = any> {
export declare class Interaction<T extends ActionName = ActionName> {
interactable: Interactable;

@@ -112,7 +111,7 @@ element: Interact.Element;

_latestPointer: {
pointer: Interact.EventTarget;
pointer: Interact.PointerType;
event: Interact.PointerEventType;
eventTarget: Node;
};
prevEvent: InteractEvent<T>;
prevEvent: InteractEvent<T, EventPhase>;
pointerIsDown: boolean;

@@ -169,3 +168,3 @@ pointerWasMoved: boolean;

*/
start(action: StartAction, interactable: Interactable, element: Interact.Element): boolean;
start(action: StartAction, interactable: Interactable, element: Interact.Element): any;
pointerMove(pointer: Interact.PointerType, event: Interact.PointerEventType, eventTarget: Interact.EventTarget): void;

@@ -220,6 +219,6 @@ /**

destroy(): void;
_createPreparedEvent(event: Interact.PointerEventType, phase: EventPhase, preEnd?: boolean, type?: string): InteractEvent<T, EventPhase>;
_fireEvent(iEvent: InteractEvent): void;
_doPhase(signalArg: Omit<DoPhaseArg, 'iEvent'> & {
iEvent?: InteractEvent<T>;
_createPreparedEvent<P extends EventPhase>(event: Interact.PointerEventType, phase: P, preEnd?: boolean, type?: string): InteractEvent<T, P>;
_fireEvent<P extends EventPhase>(iEvent: InteractEvent<T, P>): void;
_doPhase<P extends EventPhase>(signalArg: Omit<DoPhaseArg<T, P>, 'iEvent'> & {
iEvent?: InteractEvent<T, P>;
}): boolean;

@@ -226,0 +225,0 @@ _now(): number;

function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
import * as utils from "../utils/index.js";
import InteractEvent, { EventPhase } from "./InteractEvent.js";
import InteractEvent from "./InteractEvent.js";
import PointerInfo from "./PointerInfo.js";
import { ActionName } from "./scope.js";
export let _ProxyValues;

@@ -143,2 +142,3 @@

const pointerIndex = this.updatePointer(pointer, event, eventTarget, true);
const pointerInfo = this.pointers[pointerIndex];

@@ -150,2 +150,3 @@ this._scopeFire('interactions:down', {

pointerIndex,
pointerInfo,
type: 'down',

@@ -189,3 +190,3 @@ interaction: this

start(action, interactable, element) {
if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === ActionName.Gesture ? 2 : 1) || !interactable.options[action.name].enabled) {
if (this.interacting() || !this.pointerIsDown || this.pointers.length < (action.name === 'gesture' ? 2 : 1) || !interactable.options[action.name].enabled) {
return false;

@@ -198,3 +199,8 @@ }

this.rect = interactable.getRect(element);
this.edges = utils.extend({}, this.prepared.edges);
this.edges = this.prepared.edges ? utils.extend({}, this.prepared.edges) : {
left: true,
right: true,
top: true,
bottom: true
};
this._stopped = false;

@@ -204,3 +210,3 @@ this._interacting = this._doPhase({

event: this.downEvent,
phase: EventPhase.Start
phase: 'start'
}) && !this._stopped;

@@ -211,5 +217,4 @@ return this._interacting;

pointerMove(pointer, event, eventTarget) {
if (!this.simulation && !(this.modifiers && this.modifiers.endResult)) {
if (!this.simulation && !(this.modification && this.modification.endResult)) {
this.updatePointer(pointer, event, eventTarget, false);
utils.pointer.setCoords(this.coords.cur, this.pointers.map(p => p.pointer), this._now());
}

@@ -227,5 +232,7 @@

const pointerIndex = this.getPointerIndex(pointer);
const signalArg = {
pointer,
pointerIndex: this.getPointerIndex(pointer),
pointerIndex,
pointerInfo: this.pointers[pointerIndex],
event,

@@ -242,3 +249,2 @@ type: 'move',

// set pointer coordinate, time changes and velocity
utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);
utils.pointer.setCoordVelocity(this.coords.velocity, this.coords.delta);

@@ -249,3 +255,3 @@ }

if (!duplicateMove) {
if (!duplicateMove && !this.simulation) {
// if interacting, fire an 'action-move' signal etc

@@ -293,3 +299,3 @@ if (this.interacting()) {

}, signalArg || {});
signalArg.phase = EventPhase.Move;
signalArg.phase = 'move';

@@ -312,2 +318,3 @@ this._doPhase(signalArg);

pointerIndex,
pointerInfo: this.pointers[pointerIndex],
event,

@@ -364,3 +371,3 @@ eventTarget,

interaction: this,
phase: EventPhase.End
phase: 'end'
});

@@ -421,13 +428,15 @@ }

utils.pointer.setCoords(this.coords.cur, this.pointers.map(p => p.pointer), this._now());
utils.pointer.setCoordDeltas(this.coords.delta, this.coords.prev, this.coords.cur);
if (down) {
this.pointerIsDown = true;
pointerInfo.downTime = this.coords.cur.timeStamp;
pointerInfo.downTarget = eventTarget;
utils.pointer.pointerExtend(this.downPointer, pointer);
if (!this.interacting()) {
utils.pointer.setCoords(this.coords.start, this.pointers.map(p => p.pointer), this._now());
utils.pointer.copyCoords(this.coords.cur, this.coords.start);
utils.pointer.copyCoords(this.coords.prev, this.coords.start);
utils.pointer.pointerExtend(this.downPointer, pointer);
utils.pointer.copyCoords(this.coords.start, this.coords.cur);
utils.pointer.copyCoords(this.coords.prev, this.coords.cur);
this.downEvent = event;
pointerInfo.downTime = this.coords.cur.timeStamp;
pointerInfo.downTarget = eventTarget;
this.pointerWasMoved = false;

@@ -486,4 +495,3 @@ }

_createPreparedEvent(event, phase, preEnd, type) {
const actionName = this.prepared.name;
return new InteractEvent(this, event, actionName, phase, this.element, null, preEnd, type);
return new InteractEvent(this, event, this.prepared.name, phase, this.element, preEnd, type);
}

@@ -507,17 +515,8 @@

const {
rect,
coords: {
delta
}
rect
} = this;
if (rect && phase === EventPhase.Move) {
// update the rect modifications
const edges = this.edges || this.prepared.edges || {
left: true,
right: true,
top: true,
bottom: true
};
utils.rect.addEdges(edges, rect, delta[this.interactable.options.deltaSource]);
if (rect && phase === 'move') {
// update the rect changes due to pointer move
utils.rect.addEdges(this.edges, rect, this.coords.delta[this.interactable.options.deltaSource]);
rect.width = rect.right - rect.left;

@@ -524,0 +523,0 @@ rect.height = rect.bottom - rect.top;

@@ -13,7 +13,7 @@ export interface SearchDetails {

search(details: SearchDetails): any;
simulationResume({ pointerType, eventType, eventTarget, scope }: SearchDetails): import("@interactjs/core/Interaction").Interaction<any>;
simulationResume({ pointerType, eventType, eventTarget, scope }: SearchDetails): import("@interactjs/core/Interaction").Interaction<"resize" | "drag" | "drop" | "gesture">;
mouseOrPen({ pointerId, pointerType, eventType, scope }: SearchDetails): any;
hasPointer({ pointerId, scope }: SearchDetails): import("@interactjs/core/Interaction").Interaction<any>;
idle({ pointerType, scope }: SearchDetails): import("@interactjs/core/Interaction").Interaction<any>;
hasPointer({ pointerId, scope }: SearchDetails): import("@interactjs/core/Interaction").Interaction<"resize" | "drag" | "drop" | "gesture">;
idle({ pointerType, scope }: SearchDetails): import("@interactjs/core/Interaction").Interaction<"resize" | "drag" | "drop" | "gesture">;
};
export default finder;

@@ -8,3 +8,3 @@ import InteractionBase from './Interaction';

interactions: {
new: (options: any) => InteractionBase;
new: <T extends ActionName>(options: any) => InteractionBase<T>;
list: InteractionBase[];

@@ -11,0 +11,0 @@ listeners: {

{
"name": "@interactjs/core",
"version": "1.8.4",
"version": "1.8.5",
"license": "MIT",
"peerDependencies": {
"@interactjs/dev-tools": "1.8.4",
"@interactjs/utils": "1.8.4"
"@interactjs/dev-tools": "1.8.5",
"@interactjs/utils": "1.8.5"
},
"devDependencies": {
"@interactjs/_dev": "1.8.4",
"@interactjs/actions": "1.8.4",
"@interactjs/auto-start": "1.8.4"
"@interactjs/_dev": "1.8.5",
"@interactjs/actions": "1.8.5",
"@interactjs/auto-start": "1.8.5"
},

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

},
"gitHead": "bb6d3695"
"gitHead": "1cc6d94c"
}

@@ -6,3 +6,3 @@ import * as utils from '@interactjs/utils/index';

import InteractableSet from './InteractableSet';
import InteractEvent from './InteractEvent';
import InteractEvent, { PhaseMap } from './InteractEvent';
export interface SignalArgs {

@@ -34,10 +34,14 @@ 'scope:add-document': DocSignalArg;

}
export declare enum ActionName {
export interface ActionMap {
}
export declare type ActionName = keyof ActionMap;
export interface Actions {
names: ActionName[];
map: ActionMap;
phases: PhaseMap;
methodDict: {
[key: string]: string;
[P in ActionName]?: string;
};
eventTypes: string[];
phaselessTypes: {
[type: string]: true;
};
}

@@ -139,3 +143,4 @@ export declare function createScope(): Scope;

}
export declare function isNonNativeEvent(type: string, actions: Actions): boolean;
export declare function initScope(scope: Scope, window: Window): Scope;
export {};

@@ -16,7 +16,4 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }

events
} = utils;
export let ActionName;
} = utils; // eslint-disable-next-line @typescript-eslint/no-empty-interface
(function (ActionName) {})(ActionName || (ActionName = {}));
export function createScope() {

@@ -46,5 +43,10 @@ return new Scope();

_defineProperty(this, "actions", {
names: [],
map: {},
phases: {
start: true,
move: true,
end: true
},
methodDict: {},
eventTypes: []
phaselessTypes: {}
});

@@ -249,2 +251,15 @@

}
export function isNonNativeEvent(type, actions) {
if (actions.phaselessTypes[type]) {
return true;
}
for (const name in actions.map) {
if (type.indexOf(name) === 0 && type.substr(name.length) in actions.phases) {
return true;
}
}
return false;
}
export function initScope(scope, window) {

@@ -251,0 +266,0 @@ win.init(window);

@@ -72,3 +72,3 @@ import * as utils from '@interactjs/utils/index';

scope: import("@interactjs/core/scope").Scope;
interaction: import("@interactjs/core/Interaction").Interaction<any>;
interaction: import("@interactjs/core/Interaction").Interaction<"resize" | "drag" | "drop" | "gesture">;
target: T;

@@ -133,3 +133,3 @@ interactable: import("@interactjs/core/Interactable").Interactable;

readonly buttons: any;
} & MouseEvent & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & MouseEvent & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow">) | ({
coords: utils.pointer.MockCoords;

@@ -204,3 +204,3 @@ readonly page: any;

readonly buttons: any;
} & Touch & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & Touch & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow">) | ({
coords: utils.pointer.MockCoords;

@@ -275,3 +275,3 @@ readonly page: any;

readonly buttons: any;
} & PointerEvent & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & PointerEvent & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow">) | ({
coords: utils.pointer.MockCoords;

@@ -346,3 +346,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/pointer-events/PointerEvent").default<any> & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & import("@interactjs/pointer-events/PointerEvent").default<any> & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow">) | ({
coords: utils.pointer.MockCoords;

@@ -375,3 +375,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & MouseEvent) | ({
} & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow"> & MouseEvent) | ({
coords: utils.pointer.MockCoords;

@@ -390,3 +390,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & PointerEvent) | ({
} & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow"> & PointerEvent) | ({
coords: utils.pointer.MockCoords;

@@ -405,3 +405,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & import("@interactjs/pointer-events/PointerEvent").default<any>) | ({
} & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow"> & import("@interactjs/pointer-events/PointerEvent").default<any>) | ({
coords: utils.pointer.MockCoords;

@@ -420,3 +420,3 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any>) | ({
} & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow">) | ({
coords: utils.pointer.MockCoords;

@@ -435,4 +435,4 @@ readonly page: any;

readonly buttons: any;
} & import("@interactjs/core/InteractEvent").InteractEvent<any, any> & TouchEvent);
start: (action: import("@interactjs/core/Interaction").ActionProps<any>) => boolean;
} & import("@interactjs/core/InteractEvent").InteractEvent<never, "end" | "resume" | "start" | "move" | "inertiastart" | "reflow"> & TouchEvent);
start: (action: import("@interactjs/core/Interaction").ActionProps<any>) => any;
stop: () => void;

@@ -439,0 +439,0 @@ down: () => void;

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