Socket
Socket
Sign inDemoInstall

@react-aria/interactions

Package Overview
Dependencies
Maintainers
2
Versions
749
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-aria/interactions - npm Package Compare versions

Comparing version 3.21.3 to 3.22.0

10

dist/types.d.ts

@@ -1,3 +0,3 @@

import { DOMAttributes, PressEvents, FocusableElement, FocusEvents, HoverEvents, KeyboardEvents, MoveEvents, ScrollEvents, LongPressEvent } from "@react-types/shared";
import React, { RefObject, ReactElement, ReactNode, FocusEvent } from "react";
import { DOMAttributes, PressEvents, RefObject, FocusableElement, FocusEvents, HoverEvents, KeyboardEvents, MoveEvents, ScrollEvents, LongPressEvent } from "@react-types/shared";
import React, { ReactElement, ReactNode, FocusEvent } from "react";
export interface PressProps extends PressEvents {

@@ -22,3 +22,3 @@ /** Whether the target is in a controlled press state (e.g. an overlay it triggers is open). */

/** A ref to the target element. */
ref?: RefObject<Element>;
ref?: RefObject<Element | null>;
}

@@ -144,3 +144,3 @@ export interface PressResult {

export interface InteractOutsideProps {
ref: RefObject<Element>;
ref: RefObject<Element | null>;
onInteractOutside?: (e: PointerEvent) => void;

@@ -182,3 +182,3 @@ onInteractOutsideStart?: (e: PointerEvent) => void;

}
export function useScrollWheel(props: ScrollWheelProps, ref: RefObject<HTMLElement>): void;
export function useScrollWheel(props: ScrollWheelProps, ref: RefObject<HTMLElement | null>): void;
export interface LongPressProps {

@@ -185,0 +185,0 @@ /** Whether long press events should be disabled. */

@@ -27,3 +27,3 @@ var $0294ea432cd92340$exports = require("./usePress.main.js");

let { isDisabled: isDisabled, onLongPressStart: onLongPressStart, onLongPressEnd: onLongPressEnd, onLongPress: onLongPress, threshold: threshold = $3cd7b5d0eebf0ca9$var$DEFAULT_THRESHOLD, accessibilityDescription: accessibilityDescription } = props;
const timeRef = (0, $5sxTM$react.useRef)();
const timeRef = (0, $5sxTM$react.useRef)(undefined);
let { addGlobalListener: addGlobalListener, removeGlobalListener: removeGlobalListener } = (0, $5sxTM$reactariautils.useGlobalListeners)();

@@ -30,0 +30,0 @@ let { pressProps: pressProps } = (0, $0294ea432cd92340$exports.usePress)({

@@ -21,3 +21,3 @@ import {usePress as $f6c31cce2adf654f$export$45712eceda6fad21} from "./usePress.module.js";

let { isDisabled: isDisabled, onLongPressStart: onLongPressStart, onLongPressEnd: onLongPressEnd, onLongPress: onLongPress, threshold: threshold = $8a26561d2877236e$var$DEFAULT_THRESHOLD, accessibilityDescription: accessibilityDescription } = props;
const timeRef = (0, $4k2kv$useRef)();
const timeRef = (0, $4k2kv$useRef)(undefined);
let { addGlobalListener: addGlobalListener, removeGlobalListener: removeGlobalListener } = (0, $4k2kv$useGlobalListeners)();

@@ -24,0 +24,0 @@ let { pressProps: pressProps } = (0, $f6c31cce2adf654f$export$45712eceda6fad21)({

@@ -55,3 +55,3 @@ var $f7e14e656343df57$exports = require("./textSelection.main.js");

}
constructor(type, pointerType, originalEvent){
constructor(type, pointerType, originalEvent, state){
(0, $bBqCQ$swchelperscjs_class_private_field_initcjs._)(this, $0294ea432cd92340$var$_shouldStopPropagation, {

@@ -62,2 +62,20 @@ writable: true,

(0, $bBqCQ$swchelperscjs_class_private_field_setcjs._)(this, $0294ea432cd92340$var$_shouldStopPropagation, true);
var _state_target;
let currentTarget = (_state_target = state === null || state === void 0 ? void 0 : state.target) !== null && _state_target !== void 0 ? _state_target : originalEvent.currentTarget;
const rect = currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.getBoundingClientRect();
let x, y = 0;
let clientX, clientY = null;
if (originalEvent.clientX != null && originalEvent.clientY != null) {
clientX = originalEvent.clientX;
clientY = originalEvent.clientY;
}
if (rect) {
if (clientX != null && clientY != null) {
x = clientX - rect.left;
y = clientY - rect.top;
} else {
x = rect.width / 2;
y = rect.height / 2;
}
}
this.type = type;

@@ -70,2 +88,4 @@ this.pointerType = pointerType;

this.altKey = originalEvent.altKey;
this.x = x;
this.y = y;
}

@@ -395,3 +415,3 @@ }

if (!allowTextSelectionOnPress) (0, $f7e14e656343df57$exports.disableTextSelection)(state.target);
let shouldStopPropagation = triggerPressStart(e, state.pointerType);
let shouldStopPropagation = triggerPressStart($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
if (shouldStopPropagation) e.stopPropagation();

@@ -411,8 +431,8 @@ addGlobalListener((0, $bBqCQ$reactariautils.getOwnerWindow)(e.currentTarget), 'scroll', onScroll, true);

state.isOverTarget = true;
shouldStopPropagation = triggerPressStart(e, state.pointerType);
shouldStopPropagation = triggerPressStart($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
}
} else if (state.isOverTarget && state.pointerType != null) {
state.isOverTarget = false;
shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
cancelOnPointerExit(e);
shouldStopPropagation = triggerPressEnd($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType, false);
cancelOnPointerExit($0294ea432cd92340$var$createTouchEvent(state.target, e));
}

@@ -430,5 +450,5 @@ if (shouldStopPropagation) e.stopPropagation();

if (touch && $0294ea432cd92340$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {
triggerPressUp(e, state.pointerType);
shouldStopPropagation = triggerPressEnd(e, state.pointerType);
} else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
triggerPressUp($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
shouldStopPropagation = triggerPressEnd($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType);
} else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd($0294ea432cd92340$var$createTouchEvent(state.target, e), state.pointerType, false);
if (shouldStopPropagation) e.stopPropagation();

@@ -445,3 +465,3 @@ state.isPressed = false;

e.stopPropagation();
if (state.isPressed) cancel(e);
if (state.isPressed) cancel($0294ea432cd92340$var$createTouchEvent(state.target, e));
};

@@ -516,3 +536,22 @@ let onScroll = (e)=>{

}
function $0294ea432cd92340$var$createTouchEvent(target, e) {
let clientX = 0;
let clientY = 0;
if (e.targetTouches && e.targetTouches.length === 1) {
clientX = e.targetTouches[0].clientX;
clientY = e.targetTouches[0].clientY;
}
return {
currentTarget: target,
shiftKey: e.shiftKey,
ctrlKey: e.ctrlKey,
metaKey: e.metaKey,
altKey: e.altKey,
clientX: clientX,
clientY: clientY
};
}
function $0294ea432cd92340$var$createEvent(target, e) {
let clientX = e.clientX;
let clientY = e.clientY;
return {

@@ -523,3 +562,5 @@ currentTarget: target,

metaKey: e.metaKey,
altKey: e.altKey
altKey: e.altKey,
clientX: clientX,
clientY: clientY
};

@@ -526,0 +567,0 @@ }

@@ -49,3 +49,3 @@ import {disableTextSelection as $14c0b72509d70225$export$16a4697467175487, restoreTextSelection as $14c0b72509d70225$export$b0d6fa1ab32e3295} from "./textSelection.module.js";

}
constructor(type, pointerType, originalEvent){
constructor(type, pointerType, originalEvent, state){
(0, $7mdmh$_1)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, {

@@ -56,2 +56,20 @@ writable: true,

(0, $7mdmh$_2)(this, $f6c31cce2adf654f$var$_shouldStopPropagation, true);
var _state_target;
let currentTarget = (_state_target = state === null || state === void 0 ? void 0 : state.target) !== null && _state_target !== void 0 ? _state_target : originalEvent.currentTarget;
const rect = currentTarget === null || currentTarget === void 0 ? void 0 : currentTarget.getBoundingClientRect();
let x, y = 0;
let clientX, clientY = null;
if (originalEvent.clientX != null && originalEvent.clientY != null) {
clientX = originalEvent.clientX;
clientY = originalEvent.clientY;
}
if (rect) {
if (clientX != null && clientY != null) {
x = clientX - rect.left;
y = clientY - rect.top;
} else {
x = rect.width / 2;
y = rect.height / 2;
}
}
this.type = type;

@@ -64,2 +82,4 @@ this.pointerType = pointerType;

this.altKey = originalEvent.altKey;
this.x = x;
this.y = y;
}

@@ -389,3 +409,3 @@ }

if (!allowTextSelectionOnPress) (0, $14c0b72509d70225$export$16a4697467175487)(state.target);
let shouldStopPropagation = triggerPressStart(e, state.pointerType);
let shouldStopPropagation = triggerPressStart($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);
if (shouldStopPropagation) e.stopPropagation();

@@ -405,8 +425,8 @@ addGlobalListener((0, $7mdmh$getOwnerWindow)(e.currentTarget), 'scroll', onScroll, true);

state.isOverTarget = true;
shouldStopPropagation = triggerPressStart(e, state.pointerType);
shouldStopPropagation = triggerPressStart($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);
}
} else if (state.isOverTarget && state.pointerType != null) {
state.isOverTarget = false;
shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
cancelOnPointerExit(e);
shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType, false);
cancelOnPointerExit($f6c31cce2adf654f$var$createTouchEvent(state.target, e));
}

@@ -424,5 +444,5 @@ if (shouldStopPropagation) e.stopPropagation();

if (touch && $f6c31cce2adf654f$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {
triggerPressUp(e, state.pointerType);
shouldStopPropagation = triggerPressEnd(e, state.pointerType);
} else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
triggerPressUp($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);
shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType);
} else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEnd($f6c31cce2adf654f$var$createTouchEvent(state.target, e), state.pointerType, false);
if (shouldStopPropagation) e.stopPropagation();

@@ -439,3 +459,3 @@ state.isPressed = false;

e.stopPropagation();
if (state.isPressed) cancel(e);
if (state.isPressed) cancel($f6c31cce2adf654f$var$createTouchEvent(state.target, e));
};

@@ -510,3 +530,22 @@ let onScroll = (e)=>{

}
function $f6c31cce2adf654f$var$createTouchEvent(target, e) {
let clientX = 0;
let clientY = 0;
if (e.targetTouches && e.targetTouches.length === 1) {
clientX = e.targetTouches[0].clientX;
clientY = e.targetTouches[0].clientY;
}
return {
currentTarget: target,
shiftKey: e.shiftKey,
ctrlKey: e.ctrlKey,
metaKey: e.metaKey,
altKey: e.altKey,
clientX: clientX,
clientY: clientY
};
}
function $f6c31cce2adf654f$var$createEvent(target, e) {
let clientX = e.clientX;
let clientY = e.clientY;
return {

@@ -517,3 +556,5 @@ currentTarget: target,

metaKey: e.metaKey,
altKey: e.altKey
altKey: e.altKey,
clientX: clientX,
clientY: clientY
};

@@ -520,0 +561,0 @@ }

{
"name": "@react-aria/interactions",
"version": "3.21.3",
"version": "3.22.0",
"description": "Spectrum UI components in React",

@@ -25,9 +25,9 @@ "license": "Apache-2.0",

"dependencies": {
"@react-aria/ssr": "^3.9.4",
"@react-aria/utils": "^3.24.1",
"@react-types/shared": "^3.23.1",
"@react-aria/ssr": "^3.9.5",
"@react-aria/utils": "^3.25.0",
"@react-types/shared": "^3.24.0",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0"
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
},

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

},
"gitHead": "b77d7d594dff4dcfb5359bffbcfd18142b146433"
"gitHead": "86d80e3216bc32e75108831cf3a5a720bc849206"
}

@@ -13,8 +13,8 @@ /*

import {DOMAttributes} from '@react-types/shared';
import {DOMAttributes, RefObject} from '@react-types/shared';
import {mergeProps, useSyncRef} from '@react-aria/utils';
import React, {MutableRefObject, RefObject, useContext} from 'react';
import React, {MutableRefObject, useContext} from 'react';
interface DOMPropsResponderProps extends DOMAttributes {
ref?: RefObject<Element>
ref?: RefObject<Element | null>
}

@@ -21,0 +21,0 @@

@@ -13,6 +13,6 @@ /*

import {RefObject} from 'react';
import {RefObject} from '@react-types/shared';
import {useDOMPropsResponderContext} from './DOMPropsContext';
export function useDOMPropsResponder(domRef: RefObject<Element>) {
export function useDOMPropsResponder(domRef: RefObject<Element | null>) {

@@ -19,0 +19,0 @@ let domProps = useDOMPropsResponderContext({ref: domRef}) || {};

@@ -207,2 +207,1 @@ /*

}

@@ -19,6 +19,7 @@ /*

import {getOwnerDocument, useEffectEvent} from '@react-aria/utils';
import {RefObject, useEffect, useRef} from 'react';
import {RefObject} from '@react-types/shared';
import {useEffect, useRef} from 'react';
export interface InteractOutsideProps {
ref: RefObject<Element>,
ref: RefObject<Element | null>,
onInteractOutside?: (e: PointerEvent) => void,

@@ -25,0 +26,0 @@ onInteractOutsideStart?: (e: PointerEvent) => void,

@@ -66,3 +66,3 @@ /*

const timeRef = useRef<ReturnType<typeof setTimeout> | undefined>();
const timeRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);
let {addGlobalListener, removeGlobalListener} = useGlobalListeners();

@@ -69,0 +69,0 @@

@@ -20,5 +20,5 @@ /*

import {disableTextSelection, restoreTextSelection} from './textSelection';
import {DOMAttributes, FocusableElement, PressEvent as IPressEvent, PointerType, PressEvents} from '@react-types/shared';
import {DOMAttributes, FocusableElement, PressEvent as IPressEvent, PointerType, PressEvents, RefObject} from '@react-types/shared';
import {PressResponderContext} from './context';
import {RefObject, useContext, useEffect, useMemo, useRef, useState} from 'react';
import {TouchEvent as RTouchEvent, useContext, useEffect, useMemo, useRef, useState} from 'react';

@@ -45,3 +45,3 @@ export interface PressProps extends PressEvents {

/** A ref to the target element. */
ref?: RefObject<Element>
ref?: RefObject<Element | null>
}

@@ -68,3 +68,6 @@

metaKey: boolean,
altKey: boolean
altKey: boolean,
clientX?: number,
clientY?: number,
targetTouches?: Array<{clientX?: number, clientY?: number}>
}

@@ -100,5 +103,24 @@

altKey: boolean;
x: number;
y: number;
#shouldStopPropagation = true;
constructor(type: IPressEvent['type'], pointerType: PointerType, originalEvent: EventBase) {
constructor(type: IPressEvent['type'], pointerType: PointerType, originalEvent: EventBase, state?: PressState) {
let currentTarget = state?.target ?? originalEvent.currentTarget;
const rect: DOMRect | undefined = (currentTarget as Element)?.getBoundingClientRect();
let x, y = 0;
let clientX, clientY: number | null = null;
if (originalEvent.clientX != null && originalEvent.clientY != null) {
clientX = originalEvent.clientX;
clientY = originalEvent.clientY;
}
if (rect) {
if (clientX != null && clientY != null) {
x = clientX - rect.left;
y = clientY - rect.top;
} else {
x = rect.width / 2;
y = rect.height / 2;
}
}
this.type = type;

@@ -111,2 +133,4 @@ this.pointerType = pointerType;

this.altKey = originalEvent.altKey;
this.x = x;
this.y = y;
}

@@ -636,3 +660,3 @@

let shouldStopPropagation = triggerPressStart(e, state.pointerType);
let shouldStopPropagation = triggerPressStart(createTouchEvent(state.target, e), state.pointerType);
if (shouldStopPropagation) {

@@ -660,8 +684,8 @@ e.stopPropagation();

state.isOverTarget = true;
shouldStopPropagation = triggerPressStart(e, state.pointerType);
shouldStopPropagation = triggerPressStart(createTouchEvent(state.target!, e), state.pointerType);
}
} else if (state.isOverTarget && state.pointerType != null) {
state.isOverTarget = false;
shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
cancelOnPointerExit(e);
shouldStopPropagation = triggerPressEnd(createTouchEvent(state.target!, e), state.pointerType, false);
cancelOnPointerExit(createTouchEvent(state.target!, e));
}

@@ -687,6 +711,6 @@

if (touch && isOverTarget(touch, e.currentTarget) && state.pointerType != null) {
triggerPressUp(e, state.pointerType);
shouldStopPropagation = triggerPressEnd(e, state.pointerType);
triggerPressUp(createTouchEvent(state.target!, e), state.pointerType);
shouldStopPropagation = triggerPressEnd(createTouchEvent(state.target!, e), state.pointerType);
} else if (state.isOverTarget && state.pointerType != null) {
shouldStopPropagation = triggerPressEnd(e, state.pointerType, false);
shouldStopPropagation = triggerPressEnd(createTouchEvent(state.target!, e), state.pointerType, false);
}

@@ -715,3 +739,3 @@

if (state.isPressed) {
cancel(e);
cancel(createTouchEvent(state.target!, e));
}

@@ -814,3 +838,23 @@ };

function createTouchEvent(target: FocusableElement, e: RTouchEvent<FocusableElement>): EventBase {
let clientX = 0;
let clientY = 0;
if (e.targetTouches && e.targetTouches.length === 1) {
clientX = e.targetTouches[0].clientX;
clientY = e.targetTouches[0].clientY;
}
return {
currentTarget: target,
shiftKey: e.shiftKey,
ctrlKey: e.ctrlKey,
metaKey: e.metaKey,
altKey: e.altKey,
clientX,
clientY
};
}
function createEvent(target: FocusableElement, e: EventBase): EventBase {
let clientX = e.clientX;
let clientY = e.clientY;
return {

@@ -821,3 +865,5 @@ currentTarget: target,

metaKey: e.metaKey,
altKey: e.altKey
altKey: e.altKey,
clientX,
clientY
};

@@ -824,0 +870,0 @@ }

@@ -13,4 +13,4 @@ /*

import {RefObject, useCallback} from 'react';
import {ScrollEvents} from '@react-types/shared';
import {RefObject, ScrollEvents} from '@react-types/shared';
import {useCallback} from 'react';
import {useEvent} from '@react-aria/utils';

@@ -24,3 +24,3 @@

// scroll wheel needs to be added not passively so it's cancelable, small helper hook to remember that
export function useScrollWheel(props: ScrollWheelProps, ref: RefObject<HTMLElement>): void {
export function useScrollWheel(props: ScrollWheelProps, ref: RefObject<HTMLElement | null>): void {
let {onScroll, isDisabled} = props;

@@ -27,0 +27,0 @@ let onScrollHandler = useCallback((e) => {

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

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