@tamagui/native 2.0.0-1769288527117 → 2.0.0-1769294704640

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.
@@ -54,9 +54,10 @@ function getGestureHandler() {
54
54
  Gesture
55
55
  } = getGlobalState();
56
56
  if (!Gesture) return null;
57
- const tap = Gesture.Tap().runOnJS(!0).onBegin(e => config.onPressIn?.(e)).onEnd(e => config.onPress?.(e)).onFinalize(e => config.onPressOut?.(e));
57
+ const longPressDuration = config.delayLongPress ?? 500,
58
+ tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin(e => config.onPressIn?.(e)).onEnd(e => config.onPress?.(e)).onFinalize(e => config.onPressOut?.(e));
58
59
  if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
59
- const longPress = Gesture.LongPress().runOnJS(!0).minDuration(config.delayLongPress ?? 500).onStart(e => config.onLongPress?.(e)).onFinalize(e => config.onPressOut?.(e));
60
+ const longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin(e => config.onPressIn?.(e)).onStart(e => config.onLongPress?.(e)).onFinalize(e => config.onPressOut?.(e));
60
61
  return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
61
62
  }
62
63
  };
@@ -46,9 +46,9 @@ function getGestureHandler() {
46
46
  createPressGesture(config) {
47
47
  const { Gesture } = getGlobalState();
48
48
  if (!Gesture) return null;
49
- const tap = Gesture.Tap().runOnJS(!0).onBegin((e) => config.onPressIn?.(e)).onEnd((e) => config.onPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
49
+ const longPressDuration = config.delayLongPress ?? 500, tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin((e) => config.onPressIn?.(e)).onEnd((e) => config.onPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
50
50
  if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
51
- const longPress = Gesture.LongPress().runOnJS(!0).minDuration(config.delayLongPress ?? 500).onStart((e) => config.onLongPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
51
+ const longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin((e) => config.onPressIn?.(e)).onStart((e) => config.onLongPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
52
52
  return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
53
53
  }
54
54
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gestureState.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,aAAa;AAEnB,SAAS,iBAA+B;AACtC,QAAM,IAAI;AACV,SAAK,EAAE,UAAU,MACf,EAAE,UAAU,IAAI;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,EACd,IAEK,EAAE,UAAU;AACrB;AAmBO,SAAS,oBAA4C;AAC1D,SAAO;AAAA,IACL,IAAI,YAAqB;AACvB,aAAO,eAAe,EAAE;AAAA,IAC1B;AAAA,IACA,IAAI,QAAsB;AACxB,aAAO,eAAe;AAAA,IACxB;AAAA,IACA,IAAI,SAAsC;AACxC,YAAM,QAAQ,eAAe;AAC7B,aAAO,OAAO,OAAO,OAAO;AAAA,IAC9B;AAAA,IAEA,UAAgB;AACd,YAAM,QAAQ,eAAe;AAC7B,YAAM,UAAU;AAAA,IAClB;AAAA,IAEA,mBAAmB,QAAiC;AAClD,YAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,UAAI,CAAC,QAAS,QAAO;AAErB,YAAM,MAAM,QAAQ,IAAI,EACrB,QAAQ,EAAI,EACZ,QAAQ,CAAC,MAAW,OAAO,YAAY,CAAC,CAAC,EACzC,MAAM,CAAC,MAAW,OAAO,UAAU,CAAC,CAAC,EACrC,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAIhD,UAFI,OAAO,WAAS,IAAI,QAAQ,OAAO,OAAO,GAE1C,CAAC,OAAO,YAAa,QAAO;AAEhC,YAAM,YAAY,QAAQ,UAAU,EACjC,QAAQ,EAAI,EACZ,YAAY,OAAO,kBAAkB,GAAG,EACxC,QAAQ,CAAC,MAAW,OAAO,cAAc,CAAC,CAAC,EAC3C,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAEhD,aAAI,OAAO,WAAS,UAAU,QAAQ,OAAO,OAAO,GAE7C,QAAQ,UAAU,WAAW,GAAG;AAAA,IACzC;AAAA,EACF;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,aAAa;AAEnB,SAAS,iBAA+B;AACtC,QAAM,IAAI;AACV,SAAK,EAAE,UAAU,MACf,EAAE,UAAU,IAAI;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,EACd,IAEK,EAAE,UAAU;AACrB;AAmBO,SAAS,oBAA4C;AAC1D,SAAO;AAAA,IACL,IAAI,YAAqB;AACvB,aAAO,eAAe,EAAE;AAAA,IAC1B;AAAA,IACA,IAAI,QAAsB;AACxB,aAAO,eAAe;AAAA,IACxB;AAAA,IACA,IAAI,SAAsC;AACxC,YAAM,QAAQ,eAAe;AAC7B,aAAO,OAAO,OAAO,OAAO;AAAA,IAC9B;AAAA,IAEA,UAAgB;AACd,YAAM,QAAQ,eAAe;AAC7B,YAAM,UAAU;AAAA,IAClB;AAAA,IAEA,mBAAmB,QAAiC;AAClD,YAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,UAAI,CAAC,QAAS,QAAO;AAErB,YAAM,oBAAoB,OAAO,kBAAkB,KAI7C,MAAM,QAAQ,IAAI,EACrB,QAAQ,EAAI,EACZ,YAAY,GAAK,EACjB,QAAQ,CAAC,MAAW,OAAO,YAAY,CAAC,CAAC,EACzC,MAAM,CAAC,MAAW,OAAO,UAAU,CAAC,CAAC,EACrC,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAKhD,UAHI,OAAO,WAAS,IAAI,QAAQ,OAAO,OAAO,GAG1C,CAAC,OAAO,YAAa,QAAO;AAGhC,YAAM,YAAY,QAAQ,UAAU,EACjC,QAAQ,EAAI,EACZ,YAAY,iBAAiB,EAC7B,QAAQ,CAAC,MAAW,OAAO,YAAY,CAAC,CAAC,EACzC,QAAQ,CAAC,MAAW,OAAO,cAAc,CAAC,CAAC,EAC3C,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAEhD,aAAI,OAAO,WAAS,UAAU,QAAQ,OAAO,OAAO,GAG7C,QAAQ,UAAU,WAAW,GAAG;AAAA,IACzC;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -56,25 +56,29 @@ function getGestureHandler() {
56
56
  Gesture
57
57
  } = getGlobalState();
58
58
  if (!Gesture) return null;
59
- var tap = Gesture.Tap().runOnJS(!0).onBegin(function (e) {
59
+ var _config_delayLongPress,
60
+ longPressDuration = (_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500,
61
+ tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin(function (e) {
62
+ var _config_onPressIn;
63
+ return (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
64
+ }).onEnd(function (e) {
65
+ var _config_onPress;
66
+ return (_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
67
+ }).onFinalize(function (e) {
68
+ var _config_onPressOut;
69
+ return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
70
+ });
71
+ if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
72
+ var longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin(function (e) {
60
73
  var _config_onPressIn;
61
74
  return (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
62
- }).onEnd(function (e) {
63
- var _config_onPress;
64
- return (_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
75
+ }).onStart(function (e) {
76
+ var _config_onLongPress;
77
+ return (_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
65
78
  }).onFinalize(function (e) {
66
79
  var _config_onPressOut;
67
80
  return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
68
81
  });
69
- if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
70
- var _config_delayLongPress,
71
- longPress = Gesture.LongPress().runOnJS(!0).minDuration((_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500).onStart(function (e) {
72
- var _config_onLongPress;
73
- return (_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
74
- }).onFinalize(function (e) {
75
- var _config_onPressOut;
76
- return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
77
- });
78
82
  return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
79
83
  }
80
84
  };
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","gestureState_exports","__export","getGestureHandler","module","exports","GLOBAL_KEY","getGlobalState","g","globalThis","enabled","Gesture","GestureDetector","ScrollView","isEnabled","state","set","updates","Object","assign","disable","createPressGesture","config","tap","Tap","runOnJS","onBegin","e","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAM,CAAAC,OAAA,GAAAT,YAAa,CAAAK,oBAAA;AAEnB,IAAAK,UAAS,qCAA+B;AACtC,SAAMC,cAAIA,CAAA;EACV,IAAAC,CAAA,GAAKC,UAAE;EACW,OACdD,CAAA,CAAAF,UAAS,MAAAE,CAAA,CAAAF,UAAA;IACTI,OAAA,EAAS;IACTC,OAAA;IACAC,eAAY;IACdC,UAEO;EACX,IAAAL,CAAA,CAAAF,UAAA;AAmBO;AACL,SAAOH,kBAAA;EAAA,OACD;IACF,IAAAW,SAAOA,CAAA;MACT,OAAAP,cAAA,GAAAG,OAAA;IACA;IACE,IAAAK,KAAOA,CAAA;MACT,OAAAR,cAAA;IACA;IACES,IAAAC,OAAM;MACN,IAAAF,KAAO,GAAAR,cAAc,EAAO;MAC9BW,MAAA,CAAAC,MAAA,CAAAJ,KAAA,EAAAE,OAAA;IAEA;IACEG,QAAA,EAAM;MACN,IAAAL,KAAM,GAAAR,cAAU;MAClBQ,KAAA,CAAAL,OAAA;IAEA;IACEW,kBAAgBA,CAAAC,MAAI;MACpB,IAAI;QAACX;MAAS,IAAAJ,cAAO;MAErB,KAAAI,OAAY,SAAQ,IAAI;MAQxB,IAFIY,GAAA,GAAAZ,OAAO,CAAAa,GAAA,CAAS,EAAAC,OAAI,GAAQ,EAAAC,OAAO,WAElCC,CAAA;QAEL,IAAMC,iBAAY;QAMlB,OAAI,CAAAA,iBAAgB,GAAAN,MAAU,CAAAO,SAAQ,MAAO,QAEtCD,iBAAQ,KAAU,SAAW,KAAG,IAAAA,iBAAA,CAAAE,IAAA,CAAAR,MAAA,EAAAK,CAAA;MACzC,GAAAI,KAAA,WAAAJ,CAAA;QACF,IAAAK,eAAA;QACF,QAAAA,eAAA,GAAAV,MAAA,CAAAW,OAAA,cAAAD,eAAA,uBAAAA,eAAA,CAAAF,IAAA,CAAAR,MAAA,EAAAK,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","gestureState_exports","__export","getGestureHandler","module","exports","GLOBAL_KEY","getGlobalState","g","globalThis","enabled","Gesture","GestureDetector","ScrollView","isEnabled","state","set","updates","Object","assign","disable","createPressGesture","config","_config_delayLongPress","longPressDuration","delayLongPress","tap","Tap","runOnJS","maxDuration","onBegin","e","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAEAC,MAAM,CAAAC,OAAA,GAAAT,YAAa,CAAAK,oBAAA;AAEnB,IAAAK,UAAS,qCAA+B;AACtC,SAAMC,cAAIA,CAAA;EACV,IAAAC,CAAA,GAAKC,UAAE;EACW,OACdD,CAAA,CAAAF,UAAS,MAAAE,CAAA,CAAAF,UAAA;IACTI,OAAA,EAAS;IACTC,OAAA;IACAC,eAAY;IACdC,UAEO;EACX,IAAAL,CAAA,CAAAF,UAAA;AAmBO;AACL,SAAOH,kBAAA;EAAA,OACD;IACF,IAAAW,SAAOA,CAAA;MACT,OAAAP,cAAA,GAAAG,OAAA;IACA;IACE,IAAAK,KAAOA,CAAA;MACT,OAAAR,cAAA;IACA;IACES,IAAAC,OAAM;MACN,IAAAF,KAAO,GAAAR,cAAc,EAAO;MAC9BW,MAAA,CAAAC,MAAA,CAAAJ,KAAA,EAAAE,OAAA;IAEA;IACEG,QAAA,EAAM;MACN,IAAAL,KAAM,GAAAR,cAAU;MAClBQ,KAAA,CAAAL,OAAA;IAEA;IACEW,kBAAgBA,CAAAC,MAAI;MACpB,IAAI;QAACX;MAAS,IAAAJ,cAAO;MAErB,KAAAI,OAAM;MAcN,IAHIY,sBAAoB;QAAAC,iBAAe,GAAO,CAAAD,sBAGrB,GAAAD,MAAO,CAAAG,cAAA,cAAAF,sBAAA,cAAAA,sBAAA;QAAAG,GAAA,GAAAf,OAAA,CAAAgB,GAAA,GAAAC,OAAA,KAAAC,WAAA,MAAAC,OAAA,WAAAC,CAAA;UAGhC,IAAMC,iBAAY;UAOlB,OAAI,CAAAA,iBAAgB,GAAAV,MAAU,CAAAW,SAAQ,MAAO,QAGtCD,iBAAQ,KAAU,SAAW,KAAG,IAAAA,iBAAA,CAAAE,IAAA,CAAAZ,MAAA,EAAAS,CAAA;QACzC,GAAAI,KAAA,WAAAJ,CAAA;UACF,IAAAK,eAAA;UACF,QAAAA,eAAA,GAAAd,MAAA,CAAAe,OAAA,cAAAD,eAAA,uBAAAA,eAAA,CAAAF,IAAA,CAAAZ,MAAA,EAAAS,CAAA","ignoreList":[]}
@@ -27,9 +27,9 @@ function getGestureHandler() {
27
27
  createPressGesture(config) {
28
28
  const { Gesture } = getGlobalState();
29
29
  if (!Gesture) return null;
30
- const tap = Gesture.Tap().runOnJS(!0).onBegin((e) => config.onPressIn?.(e)).onEnd((e) => config.onPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
30
+ const longPressDuration = config.delayLongPress ?? 500, tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin((e) => config.onPressIn?.(e)).onEnd((e) => config.onPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
31
31
  if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
32
- const longPress = Gesture.LongPress().runOnJS(!0).minDuration(config.delayLongPress ?? 500).onStart((e) => config.onLongPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
32
+ const longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin((e) => config.onPressIn?.(e)).onStart((e) => config.onLongPress?.(e)).onFinalize((e) => config.onPressOut?.(e));
33
33
  return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
34
34
  }
35
35
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/gestureState.ts"],
4
- "mappings": "AAEA,MAAM,aAAa;AAEnB,SAAS,iBAA+B;AACtC,QAAM,IAAI;AACV,SAAK,EAAE,UAAU,MACf,EAAE,UAAU,IAAI;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,EACd,IAEK,EAAE,UAAU;AACrB;AAmBO,SAAS,oBAA4C;AAC1D,SAAO;AAAA,IACL,IAAI,YAAqB;AACvB,aAAO,eAAe,EAAE;AAAA,IAC1B;AAAA,IACA,IAAI,QAAsB;AACxB,aAAO,eAAe;AAAA,IACxB;AAAA,IACA,IAAI,SAAsC;AACxC,YAAM,QAAQ,eAAe;AAC7B,aAAO,OAAO,OAAO,OAAO;AAAA,IAC9B;AAAA,IAEA,UAAgB;AACd,YAAM,QAAQ,eAAe;AAC7B,YAAM,UAAU;AAAA,IAClB;AAAA,IAEA,mBAAmB,QAAiC;AAClD,YAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,UAAI,CAAC,QAAS,QAAO;AAErB,YAAM,MAAM,QAAQ,IAAI,EACrB,QAAQ,EAAI,EACZ,QAAQ,CAAC,MAAW,OAAO,YAAY,CAAC,CAAC,EACzC,MAAM,CAAC,MAAW,OAAO,UAAU,CAAC,CAAC,EACrC,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAIhD,UAFI,OAAO,WAAS,IAAI,QAAQ,OAAO,OAAO,GAE1C,CAAC,OAAO,YAAa,QAAO;AAEhC,YAAM,YAAY,QAAQ,UAAU,EACjC,QAAQ,EAAI,EACZ,YAAY,OAAO,kBAAkB,GAAG,EACxC,QAAQ,CAAC,MAAW,OAAO,cAAc,CAAC,CAAC,EAC3C,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAEhD,aAAI,OAAO,WAAS,UAAU,QAAQ,OAAO,OAAO,GAE7C,QAAQ,UAAU,WAAW,GAAG;AAAA,IACzC;AAAA,EACF;AACF;",
4
+ "mappings": "AAEA,MAAM,aAAa;AAEnB,SAAS,iBAA+B;AACtC,QAAM,IAAI;AACV,SAAK,EAAE,UAAU,MACf,EAAE,UAAU,IAAI;AAAA,IACd,SAAS;AAAA,IACT,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB,YAAY;AAAA,EACd,IAEK,EAAE,UAAU;AACrB;AAmBO,SAAS,oBAA4C;AAC1D,SAAO;AAAA,IACL,IAAI,YAAqB;AACvB,aAAO,eAAe,EAAE;AAAA,IAC1B;AAAA,IACA,IAAI,QAAsB;AACxB,aAAO,eAAe;AAAA,IACxB;AAAA,IACA,IAAI,SAAsC;AACxC,YAAM,QAAQ,eAAe;AAC7B,aAAO,OAAO,OAAO,OAAO;AAAA,IAC9B;AAAA,IAEA,UAAgB;AACd,YAAM,QAAQ,eAAe;AAC7B,YAAM,UAAU;AAAA,IAClB;AAAA,IAEA,mBAAmB,QAAiC;AAClD,YAAM,EAAE,QAAQ,IAAI,eAAe;AACnC,UAAI,CAAC,QAAS,QAAO;AAErB,YAAM,oBAAoB,OAAO,kBAAkB,KAI7C,MAAM,QAAQ,IAAI,EACrB,QAAQ,EAAI,EACZ,YAAY,GAAK,EACjB,QAAQ,CAAC,MAAW,OAAO,YAAY,CAAC,CAAC,EACzC,MAAM,CAAC,MAAW,OAAO,UAAU,CAAC,CAAC,EACrC,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAKhD,UAHI,OAAO,WAAS,IAAI,QAAQ,OAAO,OAAO,GAG1C,CAAC,OAAO,YAAa,QAAO;AAGhC,YAAM,YAAY,QAAQ,UAAU,EACjC,QAAQ,EAAI,EACZ,YAAY,iBAAiB,EAC7B,QAAQ,CAAC,MAAW,OAAO,YAAY,CAAC,CAAC,EACzC,QAAQ,CAAC,MAAW,OAAO,cAAc,CAAC,CAAC,EAC3C,WAAW,CAAC,MAAW,OAAO,aAAa,CAAC,CAAC;AAEhD,aAAI,OAAO,WAAS,UAAU,QAAQ,OAAO,OAAO,GAG7C,QAAQ,UAAU,WAAW,GAAG;AAAA,IACzC;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -29,9 +29,10 @@ function getGestureHandler() {
29
29
  Gesture
30
30
  } = getGlobalState();
31
31
  if (!Gesture) return null;
32
- const tap = Gesture.Tap().runOnJS(!0).onBegin(e => config.onPressIn?.(e)).onEnd(e => config.onPress?.(e)).onFinalize(e => config.onPressOut?.(e));
32
+ const longPressDuration = config.delayLongPress ?? 500,
33
+ tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin(e => config.onPressIn?.(e)).onEnd(e => config.onPress?.(e)).onFinalize(e => config.onPressOut?.(e));
33
34
  if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
34
- const longPress = Gesture.LongPress().runOnJS(!0).minDuration(config.delayLongPress ?? 500).onStart(e => config.onLongPress?.(e)).onFinalize(e => config.onPressOut?.(e));
35
+ const longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin(e => config.onPressIn?.(e)).onStart(e => config.onLongPress?.(e)).onFinalize(e => config.onPressOut?.(e));
35
36
  return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
36
37
  }
37
38
  };
@@ -1 +1 @@
1
- {"version":3,"names":["GLOBAL_KEY","getGlobalState","g","globalThis","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","state","set","updates","Object","assign","disable","createPressGesture","config","tap","Tap","runOnJS","onBegin","e","onPressIn","onEnd","onPress","onFinalize","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","delayLongPress","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAEA,MAAMA,UAAA,GAAa;AAEnB,SAASC,eAAA,EAA+B;EACtC,MAAMC,CAAA,GAAIC,UAAA;EACV,OAAKD,CAAA,CAAEF,UAAU,MACfE,CAAA,CAAEF,UAAU,IAAI;IACdI,OAAA,EAAS;IACTC,OAAA,EAAS;IACTC,eAAA,EAAiB;IACjBC,UAAA,EAAY;EACd,IAEKL,CAAA,CAAEF,UAAU;AACrB;AAmBO,SAASQ,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAOR,cAAA,CAAe,EAAEG,OAAA;IAC1B;IACA,IAAIM,MAAA,EAAsB;MACxB,OAAOT,cAAA,CAAe;IACxB;IACAU,IAAIC,OAAA,EAAsC;MACxC,MAAMF,KAAA,GAAQT,cAAA,CAAe;MAC7BY,MAAA,CAAOC,MAAA,CAAOJ,KAAA,EAAOE,OAAO;IAC9B;IAEAG,QAAA,EAAgB;MACd,MAAML,KAAA,GAAQT,cAAA,CAAe;MAC7BS,KAAA,CAAMN,OAAA,GAAU;IAClB;IAEAY,mBAAmBC,MAAA,EAAiC;MAClD,MAAM;QAAEZ;MAAQ,IAAIJ,cAAA,CAAe;MACnC,IAAI,CAACI,OAAA,EAAS,OAAO;MAErB,MAAMa,GAAA,GAAMb,OAAA,CAAQc,GAAA,CAAI,EACrBC,OAAA,CAAQ,EAAI,EACZC,OAAA,CAASC,CAAA,IAAWL,MAAA,CAAOM,SAAA,GAAYD,CAAC,CAAC,EACzCE,KAAA,CAAOF,CAAA,IAAWL,MAAA,CAAOQ,OAAA,GAAUH,CAAC,CAAC,EACrCI,UAAA,CAAYJ,CAAA,IAAWL,MAAA,CAAOU,UAAA,GAAaL,CAAC,CAAC;MAIhD,IAFIL,MAAA,CAAOW,OAAA,IAASV,GAAA,CAAIU,OAAA,CAAQX,MAAA,CAAOW,OAAO,GAE1C,CAACX,MAAA,CAAOY,WAAA,EAAa,OAAOX,GAAA;MAEhC,MAAMY,SAAA,GAAYzB,OAAA,CAAQ0B,SAAA,CAAU,EACjCX,OAAA,CAAQ,EAAI,EACZY,WAAA,CAAYf,MAAA,CAAOgB,cAAA,IAAkB,GAAG,EACxCC,OAAA,CAASZ,CAAA,IAAWL,MAAA,CAAOY,WAAA,GAAcP,CAAC,CAAC,EAC3CI,UAAA,CAAYJ,CAAA,IAAWL,MAAA,CAAOU,UAAA,GAAaL,CAAC,CAAC;MAEhD,OAAIL,MAAA,CAAOW,OAAA,IAASE,SAAA,CAAUF,OAAA,CAAQX,MAAA,CAAOW,OAAO,GAE7CvB,OAAA,CAAQ8B,SAAA,CAAUL,SAAA,EAAWZ,GAAG;IACzC;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["GLOBAL_KEY","getGlobalState","g","globalThis","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","state","set","updates","Object","assign","disable","createPressGesture","config","longPressDuration","delayLongPress","tap","Tap","runOnJS","maxDuration","onBegin","e","onPressIn","onEnd","onPress","onFinalize","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAEA,MAAMA,UAAA,GAAa;AAEnB,SAASC,eAAA,EAA+B;EACtC,MAAMC,CAAA,GAAIC,UAAA;EACV,OAAKD,CAAA,CAAEF,UAAU,MACfE,CAAA,CAAEF,UAAU,IAAI;IACdI,OAAA,EAAS;IACTC,OAAA,EAAS;IACTC,eAAA,EAAiB;IACjBC,UAAA,EAAY;EACd,IAEKL,CAAA,CAAEF,UAAU;AACrB;AAmBO,SAASQ,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAOR,cAAA,CAAe,EAAEG,OAAA;IAC1B;IACA,IAAIM,MAAA,EAAsB;MACxB,OAAOT,cAAA,CAAe;IACxB;IACAU,IAAIC,OAAA,EAAsC;MACxC,MAAMF,KAAA,GAAQT,cAAA,CAAe;MAC7BY,MAAA,CAAOC,MAAA,CAAOJ,KAAA,EAAOE,OAAO;IAC9B;IAEAG,QAAA,EAAgB;MACd,MAAML,KAAA,GAAQT,cAAA,CAAe;MAC7BS,KAAA,CAAMN,OAAA,GAAU;IAClB;IAEAY,mBAAmBC,MAAA,EAAiC;MAClD,MAAM;QAAEZ;MAAQ,IAAIJ,cAAA,CAAe;MACnC,IAAI,CAACI,OAAA,EAAS,OAAO;MAErB,MAAMa,iBAAA,GAAoBD,MAAA,CAAOE,cAAA,IAAkB;QAI7CC,GAAA,GAAMf,OAAA,CAAQgB,GAAA,CAAI,EACrBC,OAAA,CAAQ,EAAI,EACZC,WAAA,CAAY,GAAK,EACjBC,OAAA,CAASC,CAAA,IAAWR,MAAA,CAAOS,SAAA,GAAYD,CAAC,CAAC,EACzCE,KAAA,CAAOF,CAAA,IAAWR,MAAA,CAAOW,OAAA,GAAUH,CAAC,CAAC,EACrCI,UAAA,CAAYJ,CAAA,IAAWR,MAAA,CAAOa,UAAA,GAAaL,CAAC,CAAC;MAKhD,IAHIR,MAAA,CAAOc,OAAA,IAASX,GAAA,CAAIW,OAAA,CAAQd,MAAA,CAAOc,OAAO,GAG1C,CAACd,MAAA,CAAOe,WAAA,EAAa,OAAOZ,GAAA;MAGhC,MAAMa,SAAA,GAAY5B,OAAA,CAAQ6B,SAAA,CAAU,EACjCZ,OAAA,CAAQ,EAAI,EACZa,WAAA,CAAYjB,iBAAiB,EAC7BM,OAAA,CAASC,CAAA,IAAWR,MAAA,CAAOS,SAAA,GAAYD,CAAC,CAAC,EACzCW,OAAA,CAASX,CAAA,IAAWR,MAAA,CAAOe,WAAA,GAAcP,CAAC,CAAC,EAC3CI,UAAA,CAAYJ,CAAA,IAAWR,MAAA,CAAOa,UAAA,GAAaL,CAAC,CAAC;MAEhD,OAAIR,MAAA,CAAOc,OAAA,IAASE,SAAA,CAAUF,OAAA,CAAQd,MAAA,CAAOc,OAAO,GAG7C1B,OAAA,CAAQgC,SAAA,CAAUJ,SAAA,EAAWb,GAAG;IACzC;EACF;AACF","ignoreList":[]}
@@ -29,25 +29,29 @@ function getGestureHandler() {
29
29
  Gesture
30
30
  } = getGlobalState();
31
31
  if (!Gesture) return null;
32
- var tap = Gesture.Tap().runOnJS(!0).onBegin(function (e) {
32
+ var _config_delayLongPress,
33
+ longPressDuration = (_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500,
34
+ tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin(function (e) {
35
+ var _config_onPressIn;
36
+ return (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
37
+ }).onEnd(function (e) {
38
+ var _config_onPress;
39
+ return (_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
40
+ }).onFinalize(function (e) {
41
+ var _config_onPressOut;
42
+ return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
43
+ });
44
+ if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
45
+ var longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin(function (e) {
33
46
  var _config_onPressIn;
34
47
  return (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
35
- }).onEnd(function (e) {
36
- var _config_onPress;
37
- return (_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
48
+ }).onStart(function (e) {
49
+ var _config_onLongPress;
50
+ return (_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
38
51
  }).onFinalize(function (e) {
39
52
  var _config_onPressOut;
40
53
  return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
41
54
  });
42
- if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
43
- var _config_delayLongPress,
44
- longPress = Gesture.LongPress().runOnJS(!0).minDuration((_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500).onStart(function (e) {
45
- var _config_onLongPress;
46
- return (_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
47
- }).onFinalize(function (e) {
48
- var _config_onPressOut;
49
- return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
50
- });
51
55
  return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
52
56
  }
53
57
  };
@@ -1 +1 @@
1
- {"version":3,"names":["GLOBAL_KEY","getGlobalState","g","globalThis","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","state","set","updates","Object","assign","disable","createPressGesture","config","tap","Tap","runOnJS","onBegin","e","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress","onFinalize"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAAA,UAAM,qCAAa;AAEnB,SAASC,eAAA,EAA+B;EACtC,IAAAC,CAAA,GAAMC,UAAI;EACV,OAAKD,CAAA,CAAEF,UAAU,MACfE,CAAA,CAAEF,UAAU,IAAI;IACdI,OAAA,EAAS;IACTC,OAAA,EAAS;IACTC,eAAA,EAAiB;IACjBC,UAAA,EAAY;EACd,IAEKL,CAAA,CAAEF,UAAU;AACrB;AAmBO,SAASQ,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAOR,cAAA,CAAe,EAAEG,OAAA;IAC1B;IACA,IAAIM,MAAA,EAAsB;MACxB,OAAOT,cAAA,CAAe;IACxB;IACAU,IAAIC,OAAA,EAAsC;MACxC,IAAAF,KAAM,GAAAT,cAAQ;MACdY,MAAA,CAAOC,MAAA,CAAOJ,KAAA,EAAOE,OAAO;IAC9B;IAEAG,QAAA,EAAgB;MACd,IAAAL,KAAM,GAAAT,cAAQ;MACdS,KAAA,CAAMN,OAAA,GAAU;IAClB;IAEAY,mBAAmBC,MAAA,EAAiC;MAClD;QAAMZ;MAAE,IAAQJ,cAAI;MACpB,IAAI,CAACI,OAAA,EAAS,OAAO;MAErB,IAAAa,GAAM,GAAAb,OAAM,CAAAc,GAAQ,GAAIC,OACrB,GAAQ,EAAIC,OACZ,WAAoBC,CAAA;QAMvB,IAFIC,iBAAgB;QAIpB,OAAM,CAAAA,iBAAoB,GAAAN,MAAU,CAAAO,SACzB,MACR,QAAAD,iBAAmB,UAAkB,IAAG,KACxC,IAAQA,iBAAmB,CAAAE,IAAA,CAAAR,MAAe,EAACK,CAC3C;MAEH,GAAAI,KAAI,WAAOJ,CAAA;QAGb,IAAAK,eAAA;QACF,QAAAA,eAAA,GAAAV,MAAA,CAAAW,OAAA,cAAAD,eAAA,uBAAAA,eAAA,CAAAF,IAAA,CAAAR,MAAA,EAAAK,CAAA;MACF,GAAAO,UAAA,WAAAP,CAAA","ignoreList":[]}
1
+ {"version":3,"names":["GLOBAL_KEY","getGlobalState","g","globalThis","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","state","set","updates","Object","assign","disable","createPressGesture","config","_config_delayLongPress","longPressDuration","delayLongPress","tap","Tap","runOnJS","maxDuration","onBegin","e","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress","onFinalize"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAEA,IAAAA,UAAM,qCAAa;AAEnB,SAASC,eAAA,EAA+B;EACtC,IAAAC,CAAA,GAAMC,UAAI;EACV,OAAKD,CAAA,CAAEF,UAAU,MACfE,CAAA,CAAEF,UAAU,IAAI;IACdI,OAAA,EAAS;IACTC,OAAA,EAAS;IACTC,eAAA,EAAiB;IACjBC,UAAA,EAAY;EACd,IAEKL,CAAA,CAAEF,UAAU;AACrB;AAmBO,SAASQ,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAOR,cAAA,CAAe,EAAEG,OAAA;IAC1B;IACA,IAAIM,MAAA,EAAsB;MACxB,OAAOT,cAAA,CAAe;IACxB;IACAU,IAAIC,OAAA,EAAsC;MACxC,IAAAF,KAAM,GAAAT,cAAQ;MACdY,MAAA,CAAOC,MAAA,CAAOJ,KAAA,EAAOE,OAAO;IAC9B;IAEAG,QAAA,EAAgB;MACd,IAAAL,KAAM,GAAAT,cAAQ;MACdS,KAAA,CAAMN,OAAA,GAAU;IAClB;IAEAY,mBAAmBC,MAAA,EAAiC;MAClD;QAAMZ;MAAE,IAAQJ,cAAI;MACpB,IAAI,CAACI,OAAA,EAAS,OAAO;MAErB,IAAAa,sBAA0B;QAAAC,iBAAO,IAAAD,sBAIb,GAAID,MACrB,CAAAG,cACA,MAAY,IACZ,IAAAF,sBAA2B,UAAc,IACzCA,sBAAyB,MAAU;QAAEG,GACrC,GAAAhB,OAAW,CAACiB,GAAA,GAAWC,OAAO,KAAAC,WAAe,MAAAC,OAAA,WAAAC,CAAA;UAKhD,IAHIC,iBAAgB;UAMpB,OAAM,CAAAA,iBAAoB,GAAAV,MAAU,CAAAW,SACzB,MACR,QAAAD,iBAAY,KACZ,SAAS,KAAW,IAAAA,iBAAqB,CAAAE,IACzC,CAAAZ,MAAS,EAAAS,CAAA;QAGZ,GAAAI,KAAI,WAAOJ,CAAA;UAIb,IAAAK,eAAA;UACF,QAAAA,eAAA,GAAAd,MAAA,CAAAe,OAAA,cAAAD,eAAA,uBAAAA,eAAA,CAAAF,IAAA,CAAAZ,MAAA,EAAAS,CAAA;QACF,GAAAO,UAAA,WAAAP,CAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/native",
3
- "version": "2.0.0-1769288527117",
3
+ "version": "2.0.0-1769294704640",
4
4
  "description": "Native setup modules for Tamagui - portals, gesture handler, worklets, and more",
5
5
  "type": "module",
6
6
  "sideEffects": true,
@@ -79,7 +79,7 @@
79
79
  }
80
80
  },
81
81
  "devDependencies": {
82
- "@tamagui/build": "2.0.0-1769288527117",
82
+ "@tamagui/build": "2.0.0-1769294704640",
83
83
  "react": "*",
84
84
  "react-native": "0.81.5",
85
85
  "react-native-gesture-handler": "~2.28.0",
@@ -54,24 +54,33 @@ export function getGestureHandler(): GestureHandlerAccessor {
54
54
  const { Gesture } = getGlobalState()
55
55
  if (!Gesture) return null
56
56
 
57
+ const longPressDuration = config.delayLongPress ?? 500
58
+
59
+ // Tap gesture for regular presses
60
+ // Use long maxDuration to not cancel during long presses
57
61
  const tap = Gesture.Tap()
58
- .runOnJS(true) // run callbacks on JS thread
62
+ .runOnJS(true)
63
+ .maxDuration(10000) // allow very long presses
59
64
  .onBegin((e: any) => config.onPressIn?.(e))
60
65
  .onEnd((e: any) => config.onPress?.(e))
61
66
  .onFinalize((e: any) => config.onPressOut?.(e))
62
67
 
63
68
  if (config.hitSlop) tap.hitSlop(config.hitSlop)
64
69
 
70
+ // if no long press handler, just use tap
65
71
  if (!config.onLongPress) return tap
66
72
 
73
+ // LongPress gesture for long press handling
67
74
  const longPress = Gesture.LongPress()
68
- .runOnJS(true) // run callbacks on JS thread
69
- .minDuration(config.delayLongPress ?? 500)
75
+ .runOnJS(true)
76
+ .minDuration(longPressDuration)
77
+ .onBegin((e: any) => config.onPressIn?.(e))
70
78
  .onStart((e: any) => config.onLongPress?.(e))
71
79
  .onFinalize((e: any) => config.onPressOut?.(e))
72
80
 
73
81
  if (config.hitSlop) longPress.hitSlop(config.hitSlop)
74
82
 
83
+ // exclusive: longPress has priority, tap is fallback for quick presses
75
84
  return Gesture.Exclusive(longPress, tap)
76
85
  },
77
86
  }
@@ -5,7 +5,7 @@
5
5
  "src/gestureState.ts"
6
6
  ],
7
7
  "sourcesContent": [
8
- "import type { GestureState } from './types'\n\nconst GLOBAL_KEY = '__tamagui_native_gesture_state__'\n\nfunction getGlobalState(): GestureState {\n const g = globalThis as any\n if (!g[GLOBAL_KEY]) {\n g[GLOBAL_KEY] = {\n enabled: false,\n Gesture: null,\n GestureDetector: null,\n ScrollView: null,\n }\n }\n return g[GLOBAL_KEY]\n}\n\nexport type PressGestureConfig = {\n onPressIn?: (e: any) => void\n onPressOut?: (e: any) => void\n onPress?: (e: any) => void\n onLongPress?: (e: any) => void\n delayLongPress?: number\n hitSlop?: any\n}\n\nexport interface GestureHandlerAccessor {\n readonly isEnabled: boolean\n readonly state: GestureState\n set(updates: Partial<GestureState>): void\n disable(): void\n createPressGesture(config: PressGestureConfig): any\n}\n\nexport function getGestureHandler(): GestureHandlerAccessor {\n return {\n get isEnabled(): boolean {\n return getGlobalState().enabled\n },\n get state(): GestureState {\n return getGlobalState()\n },\n set(updates: Partial<GestureState>): void {\n const state = getGlobalState()\n Object.assign(state, updates)\n },\n\n disable(): void {\n const state = getGlobalState()\n state.enabled = false\n },\n\n createPressGesture(config: PressGestureConfig): any {\n const { Gesture } = getGlobalState()\n if (!Gesture) return null\n\n const tap = Gesture.Tap()\n .runOnJS(true) // run callbacks on JS thread\n .onBegin((e: any) => config.onPressIn?.(e))\n .onEnd((e: any) => config.onPress?.(e))\n .onFinalize((e: any) => config.onPressOut?.(e))\n\n if (config.hitSlop) tap.hitSlop(config.hitSlop)\n\n if (!config.onLongPress) return tap\n\n const longPress = Gesture.LongPress()\n .runOnJS(true) // run callbacks on JS thread\n .minDuration(config.delayLongPress ?? 500)\n .onStart((e: any) => config.onLongPress?.(e))\n .onFinalize((e: any) => config.onPressOut?.(e))\n\n if (config.hitSlop) longPress.hitSlop(config.hitSlop)\n\n return Gesture.Exclusive(longPress, tap)\n },\n }\n}\n"
8
+ "import type { GestureState } from './types'\n\nconst GLOBAL_KEY = '__tamagui_native_gesture_state__'\n\nfunction getGlobalState(): GestureState {\n const g = globalThis as any\n if (!g[GLOBAL_KEY]) {\n g[GLOBAL_KEY] = {\n enabled: false,\n Gesture: null,\n GestureDetector: null,\n ScrollView: null,\n }\n }\n return g[GLOBAL_KEY]\n}\n\nexport type PressGestureConfig = {\n onPressIn?: (e: any) => void\n onPressOut?: (e: any) => void\n onPress?: (e: any) => void\n onLongPress?: (e: any) => void\n delayLongPress?: number\n hitSlop?: any\n}\n\nexport interface GestureHandlerAccessor {\n readonly isEnabled: boolean\n readonly state: GestureState\n set(updates: Partial<GestureState>): void\n disable(): void\n createPressGesture(config: PressGestureConfig): any\n}\n\nexport function getGestureHandler(): GestureHandlerAccessor {\n return {\n get isEnabled(): boolean {\n return getGlobalState().enabled\n },\n get state(): GestureState {\n return getGlobalState()\n },\n set(updates: Partial<GestureState>): void {\n const state = getGlobalState()\n Object.assign(state, updates)\n },\n\n disable(): void {\n const state = getGlobalState()\n state.enabled = false\n },\n\n createPressGesture(config: PressGestureConfig): any {\n const { Gesture } = getGlobalState()\n if (!Gesture) return null\n\n const longPressDuration = config.delayLongPress ?? 500\n\n // Tap gesture for regular presses\n // Use long maxDuration to not cancel during long presses\n const tap = Gesture.Tap()\n .runOnJS(true)\n .maxDuration(10000) // allow very long presses\n .onBegin((e: any) => config.onPressIn?.(e))\n .onEnd((e: any) => config.onPress?.(e))\n .onFinalize((e: any) => config.onPressOut?.(e))\n\n if (config.hitSlop) tap.hitSlop(config.hitSlop)\n\n // if no long press handler, just use tap\n if (!config.onLongPress) return tap\n\n // LongPress gesture for long press handling\n const longPress = Gesture.LongPress()\n .runOnJS(true)\n .minDuration(longPressDuration)\n .onBegin((e: any) => config.onPressIn?.(e))\n .onStart((e: any) => config.onLongPress?.(e))\n .onFinalize((e: any) => config.onPressOut?.(e))\n\n if (config.hitSlop) longPress.hitSlop(config.hitSlop)\n\n // exclusive: longPress has priority, tap is fallback for quick presses\n return Gesture.Exclusive(longPress, tap)\n },\n }\n}\n"
9
9
  ],
10
10
  "version": 3
11
11
  }