From e146a5253bdbbb471b4a2850da873e3ab3f0986b Mon Sep 17 00:00:00 2001 From: Ana Vicente Date: Thu, 2 Jan 2025 16:05:51 +0000 Subject: [PATCH] fix: add event listener options --- src/Spline.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Spline.tsx b/src/Spline.tsx index 1c1477b..211fb6e 100644 --- a/src/Spline.tsx +++ b/src/Spline.tsx @@ -64,42 +64,52 @@ const Spline = forwardRef( const events: { name: SplineEventName; cb?: (e: SplineEvent) => void; + options: AddEventListenerOptions; }[] = [ { name: 'mouseDown', cb: onSplineMouseDown, + options: {}, }, { name: 'mouseUp', cb: onSplineMouseUp, + options: {}, }, { name: 'mouseHover', cb: onSplineMouseHover, + options: {}, }, { name: 'keyDown', cb: onSplineKeyDown, + options: {}, }, { name: 'keyUp', cb: onSplineKeyUp, + options: {}, }, { name: 'start', cb: onSplineStart, + options: {}, }, { name: 'lookAt', cb: onSplineLookAt, + options: { passive: true }, }, { name: 'follow', cb: onSplineFollow, + options: { passive: true }, }, { name: 'scroll', cb: onSplineScroll, + options: { passive: true }, }, ]; @@ -111,7 +121,8 @@ const Spline = forwardRef( for (let event of events) { if (event.cb) { - speApp.addEventListener(event.name, event.cb); + // @ts-expect-error: @splinetool/runtime doesn't have types for addEventListener options + speApp.addEventListener(event.name, event.cb, event.options); } } @@ -127,7 +138,8 @@ const Spline = forwardRef( return () => { for (let event of events) { if (event.cb) { - speApp.removeEventListener(event.name, event.cb); + // @ts-expect-error: @splinetool/runtime doesn't have types for addEventListener options + speApp.removeEventListener(event.name, event.cb, event.options); } } speApp.dispose();