Commit 8f151ff
feat(0.81): handle right clicks properly (#2900)
## Summary
Backport of #2885 to 0.81-stable.
- Add `onAuxClick` event for right-click and middle-click handling on
macOS
- Add `onClick` event for left single-click on plain Views
- Fix `onAuxClick` prop registration in iterator-based setProp path
- Override `rightMouseDown:` to prevent context menu modal from stealing
`rightMouseUp:`
- Add `otherMouseDown:`/`otherMouseUp:` for middle-click support
- Prevent Pressable visual press feedback on non-primary mouse buttons
- Align with upstream facebook#56298 (shared cross-platform
changes)
## Test plan
- Left-click on View → fires `onClick` with `button=0`
- Double-click on View → fires `onDoubleClick` with `button=0`
- Right-click on View → fires `onAuxClick` with `button=2`
- Middle-click on View → fires `onAuxClick` with `button=1`
- Right-click on Pressable → fires `onAuxClick`, does NOT trigger
`onPress` or visual press state
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>1 parent 1efe66b commit 8f151ff
File tree
21 files changed
+303
-8
lines changed- docsite/api
- packages
- react-native
- Libraries
- Components/View
- NativeComponent
- Pressability
- ReactCommon/react/renderer/components/view
- platform/macos/react/renderer/components/view
- React
- Fabric
- Mounting/ComponentViews/View
- Views
- rn-tester/js/examples
- Pressable
- View
21 files changed
+303
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
129 | 157 | | |
130 | 158 | | |
131 | 159 | | |
| |||
139 | 167 | | |
140 | 168 | | |
141 | 169 | | |
| 170 | + | |
142 | 171 | | |
143 | 172 | | |
144 | 173 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
47 | 48 | | |
48 | 49 | | |
49 | 50 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| 138 | + | |
| 139 | + | |
138 | 140 | | |
139 | 141 | | |
140 | 142 | | |
| |||
Lines changed: 8 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
92 | 98 | | |
93 | 99 | | |
94 | 100 | | |
| |||
394 | 400 | | |
395 | 401 | | |
396 | 402 | | |
| 403 | + | |
| 404 | + | |
397 | 405 | | |
398 | 406 | | |
399 | 407 | | |
| |||
Lines changed: 38 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
413 | 423 | | |
414 | 424 | | |
415 | 425 | | |
| |||
554 | 564 | | |
555 | 565 | | |
556 | 566 | | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
557 | 574 | | |
558 | 575 | | |
559 | 576 | | |
| |||
791 | 808 | | |
792 | 809 | | |
793 | 810 | | |
794 | | - | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
795 | 817 | | |
796 | 818 | | |
797 | 819 | | |
798 | 820 | | |
799 | 821 | | |
800 | 822 | | |
801 | 823 | | |
802 | | - | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
803 | 832 | | |
804 | 833 | | |
805 | 834 | | |
806 | 835 | | |
807 | 836 | | |
808 | 837 | | |
809 | 838 | | |
810 | | - | |
| 839 | + | |
811 | 840 | | |
812 | 841 | | |
813 | 842 | | |
814 | 843 | | |
815 | | - | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
816 | 850 | | |
817 | 851 | | |
818 | 852 | | |
| |||
Lines changed: 61 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2031 | 2031 | | |
2032 | 2032 | | |
2033 | 2033 | | |
| 2034 | + | |
2034 | 2035 | | |
| 2036 | + | |
2035 | 2037 | | |
2036 | 2038 | | |
2037 | | - | |
| 2039 | + | |
2038 | 2040 | | |
2039 | 2041 | | |
2040 | 2042 | | |
| |||
2054 | 2056 | | |
2055 | 2057 | | |
2056 | 2058 | | |
| 2059 | + | |
2057 | 2060 | | |
2058 | 2061 | | |
2059 | 2062 | | |
| |||
2065 | 2068 | | |
2066 | 2069 | | |
2067 | 2070 | | |
| 2071 | + | |
| 2072 | + | |
| 2073 | + | |
| 2074 | + | |
2068 | 2075 | | |
2069 | 2076 | | |
2070 | 2077 | | |
| 2078 | + | |
| 2079 | + | |
| 2080 | + | |
| 2081 | + | |
2071 | 2082 | | |
2072 | 2083 | | |
2073 | 2084 | | |
| 2085 | + | |
| 2086 | + | |
| 2087 | + | |
| 2088 | + | |
| 2089 | + | |
2074 | 2090 | | |
2075 | 2091 | | |
2076 | 2092 | | |
| |||
2185 | 2201 | | |
2186 | 2202 | | |
2187 | 2203 | | |
| 2204 | + | |
2188 | 2205 | | |
2189 | | - | |
| 2206 | + | |
| 2207 | + | |
| 2208 | + | |
2190 | 2209 | | |
2191 | 2210 | | |
2192 | 2211 | | |
2193 | 2212 | | |
| 2213 | + | |
| 2214 | + | |
| 2215 | + | |
| 2216 | + | |
| 2217 | + | |
| 2218 | + | |
| 2219 | + | |
| 2220 | + | |
| 2221 | + | |
| 2222 | + | |
| 2223 | + | |
| 2224 | + | |
| 2225 | + | |
| 2226 | + | |
| 2227 | + | |
| 2228 | + | |
| 2229 | + | |
| 2230 | + | |
| 2231 | + | |
| 2232 | + | |
| 2233 | + | |
| 2234 | + | |
| 2235 | + | |
| 2236 | + | |
| 2237 | + | |
| 2238 | + | |
| 2239 | + | |
| 2240 | + | |
| 2241 | + | |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
| 2250 | + | |
| 2251 | + | |
| 2252 | + | |
2194 | 2253 | | |
2195 | 2254 | | |
2196 | 2255 | | |
| |||
Lines changed: 6 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
703 | 703 | | |
704 | 704 | | |
705 | 705 | | |
706 | | - | |
707 | | - | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
708 | 712 | | |
709 | 713 | | |
710 | 714 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
145 | 145 | | |
146 | 146 | | |
147 | 147 | | |
| 148 | + | |
148 | 149 | | |
149 | 150 | | |
150 | 151 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
882 | 882 | | |
883 | 883 | | |
884 | 884 | | |
| 885 | + | |
885 | 886 | | |
886 | 887 | | |
887 | 888 | | |
| |||
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
89 | 93 | | |
90 | 94 | | |
91 | 95 | | |
| |||
0 commit comments