react-native-gesture-handler 3.4.0-nightly-20261015-66a032add → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -662,9 +662,12 @@ class GestureHandlerOrchestrator(
662
662
  }
663
663
 
664
664
  // if the pointer is inside the view but it overflows its parent, handlers attached to the parent
665
- // might not have been extracted (pointer might be in a child, but may be outside parent)
666
- if (coords[0] in 0f..view.width.toFloat() &&
667
- coords[1] in 0f..view.height.toFloat() &&
665
+ // might not have been extracted (pointer might be in a child, but may be outside parent).
666
+ // Checked against the same bounds as the handlers above: a detector frame widened to cover a
667
+ // transformed child overflows its parent, but a pointer in the area the child vacated is not
668
+ // over its content and must not record the ancestors ahead of the views behind it.
669
+ if (boundsX in 0f..boundsView.width.toFloat() &&
670
+ boundsY in 0f..boundsView.height.toFloat() &&
668
671
  isViewOverflowingParent(view) &&
669
672
  extractAncestorHandlers(view, coords, pointerId, event)
670
673
  ) {
@@ -1,9 +1,4 @@
1
- import type {
2
- CodegenTypes,
3
- ColorValue,
4
- HostComponent,
5
- ViewProps,
6
- } from 'react-native';
1
+ import type { CodegenTypes, ColorValue, ViewProps } from 'react-native';
7
2
  import { codegenNativeComponent } from 'react-native';
8
3
 
9
4
  export type ButtonEvent = Readonly<{
@@ -16,7 +11,7 @@ export type ButtonEvent = Readonly<{
16
11
  pointerType: CodegenTypes.Int32;
17
12
  }>;
18
13
 
19
- // @ts-ignore - Redefining pointerEvents with WithDefault for codegen, conflicts with ViewProps type but codegen needs it
14
+ /** @ts-ignore - Redefining pointerEvents with WithDefault for codegen, conflicts with ViewProps type but codegen needs it */
20
15
  interface NativeProps extends ViewProps {
21
16
  // The events are namespaced with `Button` because the base view config on iOS
22
17
  // already registers `topPress` as a bubbling event — a direct event with the
@@ -131,6 +126,4 @@ interface NativeProps extends ViewProps {
131
126
  borderStartStartRadius?: CodegenTypes.UnsafeMixed;
132
127
  }
133
128
 
134
- export default codegenNativeComponent<NativeProps>(
135
- 'RNGestureHandlerButton'
136
- ) as HostComponent<NativeProps>;
129
+ export default codegenNativeComponent<NativeProps>('RNGestureHandlerButton');
@@ -1,4 +1,4 @@
1
- import type { CodegenTypes, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ViewProps } from 'react-native';
2
2
  import { codegenNativeComponent } from 'react-native';
3
3
 
4
4
  type GestureHandlerEvent = Readonly<{
@@ -41,7 +41,7 @@ export interface VirtualChildrenProps {
41
41
  viewTag: CodegenTypes.Int32;
42
42
  }
43
43
 
44
- // @ts-expect-error WithDefault adds `| null` to the type, which doesn't align with ViewProps.pointerEvents
44
+ /** @ts-expect-error WithDefault adds `| null` to the type, which doesn't align with ViewProps.pointerEvents */
45
45
  // Using Exclude to remove null from the type makes the error go away, but breaks codegen.
46
46
  export interface NativeProps extends ViewProps {
47
47
  onGestureHandlerEvent?:
@@ -78,4 +78,4 @@ export interface NativeProps extends ViewProps {
78
78
 
79
79
  export default codegenNativeComponent<NativeProps>('RNGestureHandlerDetector', {
80
80
  interfaceOnly: true,
81
- }) as HostComponent<NativeProps>;
81
+ });
@@ -1,4 +1,4 @@
1
- import type { CodegenTypes, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ViewProps } from 'react-native';
2
2
  import { codegenNativeComponent } from 'react-native';
3
3
 
4
4
  // Publicly accessible type, moduleId is set internally
@@ -6,7 +6,7 @@ export interface RootViewNativeProps extends ViewProps {
6
6
  unstable_forceActive?: boolean;
7
7
  }
8
8
 
9
- // @ts-expect-error WithDefault adds null for codegen, unlike ViewProps.pointerEvents.
9
+ /** @ts-expect-error WithDefault adds null for codegen, unlike ViewProps.pointerEvents. */
10
10
  interface NativeProps extends ViewProps {
11
11
  pointerEvents?: CodegenTypes.WithDefault<
12
12
  'box-none' | 'none' | 'box-only' | 'auto',
@@ -16,6 +16,4 @@ interface NativeProps extends ViewProps {
16
16
  unstable_forceActive?: boolean;
17
17
  }
18
18
 
19
- export default codegenNativeComponent<NativeProps>(
20
- 'RNGestureHandlerRootView'
21
- ) as HostComponent<NativeProps>;
19
+ export default codegenNativeComponent<NativeProps>('RNGestureHandlerRootView');
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import { Children, useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { findNodeHandle, Platform } from 'react-native';
5
5
  import { tagMessage } from '../../../utils';
6
6
  import { isComposedGesture } from '../../hooks/utils/relationUtils';
@@ -10,6 +10,12 @@ import { useNativeGestureRole } from '../useNativeGestureRole';
10
10
  import { InterceptingDetectorMode, useInterceptingDetectorContext } from './useInterceptingDetectorContext';
11
11
  import { Wrap } from './Wrap';
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
+ function getChildName(children) {
14
+ const {
15
+ type
16
+ } = Children.only(children);
17
+ return typeof type === 'string' ? type : type.displayName ?? type.name ?? 'Unknown';
18
+ }
13
19
  function useRequiredInterceptingDetectorContext() {
14
20
  const context = useInterceptingDetectorContext();
15
21
  if (!context) {
@@ -42,6 +48,17 @@ export function VirtualDetector(props) {
42
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
43
49
  [props.children]);
44
50
  useNativeGestureRole(viewRef, props.children);
51
+
52
+ // Dev-only: no host instance after a commit means the child did not hand
53
+ // its `ref` to one. A child that renders null first is reported as well.
54
+ const reportedRef = useRef(false);
55
+ useEffect(() => {
56
+ if (!__DEV__ || reportedRef.current || viewRef.current) {
57
+ return;
58
+ }
59
+ reportedRef.current = true;
60
+ console.error(tagMessage(`VirtualGestureDetector could not attach to its child (${getChildName(props.children)}). The child must be a host view or forward its \`ref\` to one.`));
61
+ });
45
62
  const handlerTags = useMemo(() => isComposedGesture(props.gesture) ? props.gesture.handlerTags : [props.gesture.handlerTag], [props.gesture]);
46
63
  useDetectorAttachmentGuard(handlerTags);
47
64
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","findNodeHandle","Platform","tagMessage","isComposedGesture","useDetectorAttachmentGuard","useGestureRelationsUpdater","useNativeGestureRole","InterceptingDetectorMode","useInterceptingDetectorContext","Wrap","jsx","_jsx","useRequiredInterceptingDetectorContext","context","Error","VirtualDetector","props","register","unregister","setMode","viewRef","viewTag","setViewTag","handleRef","node","current","tag","OS","children","handlerTags","gesture","handlerTag","config","dispatchesAnimatedEvents","shouldUseReanimatedDetector","REANIMATED","virtualChild","methods","detectorCallbacks","undefined","userSelect","touchAction","enableContextMenu","ref"],"sourceRoot":"../../../../../src","sources":["v3/detectors/VirtualDetector/VirtualDetector.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","useCallback","useEffect","useMemo","useRef","useState","findNodeHandle","Platform","tagMessage","isComposedGesture","useDetectorAttachmentGuard","useGestureRelationsUpdater","useNativeGestureRole","InterceptingDetectorMode","useInterceptingDetectorContext","Wrap","jsx","_jsx","getChildName","children","type","only","displayName","name","useRequiredInterceptingDetectorContext","context","Error","VirtualDetector","props","register","unregister","setMode","viewRef","viewTag","setViewTag","handleRef","node","current","tag","OS","reportedRef","__DEV__","console","error","handlerTags","gesture","handlerTag","config","dispatchesAnimatedEvents","shouldUseReanimatedDetector","REANIMATED","virtualChild","methods","detectorCallbacks","undefined","userSelect","touchAction","enableContextMenu","ref"],"sourceRoot":"../../../../../src","sources":["v3/detectors/VirtualDetector/VirtualDetector.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,4 @@
1
- declare const HostGestureDetector: (props: Omit<import("react-native").ViewProps, keyof {
2
- ref?: React.Ref<import("react-native").ViewInstance> | undefined;
3
- }> & {
1
+ declare const HostGestureDetector: (props: Omit<import("react-native").ViewProps, "ref"> & {
4
2
  ref?: React.Ref<import("react-native").ViewInstance> | undefined;
5
3
  }) => React.ReactNode;
6
4
  export default HostGestureDetector;
@@ -1 +1 @@
1
- {"version":3,"file":"hostDetector.d.ts","sourceRoot":"","sources":["../../../src/mocks/hostDetector.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB;OAGyhB,CAAC;;OAAmD,CAAC;qBAHvkB,CAAC;AAEjC,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"hostDetector.d.ts","sourceRoot":"","sources":["../../../src/mocks/hostDetector.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,mBAAmB;OAG4hB,CAAC;qBAHthB,CAAC;AAEjC,eAAe,mBAAmB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CodegenTypes, ColorValue, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ColorValue, ViewProps } from 'react-native';
2
2
  export type ButtonEvent = Readonly<{
3
3
  pointerInside: boolean;
4
4
  x: CodegenTypes.Double;
@@ -8,6 +8,7 @@ export type ButtonEvent = Readonly<{
8
8
  numberOfPointers: CodegenTypes.Int32;
9
9
  pointerType: CodegenTypes.Int32;
10
10
  }>;
11
+ /** @ts-ignore - Redefining pointerEvents with WithDefault for codegen, conflicts with ViewProps type but codegen needs it */
11
12
  interface NativeProps extends ViewProps {
12
13
  onButtonPress?: CodegenTypes.DirectEventHandler<ButtonEvent> | undefined;
13
14
  onButtonPressIn?: CodegenTypes.DirectEventHandler<ButtonEvent> | undefined;
@@ -86,6 +87,6 @@ interface NativeProps extends ViewProps {
86
87
  borderStartEndRadius?: CodegenTypes.UnsafeMixed;
87
88
  borderStartStartRadius?: CodegenTypes.UnsafeMixed;
88
89
  }
89
- declare const _default: HostComponent<NativeProps>;
90
+ declare const _default: import("react-native").HostComponent<NativeProps>;
90
91
  export default _default;
91
92
  //# sourceMappingURL=RNGestureHandlerButtonNativeComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RNGestureHandlerButtonNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/RNGestureHandlerButtonNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RNGestureHandlerButtonNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/RNGestureHandlerButtonNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { CodegenTypes, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ViewProps } from 'react-native';
2
2
  type GestureHandlerEvent = Readonly<{
3
3
  handlerTag: CodegenTypes.Int32;
4
4
  state: CodegenTypes.Int32;
@@ -35,6 +35,7 @@ export interface VirtualChildrenProps {
35
35
  handlerTags: CodegenTypes.Int32[];
36
36
  viewTag: CodegenTypes.Int32;
37
37
  }
38
+ /** @ts-expect-error WithDefault adds `| null` to the type, which doesn't align with ViewProps.pointerEvents */
38
39
  export interface NativeProps extends ViewProps {
39
40
  onGestureHandlerEvent?: CodegenTypes.DirectEventHandler<GestureHandlerEvent> | undefined;
40
41
  onGestureHandlerStateChange?: CodegenTypes.DirectEventHandler<GestureHandlerStateChangeEvent> | undefined;
@@ -48,6 +49,6 @@ export interface NativeProps extends ViewProps {
48
49
  virtualChildren: VirtualChildrenProps[];
49
50
  pointerEvents?: CodegenTypes.WithDefault<'box-none' | 'none' | 'box-only' | 'auto', 'auto'>;
50
51
  }
51
- declare const _default: HostComponent<NativeProps>;
52
+ declare const _default: import("react-native").HostComponent<NativeProps>;
52
53
  export default _default;
53
54
  //# sourceMappingURL=RNGestureHandlerDetectorNativeComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RNGestureHandlerDetectorNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/RNGestureHandlerDetectorNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RNGestureHandlerDetectorNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/RNGestureHandlerDetectorNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG5D,KAAK,mBAAmB,GAAG,QAAQ,CAAC;IAClC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAC1B,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC;CACvC,CAAC,CAAC;AAEH,KAAK,8BAA8B,GAAG,QAAQ,CAAC;IAC7C,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC;IAC/B,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAC1B,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC;IAC7B,WAAW,EAAE,YAAY,CAAC,WAAW,CAAC;CACvC,CAAC,CAAC;AAEH,KAAK,wBAAwB,GAAG,QAAQ,CAAC;IACvC,UAAU,EAAE,YAAY,CAAC,KAAK,CAAC;IAC/B,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC;IACpC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC;IAC1B,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC;IAC9B,UAAU,EAAE;QACV,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC;QACvB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;QACvB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC;QAC/B,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC;KAChC,EAAE,CAAC;IACJ,cAAc,EAAE;QACd,EAAE,EAAE,YAAY,CAAC,KAAK,CAAC;QACvB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;QACvB,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC;QAC/B,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC;KAChC,EAAE,CAAC;IACJ,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC;CACjC,CAAC,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;CAC7B;AAED,+GAA+G;AAE/G,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,qBAAqB,CAAC,EAClB,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GACpD,SAAS,CAAC;IACd,2BAA2B,CAAC,EACxB,YAAY,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,GAC/D,SAAS,CAAC;IACd,0BAA0B,CAAC,EACvB,YAAY,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,GACzD,SAAS,CAAC;IACd,+BAA+B,CAAC,EAC5B,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GACpD,SAAS,CAAC;IACd,qCAAqC,CAAC,EAClC,YAAY,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,GAC/D,SAAS,CAAC;IACd,oCAAoC,CAAC,EACjC,YAAY,CAAC,kBAAkB,CAAC,wBAAwB,CAAC,GACzD,SAAS,CAAC;IACd,6BAA6B,CAAC,EAC1B,YAAY,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,GACpD,SAAS,CAAC;IAEd,WAAW,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,eAAe,EAAE,oBAAoB,EAAE,CAAC;IAExC,aAAa,CAAC,EAAE,YAAY,CAAC,WAAW,CACtC,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EACzC,MAAM,CACP,CAAC;CACH;;AAED,wBAEG"}
@@ -1,12 +1,13 @@
1
- import type { CodegenTypes, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ViewProps } from 'react-native';
2
2
  export interface RootViewNativeProps extends ViewProps {
3
3
  unstable_forceActive?: boolean;
4
4
  }
5
+ /** @ts-expect-error WithDefault adds null for codegen, unlike ViewProps.pointerEvents. */
5
6
  interface NativeProps extends ViewProps {
6
7
  pointerEvents?: CodegenTypes.WithDefault<'box-none' | 'none' | 'box-only' | 'auto', 'auto'>;
7
8
  moduleId?: CodegenTypes.WithDefault<CodegenTypes.Int32, -1>;
8
9
  unstable_forceActive?: boolean;
9
10
  }
10
- declare const _default: HostComponent<NativeProps>;
11
+ declare const _default: import("react-native").HostComponent<NativeProps>;
11
12
  export default _default;
12
13
  //# sourceMappingURL=RNGestureHandlerRootViewNativeComponent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RNGestureHandlerRootViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/RNGestureHandlerRootViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI3E,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAGD,UAAU,WAAY,SAAQ,SAAS;IACrC,aAAa,CAAC,EAAE,YAAY,CAAC,WAAW,CACtC,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EACzC,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;wBAII,aAAa,CAAC,WAAW,CAAC;AAF/B,wBAEgC"}
1
+ {"version":3,"file":"RNGestureHandlerRootViewNativeComponent.d.ts","sourceRoot":"","sources":["../../../src/specs/RNGestureHandlerRootViewNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI5D,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,0FAA0F;AAC1F,UAAU,WAAY,SAAQ,SAAS;IACrC,aAAa,CAAC,EAAE,YAAY,CAAC,WAAW,CACtC,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,EACzC,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;;AAED,wBAA+E"}
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualDetector.d.ts","sourceRoot":"","sources":["../../../../../src/v3/detectors/VirtualDetector/VirtualDetector.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAsBtD,wBAAgB,eAAe,CAC7B,OAAO,EACP,YAAY,EACZ,oBAAoB,SAAS,YAAY,EACzC,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC,+BAqFzE"}
1
+ {"version":3,"file":"VirtualDetector.d.ts","sourceRoot":"","sources":["../../../../../src/v3/detectors/VirtualDetector/VirtualDetector.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAiCtD,wBAAgB,eAAe,CAC7B,OAAO,EACP,YAAY,EACZ,oBAAoB,SAAS,YAAY,EACzC,KAAK,EAAE,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC,+BAuGzE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-handler",
3
- "version": "3.4.0-nightly-20261015-66a032add",
3
+ "version": "3.4.0",
4
4
  "description": "Declarative API exposing native platform touch and gesture system to React Native",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -74,8 +74,8 @@
74
74
  "@babel/core": "^7.25.2",
75
75
  "@babel/preset-env": "^7.25.3",
76
76
  "@babel/preset-typescript": "^7.12.7",
77
- "@react-native/babel-preset": "0.87.0",
78
- "@react-native/jest-preset": "0.87.0",
77
+ "@react-native/babel-preset": "0.88.0",
78
+ "@react-native/jest-preset": "0.88.0",
79
79
  "@testing-library/react-native": "^12.5.1",
80
80
  "@types/invariant": "^2.2.37",
81
81
  "@types/jest": "^29.5.12",
@@ -95,12 +95,12 @@
95
95
  "lint-staged": "^12.3.2",
96
96
  "madge": "^6.1.0",
97
97
  "prettier": "3.3.3",
98
- "react": "19.2.3",
99
- "react-native": "0.87.0",
98
+ "react": "19.3.0",
99
+ "react-native": "0.88.0",
100
100
  "react-native-builder-bob": "^0.40.13",
101
- "react-native-reanimated": "4.6.0",
102
- "react-native-worklets": "0.12.1",
103
- "react-test-renderer": "19.2.3",
101
+ "react-native-reanimated": "4.7.1",
102
+ "react-native-worklets": "0.13.0",
103
+ "react-test-renderer": "19.3.0",
104
104
  "typescript": "~6.0.3"
105
105
  },
106
106
  "peerDependencies": {
@@ -1,9 +1,4 @@
1
- import type {
2
- CodegenTypes,
3
- ColorValue,
4
- HostComponent,
5
- ViewProps,
6
- } from 'react-native';
1
+ import type { CodegenTypes, ColorValue, ViewProps } from 'react-native';
7
2
  import { codegenNativeComponent } from 'react-native';
8
3
 
9
4
  export type ButtonEvent = Readonly<{
@@ -16,7 +11,7 @@ export type ButtonEvent = Readonly<{
16
11
  pointerType: CodegenTypes.Int32;
17
12
  }>;
18
13
 
19
- // @ts-ignore - Redefining pointerEvents with WithDefault for codegen, conflicts with ViewProps type but codegen needs it
14
+ /** @ts-ignore - Redefining pointerEvents with WithDefault for codegen, conflicts with ViewProps type but codegen needs it */
20
15
  interface NativeProps extends ViewProps {
21
16
  // The events are namespaced with `Button` because the base view config on iOS
22
17
  // already registers `topPress` as a bubbling event — a direct event with the
@@ -131,6 +126,4 @@ interface NativeProps extends ViewProps {
131
126
  borderStartStartRadius?: CodegenTypes.UnsafeMixed;
132
127
  }
133
128
 
134
- export default codegenNativeComponent<NativeProps>(
135
- 'RNGestureHandlerButton'
136
- ) as HostComponent<NativeProps>;
129
+ export default codegenNativeComponent<NativeProps>('RNGestureHandlerButton');
@@ -1,4 +1,4 @@
1
- import type { CodegenTypes, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ViewProps } from 'react-native';
2
2
  import { codegenNativeComponent } from 'react-native';
3
3
 
4
4
  type GestureHandlerEvent = Readonly<{
@@ -41,7 +41,7 @@ export interface VirtualChildrenProps {
41
41
  viewTag: CodegenTypes.Int32;
42
42
  }
43
43
 
44
- // @ts-expect-error WithDefault adds `| null` to the type, which doesn't align with ViewProps.pointerEvents
44
+ /** @ts-expect-error WithDefault adds `| null` to the type, which doesn't align with ViewProps.pointerEvents */
45
45
  // Using Exclude to remove null from the type makes the error go away, but breaks codegen.
46
46
  export interface NativeProps extends ViewProps {
47
47
  onGestureHandlerEvent?:
@@ -78,4 +78,4 @@ export interface NativeProps extends ViewProps {
78
78
 
79
79
  export default codegenNativeComponent<NativeProps>('RNGestureHandlerDetector', {
80
80
  interfaceOnly: true,
81
- }) as HostComponent<NativeProps>;
81
+ });
@@ -1,4 +1,4 @@
1
- import type { CodegenTypes, HostComponent, ViewProps } from 'react-native';
1
+ import type { CodegenTypes, ViewProps } from 'react-native';
2
2
  import { codegenNativeComponent } from 'react-native';
3
3
 
4
4
  // Publicly accessible type, moduleId is set internally
@@ -6,7 +6,7 @@ export interface RootViewNativeProps extends ViewProps {
6
6
  unstable_forceActive?: boolean;
7
7
  }
8
8
 
9
- // @ts-expect-error WithDefault adds null for codegen, unlike ViewProps.pointerEvents.
9
+ /** @ts-expect-error WithDefault adds null for codegen, unlike ViewProps.pointerEvents. */
10
10
  interface NativeProps extends ViewProps {
11
11
  pointerEvents?: CodegenTypes.WithDefault<
12
12
  'box-none' | 'none' | 'box-only' | 'auto',
@@ -16,6 +16,4 @@ interface NativeProps extends ViewProps {
16
16
  unstable_forceActive?: boolean;
17
17
  }
18
18
 
19
- export default codegenNativeComponent<NativeProps>(
20
- 'RNGestureHandlerRootView'
21
- ) as HostComponent<NativeProps>;
19
+ export default codegenNativeComponent<NativeProps>('RNGestureHandlerRootView');
@@ -1,4 +1,12 @@
1
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
1
+ import type { ComponentType, ReactElement } from 'react';
2
+ import {
3
+ Children,
4
+ useCallback,
5
+ useEffect,
6
+ useMemo,
7
+ useRef,
8
+ useState,
9
+ } from 'react';
2
10
  import { findNodeHandle, Platform } from 'react-native';
3
11
 
4
12
  import { tagMessage } from '../../../utils';
@@ -14,6 +22,17 @@ import {
14
22
  } from './useInterceptingDetectorContext';
15
23
  import { Wrap } from './Wrap';
16
24
 
25
+ function getChildName(children: unknown) {
26
+ const { type } = Children.only(children) as ReactElement<
27
+ unknown,
28
+ string | ComponentType<unknown>
29
+ >;
30
+
31
+ return typeof type === 'string'
32
+ ? type
33
+ : (type.displayName ?? type.name ?? 'Unknown');
34
+ }
35
+
17
36
  function useRequiredInterceptingDetectorContext() {
18
37
  const context = useInterceptingDetectorContext();
19
38
  if (!context) {
@@ -58,6 +77,24 @@ export function VirtualDetector<
58
77
 
59
78
  useNativeGestureRole(viewRef, props.children);
60
79
 
80
+ // Dev-only: no host instance after a commit means the child did not hand
81
+ // its `ref` to one. A child that renders null first is reported as well.
82
+ const reportedRef = useRef(false);
83
+
84
+ useEffect(() => {
85
+ if (!__DEV__ || reportedRef.current || viewRef.current) {
86
+ return;
87
+ }
88
+
89
+ reportedRef.current = true;
90
+
91
+ console.error(
92
+ tagMessage(
93
+ `VirtualGestureDetector could not attach to its child (${getChildName(props.children)}). The child must be a host view or forward its \`ref\` to one.`
94
+ )
95
+ );
96
+ });
97
+
61
98
  const handlerTags = useMemo(
62
99
  () =>
63
100
  isComposedGesture(props.gesture)