about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2024-03-12 19:10:44 -0500
committerGitHub <noreply@github.com>2024-03-12 19:10:44 -0500
commit5c771050bc3a807fb45abbf47af823e0ea69cf81 (patch)
treee64fef37d725dd7ed9ca4ca97b8d81fcdde2cf33
parent9f2f7f221c10e89916e6e8761623fbf1281eec77 (diff)
downloadvoidsky-5c771050bc3a807fb45abbf47af823e0ea69cf81.tar.zst
Fix sensitivity while scrolling (#3190)
-rw-r--r--src/components/Menu/index.web.tsx4
-rw-r--r--src/components/Menu/types.ts5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/components/Menu/index.web.tsx b/src/components/Menu/index.web.tsx
index 2004ee7c6..47193bce0 100644
--- a/src/components/Menu/index.web.tsx
+++ b/src/components/Menu/index.web.tsx
@@ -119,6 +119,10 @@ export function Trigger({children, label}: TriggerProps) {
             },
             props: {
               ...props,
+              // disable on web, use `onPress`
+              onPointerDown: () => false,
+              onPress: () =>
+                control.isOpen ? control.close() : control.open(),
               onFocus: onFocus,
               onBlur: onBlur,
               onMouseEnter,
diff --git a/src/components/Menu/types.ts b/src/components/Menu/types.ts
index 7d04a3344..e710971ee 100644
--- a/src/components/Menu/types.ts
+++ b/src/components/Menu/types.ts
@@ -23,6 +23,10 @@ export type RadixPassThroughTriggerProps = {
   ['aria-haspopup']?: boolean
   ['aria-expanded']?: AccessibilityProps['aria-expanded']
   onKeyDown: (e: React.KeyboardEvent) => void
+  /**
+   * Radix provides this, but we override on web to use `onPress` instead,
+   * which is less sensitive while scrolling.
+   */
   onPointerDown: PressableProps['onPointerDown']
 }
 export type TriggerProps = {
@@ -69,6 +73,7 @@ export type TriggerChildProps =
         pressed: false
       }
       props: RadixPassThroughTriggerProps & {
+        onPress: () => void
         onFocus: () => void
         onBlur: () => void
         onMouseEnter: () => void