New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@pmndrs/pointer-events

Package Overview
Dependencies
Maintainers
0
Versions
55
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pmndrs/pointer-events - npm Package Compare versions

Comparing version 6.2.7 to 6.2.8

1

dist/intersections/index.d.ts

@@ -29,3 +29,2 @@ import { Intersection as ThreeIntersection, Quaternion, Vector3 } from 'three';

export type IntersectionOptions = {
customFilter?: (intersection: ThreeIntersection) => boolean;
/**

@@ -32,0 +31,0 @@ * @returns a negative number if i1 should be sorted before i2

2

dist/intersections/intersector.d.ts

@@ -10,4 +10,4 @@ import { Object3D, Intersection as ThreeIntersection } from 'three';

protected abstract prepareIntersection(nativeEvent: unknown): boolean;
abstract executeIntersection(object: Object3D, objectPointerEventsOrder: number | undefined): void;
abstract executeIntersection(object: Object3D, objectPointerEventsOrder: number): void;
abstract finalizeIntersection(): Intersection | undefined;
}

@@ -107,3 +107,2 @@ import { Matrix4, Plane, Quaternion, Raycaster, Vector3, Vector2, } from 'three';

computeIntersectionWorldPlane(this.viewPlane, intersection, object);
const pointOnFace = this.raycaster.ray.intersectPlane(this.viewPlane, new Vector3()) ?? point;
return {

@@ -113,3 +112,3 @@ ...intersection,

point,
pointOnFace,
pointOnFace: point,
pointerPosition: this.fromPosition.clone(),

@@ -116,0 +115,0 @@ pointerQuaternion: this.fromQuaternion.clone(),

@@ -10,2 +10,2 @@ import { Plane, Intersection as ThreeIntersection, Object3D } from 'three';

*/
export declare function getDominantIntersectionIndex<T extends ThreeIntersection>(i1: T | undefined, pointerEventsOrder1: number | undefined, i2: Array<T>, pointerEventsOrder2: number | undefined, { customFilter, customSort: compare }?: IntersectionOptions): number | undefined;
export declare function getDominantIntersectionIndex<T extends ThreeIntersection>(i1: T | undefined, pointerEventsOrder1: number | undefined, i2: Array<T>, pointerEventsOrder2: number | undefined, { customSort: compare }?: IntersectionOptions): number | undefined;
import { hasObjectListeners } from '../utils.js';
export function computeIntersectionWorldPlane(target, intersection, object) {
if (intersection.face == null) {
const normal = intersection.normal ?? intersection.face?.normal;
if (normal == null) {
return false;
}
target.setFromNormalAndCoplanarPoint(intersection.face.normal, intersection.localPoint);
target.setFromNormalAndCoplanarPoint(normal, intersection.localPoint);
target.applyMatrix4(object.matrixWorld);

@@ -45,3 +46,3 @@ return true;

const pointerEventsType = object.pointerEventsType ?? parentPointerEventsType ?? 'all';
const pointerEventsOrder = object.pointerEventsOrder ?? parentPointerEventsOrder;
const pointerEventsOrder = object.pointerEventsOrder ?? parentPointerEventsOrder ?? 0;
const isAllowed = isPointerEventsAllowed(hasListener, pointerEvents, pointerEventsType);

@@ -51,3 +52,3 @@ const length = pointers.length;

for (let i = 0; i < length; i++) {
pointers[i].intersector.executeIntersection(object, pointerEventsOrder);
filterAndInteresct(pointers[i], object, pointerEvents, pointerEventsType, pointerEventsOrder);
}

@@ -61,3 +62,3 @@ }

}
pointers[i].intersector.executeIntersection(object, pointerEventsOrder);
filterAndInteresct(pointer, object, pointerEvents, pointerEventsType, pointerEventsOrder);
}

@@ -70,2 +71,8 @@ }

}
function filterAndInteresct({ intersector, options }, object, pointerEvents, pointerEventsType, pointerEventsOrder) {
if (options.filter != null && !options.filter(object, pointerEvents, pointerEventsType, pointerEventsOrder)) {
return;
}
intersector.executeIntersection(object, pointerEventsOrder);
}
/**

@@ -75,3 +82,3 @@ * @returns undefined if `i1` is the dominant intersection

*/
export function getDominantIntersectionIndex(i1, pointerEventsOrder1, i2, pointerEventsOrder2, { customFilter, customSort: compare = defaultSort } = {}) {
export function getDominantIntersectionIndex(i1, pointerEventsOrder1, i2, pointerEventsOrder2, { customSort: compare = defaultSort } = {}) {
let index = undefined;

@@ -81,5 +88,2 @@ const length = i2.length;

const intersection = i2[i];
if (!(customFilter?.(intersection) ?? true)) {
continue;
}
if (i1 == null || compare(i1, pointerEventsOrder1, intersection, pointerEventsOrder2) > 0) {

@@ -86,0 +90,0 @@ i1 = intersection;

@@ -52,2 +52,7 @@ import { Object3D } from 'three';

contextMenuButton?: number;
/**
* filtering the intersectable objects
* @default undefined
*/
filter?: (object: Object3D, pointerEvents: AllowedPointerEvents, pointerEventsType: AllowedPointerEventsType, pointerEventsOrder: number) => boolean;
};

@@ -70,3 +75,3 @@ declare module 'three' {

private readonly parentReleasePointerCapture?;
private readonly options;
readonly options: PointerOptions;
private prevIntersection;

@@ -73,0 +78,0 @@ private intersection;

import { BufferAttribute, Matrix4, Triangle, Vector2, Vector3 } from 'three';
export function hasObjectListeners({ _listeners, __r3f }) {
if (_listeners != null && Object.keys(_listeners).length > 0) {
return true;
}
if (__r3f != null && __r3f?.eventCount > 0) {
return true;
}
if (_listeners == null) {
return false;
}
const entries = Object.entries(_listeners);
const length = entries.length;
for (let i = 0; i < length; i++) {
const entry = entries[i];
if (!listenerNames.includes(entry[0])) {
continue;
}
if (entry[1] != null && entry[1].length > 0) {
return true;
}
}
return false;

@@ -39,2 +50,3 @@ }

};
const listenerNames = Object.keys(r3fEventToHandlerMap);
const triangleHelper1 = new Triangle();

@@ -41,0 +53,0 @@ const triangleHelper2 = new Triangle();

@@ -5,3 +5,3 @@ {

"license": "SEE LICENSE IN LICENSE",
"version": "6.2.7",
"version": "6.2.8",
"homepage": "https://github.com/pmndrs/xr",

@@ -8,0 +8,0 @@ "author": "Bela Bohlender",

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