Skip to content

Commit 5e52008

Browse files
committed
feat: support setting object.defaultPointerEvents for setting the defaultPointerEvents to "auto" for user interfaces to replicate html pointer events behavior
1 parent e966f0f commit 5e52008

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

packages/pointer-events/src/intersections/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export function intersectPointerEventTargets(
5959
parentPointerEventsOrder?: number,
6060
): void {
6161
const hasListener = parentHasListener || hasObjectListeners(object)
62-
const pointerEvents = object.pointerEvents ?? parentPointerEvents ?? 'listener'
62+
const pointerEvents = object.pointerEvents ?? parentPointerEvents ?? object.defaultPointerEvents ?? 'listener'
6363
const pointerEventsType = object.pointerEventsType ?? parentPointerEventsType ?? 'all'
6464
const pointerEventsOrder = object.pointerEventsOrder ?? parentPointerEventsOrder ?? 0
6565

packages/pointer-events/src/pointer.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@ declare module 'three' {
2727
interface Object3D {
2828
_listeners?: Record<string, Array<(event: unknown) => void> | undefined>
2929
/**
30-
* @default "listener"
30+
* @default parent.pointerEvents ?? this.defaultPointerEvents
3131
*/
3232
pointerEvents?: AllowedPointerEvents
33+
/**
34+
* @default "listener"
35+
*/
36+
defaultPointerEvents?: AllowedPointerEvents
3337
/**
3438
* @default "all"
3539
*/

0 commit comments

Comments
 (0)