react-native-gesture-handler 3.3.0-nightly-20260909-c5db1fcff → 3.3.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.
Files changed (24) hide show
  1. package/apple/RNGestureHandlerButton.mm +5 -2
  2. package/lib/module/handlers/gestures/gestureStateManager.web.js +5 -0
  3. package/lib/module/handlers/gestures/gestureStateManager.web.js.map +1 -1
  4. package/lib/module/v3/gestureStateManager.js.map +1 -1
  5. package/lib/module/v3/types/GestureStateManagerTypes.js +2 -0
  6. package/lib/module/v3/types/GestureStateManagerTypes.js.map +1 -0
  7. package/lib/module/web/tools/GestureHandlerOrchestrator.js +14 -0
  8. package/lib/module/web/tools/GestureHandlerOrchestrator.js.map +1 -1
  9. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts +11 -1
  10. package/lib/typescript/handlers/gestures/gestureStateManager.web.d.ts.map +1 -1
  11. package/lib/typescript/v3/gestureStateManager.d.ts +1 -5
  12. package/lib/typescript/v3/gestureStateManager.d.ts.map +1 -1
  13. package/lib/typescript/v3/gestureStateManager.web.d.ts +1 -1
  14. package/lib/typescript/v3/gestureStateManager.web.d.ts.map +1 -1
  15. package/lib/typescript/v3/types/GestureStateManagerTypes.d.ts +6 -0
  16. package/lib/typescript/v3/types/GestureStateManagerTypes.d.ts.map +1 -0
  17. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts +1 -0
  18. package/lib/typescript/web/tools/GestureHandlerOrchestrator.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/src/handlers/gestures/gestureStateManager.web.ts +12 -1
  21. package/src/v3/gestureStateManager.ts +1 -6
  22. package/src/v3/gestureStateManager.web.ts +1 -1
  23. package/src/v3/types/GestureStateManagerTypes.ts +5 -0
  24. package/src/web/tools/GestureHandlerOrchestrator.ts +19 -0
@@ -1454,7 +1454,8 @@ static CATransform3D RNGHCenterScaleTransform(NSRect bounds, CGFloat scale)
1454
1454
  {
1455
1455
  if ([view isKindOfClass:[RNGestureHandlerButton class]]) {
1456
1456
  RNGestureHandlerButton *button = (RNGestureHandlerButton *)view;
1457
- return button.userEnabled;
1457
+ return button.userEnabled && button.pointerEvents != RNGestureHandlerPointerEventsBoxNone &&
1458
+ button.pointerEvents != RNGestureHandlerPointerEventsNone;
1458
1459
  }
1459
1460
 
1460
1461
  // Certain subviews such as RCTViewComponentView have been observed to have disabled
@@ -1501,7 +1502,9 @@ static CATransform3D RNGHCenterScaleTransform(NSRect bounds, CGFloat scale)
1501
1502
  if (!subview.isHidden && subview.alpha > 0) {
1502
1503
  CGPoint convertedPoint = [subview convertPoint:point fromView:self];
1503
1504
  UIView *hitView = [subview hitTest:convertedPoint withEvent:event];
1504
- if (hitView != nil && [self shouldHandleTouch:hitView atPoint:point]) {
1505
+ if (hitView != nil &&
1506
+ ([hitView isKindOfClass:[RNGestureHandlerButton class]] ||
1507
+ [self shouldHandleTouch:hitView atPoint:point])) {
1505
1508
  return hitView;
1506
1509
  }
1507
1510
  }
@@ -2,6 +2,11 @@
2
2
 
3
3
  import { State } from '../../State';
4
4
  import NodeManager from '../../web/tools/NodeManager';
5
+
6
+ /**
7
+ * @deprecated `LegacyGestureStateManagerType` is deprecated and will be removed in the future. Please use the new, hook-based API instead.
8
+ */
9
+
5
10
  export const GestureStateManager = {
6
11
  create(handlerTag) {
7
12
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["State","NodeManager","GestureStateManager","create","handlerTag","begin","getHandler","activate","handler","state","UNDETERMINED","fail","end"],"sourceRoot":"../../../../src","sources":["handlers/gestures/gestureStateManager.web.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,OAAOC,WAAW,MAAM,6BAA6B;AAGrD,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,MAAMA,CAACC,UAAkB,EAA2B;IAClD,OAAO;MACLA,UAAU;MAEVC,KAAK,EAAEA,CAAA,KAAM;QACXJ,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC,CAACC,KAAK,CAAC,CAAC;MAC5C,CAAC;MAEDE,QAAQ,EAAEA,CAAA,KAAM;QACd,MAAMC,OAAO,GAAGP,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC;;QAElD;QACA;QACA,IAAII,OAAO,CAACC,KAAK,KAAKT,KAAK,CAACU,YAAY,EAAE;UACxCF,OAAO,CAACH,KAAK,CAAC,CAAC;QACjB;QAEAG,OAAO,CAACD,QAAQ,CAAC,IAAI,CAAC;MACxB,CAAC;MAEDI,IAAI,EAAEA,CAAA,KAAM;QACVV,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC,CAACO,IAAI,CAAC,CAAC;MAC3C,CAAC;MAEDC,GAAG,EAAEA,CAAA,KAAM;QACTX,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC,CAACQ,GAAG,CAAC,CAAC;MAC1C;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["State","NodeManager","GestureStateManager","create","handlerTag","begin","getHandler","activate","handler","state","UNDETERMINED","fail","end"],"sourceRoot":"../../../../src","sources":["handlers/gestures/gestureStateManager.web.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,aAAa;AACnC,OAAOC,WAAW,MAAM,6BAA6B;;AAErD;AACA;AACA;;AAUA,OAAO,MAAMC,mBAAmB,GAAG;EACjCC,MAAMA,CAACC,UAAkB,EAA2B;IAClD,OAAO;MACLA,UAAU;MAEVC,KAAK,EAAEA,CAAA,KAAM;QACXJ,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC,CAACC,KAAK,CAAC,CAAC;MAC5C,CAAC;MAEDE,QAAQ,EAAEA,CAAA,KAAM;QACd,MAAMC,OAAO,GAAGP,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC;;QAElD;QACA;QACA,IAAII,OAAO,CAACC,KAAK,KAAKT,KAAK,CAACU,YAAY,EAAE;UACxCF,OAAO,CAACH,KAAK,CAAC,CAAC;QACjB;QAEAG,OAAO,CAACD,QAAQ,CAAC,IAAI,CAAC;MACxB,CAAC;MAEDI,IAAI,EAAEA,CAAA,KAAM;QACVV,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC,CAACO,IAAI,CAAC,CAAC;MAC3C,CAAC;MAEDC,GAAG,EAAEA,CAAA,KAAM;QACTX,WAAW,CAACK,UAAU,CAACF,UAAU,CAAC,CAACQ,GAAG,CAAC,CAAC;MAC1C;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["State","tagMessage","setGestureState","handlerTag","state","globalThis","_setGestureStateSync","_setGestureStateAsync","Error","GestureStateManager","activate","ACTIVE","fail","FAILED","deactivate","END"],"sourceRoot":"../../../src","sources":["v3/gestureStateManager.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,UAAU;AAChC,SAASC,UAAU,QAAQ,UAAU;AAQrC,MAAMC,eAAe,GAAGA,CAACC,UAAkB,EAAEC,KAAY,KAAK;EAC5D,SAAS;;EAET,IAAIC,UAAU,CAACC,oBAAoB,EAAE;IACnCD,UAAU,CAACC,oBAAoB,CAACH,UAAU,EAAEC,KAAK,CAAC;EACpD,CAAC,MAAM,IAAIC,UAAU,CAACE,qBAAqB,EAAE;IAC3CF,UAAU,CAACE,qBAAqB,CAACJ,UAAU,EAAEC,KAAK,CAAC;EACrD,CAAC,MAAM;IACL,MAAM,IAAII,KAAK,CAACP,UAAU,CAAC,6BAA6B,CAAC,CAAC;EAC5D;AACF,CAAC;AAED,OAAO,MAAMQ,mBAA4C,GAAG;EAC1DC,QAAQA,CAACP,UAAkB,EAAE;IAC3B,SAAS;;IACTD,eAAe,CAACC,UAAU,EAAEH,KAAK,CAACW,MAAM,CAAC;EAC3C,CAAC;EAEDC,IAAIA,CAACT,UAAkB,EAAE;IACvB,SAAS;;IACTD,eAAe,CAACC,UAAU,EAAEH,KAAK,CAACa,MAAM,CAAC;EAC3C,CAAC;EAEDC,UAAUA,CAACX,UAAkB,EAAE;IAC7B,SAAS;;IACTD,eAAe,CAACC,UAAU,EAAEH,KAAK,CAACe,GAAG,CAAC;EACxC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["State","tagMessage","setGestureState","handlerTag","state","globalThis","_setGestureStateSync","_setGestureStateAsync","Error","GestureStateManager","activate","ACTIVE","fail","FAILED","deactivate","END"],"sourceRoot":"../../../src","sources":["v3/gestureStateManager.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,UAAU;AAChC,SAASC,UAAU,QAAQ,UAAU;AAGrC,MAAMC,eAAe,GAAGA,CAACC,UAAkB,EAAEC,KAAY,KAAK;EAC5D,SAAS;;EAET,IAAIC,UAAU,CAACC,oBAAoB,EAAE;IACnCD,UAAU,CAACC,oBAAoB,CAACH,UAAU,EAAEC,KAAK,CAAC;EACpD,CAAC,MAAM,IAAIC,UAAU,CAACE,qBAAqB,EAAE;IAC3CF,UAAU,CAACE,qBAAqB,CAACJ,UAAU,EAAEC,KAAK,CAAC;EACrD,CAAC,MAAM;IACL,MAAM,IAAII,KAAK,CAACP,UAAU,CAAC,6BAA6B,CAAC,CAAC;EAC5D;AACF,CAAC;AAED,OAAO,MAAMQ,mBAA4C,GAAG;EAC1DC,QAAQA,CAACP,UAAkB,EAAE;IAC3B,SAAS;;IACTD,eAAe,CAACC,UAAU,EAAEH,KAAK,CAACW,MAAM,CAAC;EAC3C,CAAC;EAEDC,IAAIA,CAACT,UAAkB,EAAE;IACvB,SAAS;;IACTD,eAAe,CAACC,UAAU,EAAEH,KAAK,CAACa,MAAM,CAAC;EAC3C,CAAC;EAEDC,UAAUA,CAACX,UAAkB,EAAE;IAC7B,SAAS;;IACTD,eAAe,CAACC,UAAU,EAAEH,KAAK,CAACe,GAAG,CAAC;EACxC;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=GestureStateManagerTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["v3/types/GestureStateManagerTypes.ts"],"mappings":"","ignoreList":[]}
@@ -189,7 +189,21 @@ export default class GestureHandlerOrchestrator {
189
189
  handler.awaiting = true;
190
190
  handler.activationIndex = this.activationIndex++;
191
191
  }
192
+
193
+ // A handler whose pointer sequence ended before it began (e.g. a press
194
+ // outside a negative hit slop) never reaches a finished state, so
195
+ // `cleanupFinishedHandlers` never drops it and it would block or park every
196
+ // later gesture. Drop such idle entries before a new gesture consults them.
197
+ dropIdleHandlers() {
198
+ for (let i = this.gestureHandlers.length - 1; i >= 0; --i) {
199
+ const handler = this.gestureHandlers[i];
200
+ if (handler.state === State.UNDETERMINED && handler.tracker.trackedPointersCount === 0) {
201
+ this.removeHandlerFromOrchestrator(handler);
202
+ }
203
+ }
204
+ }
192
205
  recordHandlerIfNotPresent(handler) {
206
+ this.dropIdleHandlers();
193
207
  if (this.isHandlerRecorded(handler)) {
194
208
  return;
195
209
  }
@@ -1 +1 @@
1
- {"version":3,"names":["PointerType","State","PointerTracker","GestureHandlerOrchestrator","gestureHandlers","awaitingHandlers","awaitingHandlersTags","Set","handlingChangeSemaphore","activationIndex","constructor","scheduleFinishedHandlersCleanup","queueMicrotask","cleanupFinishedHandlers","cleanHandler","handler","reset","active","awaiting","Number","MAX_VALUE","dropHandler","removeHandlerFromOrchestrator","isHandlerRecorded","includes","indexInGestureHandlers","indexOf","indexInAwaitingHandlers","splice","delete","handlerTag","handlersToRemove","i","length","isFinished","state","add","filter","has","hasOtherHandlerToWaitFor","hasToWaitFor","otherHandler","shouldHandlerWaitForOther","some","shouldBeCancelledByFinishedHandler","shouldBeCancelled","END","tryActivate","cancel","addAwaitingHandler","handlerState","CANCELLED","FAILED","shouldActivate","makeActive","ACTIVE","fail","BEGAN","shouldBeCancelledBy","shouldHandlerBeCancelledBy","cleanupAwaitingHandlers","shouldWait","onHandlerStateChange","newState","oldState","sendIfDisabled","enabled","sendEvent","UNDETERMINED","currentState","shouldResetProgress","push","recordHandlerIfNotPresent","MAX_SAFE_INTEGER","shouldBeginWithRecordedHandlers","shouldWaitForHandlerFailure","shouldRequireToWaitForFailure","canRunSimultaneously","gh1","gh2","shouldRecognizeSimultaneously","shouldBeCancelledByOther","handlerPointers","getTrackedPointersID","otherPointers","shareCommonPointers","delegate","view","checkOverlap","isPointerWithinBothBounds","pointer","point","tracker","getLastAbsoluteCoords","isPointerInBounds","cancelMouseAndPenGestures","currentHandler","forEach","pointerType","MOUSE","STYLUS","resetTracker","instance","_instance"],"sourceRoot":"../../../../src","sources":["web/tools/GestureHandlerOrchestrator.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["PointerType","State","PointerTracker","GestureHandlerOrchestrator","gestureHandlers","awaitingHandlers","awaitingHandlersTags","Set","handlingChangeSemaphore","activationIndex","constructor","scheduleFinishedHandlersCleanup","queueMicrotask","cleanupFinishedHandlers","cleanHandler","handler","reset","active","awaiting","Number","MAX_VALUE","dropHandler","removeHandlerFromOrchestrator","isHandlerRecorded","includes","indexInGestureHandlers","indexOf","indexInAwaitingHandlers","splice","delete","handlerTag","handlersToRemove","i","length","isFinished","state","add","filter","has","hasOtherHandlerToWaitFor","hasToWaitFor","otherHandler","shouldHandlerWaitForOther","some","shouldBeCancelledByFinishedHandler","shouldBeCancelled","END","tryActivate","cancel","addAwaitingHandler","handlerState","CANCELLED","FAILED","shouldActivate","makeActive","ACTIVE","fail","BEGAN","shouldBeCancelledBy","shouldHandlerBeCancelledBy","cleanupAwaitingHandlers","shouldWait","onHandlerStateChange","newState","oldState","sendIfDisabled","enabled","sendEvent","UNDETERMINED","currentState","shouldResetProgress","push","dropIdleHandlers","tracker","trackedPointersCount","recordHandlerIfNotPresent","MAX_SAFE_INTEGER","shouldBeginWithRecordedHandlers","shouldWaitForHandlerFailure","shouldRequireToWaitForFailure","canRunSimultaneously","gh1","gh2","shouldRecognizeSimultaneously","shouldBeCancelledByOther","handlerPointers","getTrackedPointersID","otherPointers","shareCommonPointers","delegate","view","checkOverlap","isPointerWithinBothBounds","pointer","point","getLastAbsoluteCoords","isPointerInBounds","cancelMouseAndPenGestures","currentHandler","forEach","pointerType","MOUSE","STYLUS","resetTracker","instance","_instance"],"sourceRoot":"../../../../src","sources":["web/tools/GestureHandlerOrchestrator.ts"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,14 @@
1
- import type { GestureStateManagerType } from './gestureStateManager';
1
+ /**
2
+ * @deprecated `LegacyGestureStateManagerType` is deprecated and will be removed in the future. Please use the new, hook-based API instead.
3
+ */
4
+ export interface GestureStateManagerType {
5
+ begin: () => void;
6
+ activate: () => void;
7
+ fail: () => void;
8
+ end: () => void;
9
+ /** @internal */
10
+ handlerTag: number;
11
+ }
2
12
  export declare const GestureStateManager: {
3
13
  create(handlerTag: number): GestureStateManagerType;
4
14
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gestureStateManager.web.d.ts","sourceRoot":"","sources":["../../../../src/handlers/gestures/gestureStateManager.web.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,eAAO,MAAM,mBAAmB;uBACX,MAAM,GAAG,uBAAuB;CA6BpD,CAAC"}
1
+ {"version":3,"file":"gestureStateManager.web.d.ts","sourceRoot":"","sources":["../../../../src/handlers/gestures/gestureStateManager.web.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,mBAAmB;uBACX,MAAM,GAAG,uBAAuB;CA6BpD,CAAC"}
@@ -1,7 +1,3 @@
1
- export type GestureStateManagerType = {
2
- activate(handlerTag: number): void;
3
- fail(handlerTag: number): void;
4
- deactivate(handlerTag: number): void;
5
- };
1
+ import type { GestureStateManagerType } from './types/GestureStateManagerTypes';
6
2
  export declare const GestureStateManager: GestureStateManagerType;
7
3
  //# sourceMappingURL=gestureStateManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gestureStateManager.d.ts","sourceRoot":"","sources":["../../../src/v3/gestureStateManager.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,uBAejC,CAAC"}
1
+ {"version":3,"file":"gestureStateManager.d.ts","sourceRoot":"","sources":["../../../src/v3/gestureStateManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAchF,eAAO,MAAM,mBAAmB,EAAE,uBAejC,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { GestureStateManagerType } from './gestureStateManager';
1
+ import type { GestureStateManagerType } from './types/GestureStateManagerTypes';
2
2
  export declare const GestureStateManager: GestureStateManagerType;
3
3
  //# sourceMappingURL=gestureStateManager.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gestureStateManager.web.d.ts","sourceRoot":"","sources":["../../../src/v3/gestureStateManager.web.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAYrE,eAAO,MAAM,mBAAmB,EAAE,uBAyBjC,CAAC"}
1
+ {"version":3,"file":"gestureStateManager.web.d.ts","sourceRoot":"","sources":["../../../src/v3/gestureStateManager.web.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAYhF,eAAO,MAAM,mBAAmB,EAAE,uBAyBjC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type GestureStateManagerType = {
2
+ activate(handlerTag: number): void;
3
+ fail(handlerTag: number): void;
4
+ deactivate(handlerTag: number): void;
5
+ };
6
+ //# sourceMappingURL=GestureStateManagerTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GestureStateManagerTypes.d.ts","sourceRoot":"","sources":["../../../../src/v3/types/GestureStateManagerTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC,CAAC"}
@@ -22,6 +22,7 @@ export default class GestureHandlerOrchestrator {
22
22
  onHandlerStateChange(handler: IGestureHandler, newState: State, oldState: State, sendIfDisabled?: boolean): void;
23
23
  private makeActive;
24
24
  private addAwaitingHandler;
25
+ private dropIdleHandlers;
25
26
  recordHandlerIfNotPresent(handler: IGestureHandler): void;
26
27
  private shouldHandlerWaitForOther;
27
28
  private canRunSimultaneously;
@@ -1 +1 @@
1
- {"version":3,"file":"GestureHandlerOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/web/tools/GestureHandlerOrchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAG/D,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IAErD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,oBAAoB,CAA0B;IAEtD,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,eAAe,CAAK;IAI5B,OAAO;IAEP,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,YAAY;IAOb,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAK3C,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IAIpD,6BAA6B,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAcpE,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,uBAAuB;IAoBxB,oBAAoB,CACzB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,cAAc,CAAC,EAAE,OAAO,GACvB,IAAI;IA8DP,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,kBAAkB;IAYnB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAgBhE,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,UAAU;IAYX,yBAAyB,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI;IAwBvE,WAAkB,QAAQ,IAAI,0BAA0B,CAMvD;CACF"}
1
+ {"version":3,"file":"GestureHandlerOrchestrator.d.ts","sourceRoot":"","sources":["../../../../src/web/tools/GestureHandlerOrchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,eAAe,MAAM,6BAA6B,CAAC;AAG/D,MAAM,CAAC,OAAO,OAAO,0BAA0B;IAC7C,OAAO,CAAC,MAAM,CAAC,SAAS,CAA6B;IAErD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,oBAAoB,CAA0B;IAEtD,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,eAAe,CAAK;IAI5B,OAAO;IAEP,OAAO,CAAC,+BAA+B;IAQvC,OAAO,CAAC,YAAY;IAOb,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAK3C,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IAIpD,6BAA6B,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAcpE,OAAO,CAAC,uBAAuB;IAiB/B,OAAO,CAAC,wBAAwB;IAWhC,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,uBAAuB;IAoBxB,oBAAoB,CACzB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,cAAc,CAAC,EAAE,OAAO,GACvB,IAAI;IA8DP,OAAO,CAAC,UAAU;IAuClB,OAAO,CAAC,kBAAkB;IAgB1B,OAAO,CAAC,gBAAgB;IAajB,yBAAyB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAkBhE,OAAO,CAAC,yBAAyB;IAWjC,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,UAAU;IAYX,yBAAyB,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI;IAwBvE,WAAkB,QAAQ,IAAI,0BAA0B,CAMvD;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-handler",
3
- "version": "3.3.0-nightly-20260909-c5db1fcff",
3
+ "version": "3.3.0",
4
4
  "description": "Declarative API exposing native platform touch and gesture system to React Native",
5
5
  "scripts": {
6
6
  "test": "jest",
@@ -1,6 +1,17 @@
1
1
  import { State } from '../../State';
2
2
  import NodeManager from '../../web/tools/NodeManager';
3
- import type { GestureStateManagerType } from './gestureStateManager';
3
+
4
+ /**
5
+ * @deprecated `LegacyGestureStateManagerType` is deprecated and will be removed in the future. Please use the new, hook-based API instead.
6
+ */
7
+ export interface GestureStateManagerType {
8
+ begin: () => void;
9
+ activate: () => void;
10
+ fail: () => void;
11
+ end: () => void;
12
+ /** @internal */
13
+ handlerTag: number;
14
+ }
4
15
 
5
16
  export const GestureStateManager = {
6
17
  create(handlerTag: number): GestureStateManagerType {
@@ -1,11 +1,6 @@
1
1
  import { State } from '../State';
2
2
  import { tagMessage } from '../utils';
3
-
4
- export type GestureStateManagerType = {
5
- activate(handlerTag: number): void;
6
- fail(handlerTag: number): void;
7
- deactivate(handlerTag: number): void;
8
- };
3
+ import type { GestureStateManagerType } from './types/GestureStateManagerTypes';
9
4
 
10
5
  const setGestureState = (handlerTag: number, state: State) => {
11
6
  'worklet';
@@ -2,7 +2,7 @@ import { tagMessage } from '../utils';
2
2
  import type IGestureHandler from '../web/handlers/IGestureHandler';
3
3
  import GestureHandlerOrchestrator from '../web/tools/GestureHandlerOrchestrator';
4
4
  import NodeManager from '../web/tools/NodeManager';
5
- import type { GestureStateManagerType } from './gestureStateManager';
5
+ import type { GestureStateManagerType } from './types/GestureStateManagerTypes';
6
6
 
7
7
  function ensureHandlerAttached(handler: IGestureHandler) {
8
8
  if (!handler.attached) {
@@ -0,0 +1,5 @@
1
+ export type GestureStateManagerType = {
2
+ activate(handlerTag: number): void;
3
+ fail(handlerTag: number): void;
4
+ deactivate(handlerTag: number): void;
5
+ };
@@ -274,7 +274,26 @@ export default class GestureHandlerOrchestrator {
274
274
  handler.activationIndex = this.activationIndex++;
275
275
  }
276
276
 
277
+ // A handler whose pointer sequence ended before it began (e.g. a press
278
+ // outside a negative hit slop) never reaches a finished state, so
279
+ // `cleanupFinishedHandlers` never drops it and it would block or park every
280
+ // later gesture. Drop such idle entries before a new gesture consults them.
281
+ private dropIdleHandlers(): void {
282
+ for (let i = this.gestureHandlers.length - 1; i >= 0; --i) {
283
+ const handler = this.gestureHandlers[i];
284
+
285
+ if (
286
+ handler.state === State.UNDETERMINED &&
287
+ handler.tracker.trackedPointersCount === 0
288
+ ) {
289
+ this.removeHandlerFromOrchestrator(handler);
290
+ }
291
+ }
292
+ }
293
+
277
294
  public recordHandlerIfNotPresent(handler: IGestureHandler): void {
295
+ this.dropIdleHandlers();
296
+
278
297
  if (this.isHandlerRecorded(handler)) {
279
298
  return;
280
299
  }