@hanzogui/native 3.0.6 → 4.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.
Files changed (163) hide show
  1. package/dist/cjs/PressBoundary.cjs +92 -0
  2. package/dist/cjs/PressBoundary.native.js +105 -0
  3. package/dist/cjs/PressBoundary.native.js.map +1 -0
  4. package/dist/cjs/burntState.cjs +14 -12
  5. package/dist/cjs/burntState.native.js +18 -16
  6. package/dist/cjs/burntState.native.js.map +1 -1
  7. package/dist/cjs/components.cjs +20 -15
  8. package/dist/cjs/components.native.js +24 -22
  9. package/dist/cjs/components.native.js.map +1 -1
  10. package/dist/cjs/gesture-handler.cjs +36 -0
  11. package/dist/cjs/gesture-handler.native.js +39 -0
  12. package/dist/cjs/gesture-handler.native.js.map +1 -0
  13. package/dist/cjs/gestureState.cjs +116 -23
  14. package/dist/cjs/gestureState.native.js +127 -38
  15. package/dist/cjs/gestureState.native.js.map +1 -1
  16. package/dist/cjs/globalState.cjs +17 -11
  17. package/dist/cjs/globalState.native.js +17 -11
  18. package/dist/cjs/globalState.native.js.map +1 -1
  19. package/dist/cjs/index.cjs +26 -21
  20. package/dist/cjs/index.native.js +26 -21
  21. package/dist/cjs/index.native.js.map +1 -1
  22. package/dist/cjs/keyboardControllerState.cjs +14 -12
  23. package/dist/cjs/keyboardControllerState.native.js +23 -21
  24. package/dist/cjs/keyboardControllerState.native.js.map +1 -1
  25. package/dist/cjs/linearGradientState.cjs +14 -12
  26. package/dist/cjs/linearGradientState.native.js +17 -15
  27. package/dist/cjs/linearGradientState.native.js.map +1 -1
  28. package/dist/cjs/nativeMenuContext.cjs +13 -11
  29. package/dist/cjs/nativeMenuContext.native.js +14 -12
  30. package/dist/cjs/nativeMenuContext.native.js.map +1 -1
  31. package/dist/cjs/portalState.cjs +14 -12
  32. package/dist/cjs/portalState.native.js +17 -15
  33. package/dist/cjs/portalState.native.js.map +1 -1
  34. package/dist/cjs/safeAreaState.cjs +38 -30
  35. package/dist/cjs/safeAreaState.native.js +39 -31
  36. package/dist/cjs/safeAreaState.native.js.map +1 -1
  37. package/dist/cjs/setup-burnt.cjs +9 -8
  38. package/dist/cjs/setup-burnt.native.js +9 -8
  39. package/dist/cjs/setup-burnt.native.js.map +1 -1
  40. package/dist/cjs/setup-expo-linear-gradient.cjs +9 -8
  41. package/dist/cjs/setup-expo-linear-gradient.native.js +9 -8
  42. package/dist/cjs/setup-expo-linear-gradient.native.js.map +1 -1
  43. package/dist/cjs/setup-gesture-handler.cjs +58 -18
  44. package/dist/cjs/setup-gesture-handler.native.js +58 -18
  45. package/dist/cjs/setup-gesture-handler.native.js.map +1 -1
  46. package/dist/cjs/setup-keyboard-controller.native.js +20 -17
  47. package/dist/cjs/setup-safe-area.cjs +28 -1
  48. package/dist/cjs/setup-safe-area.native.js +19 -13
  49. package/dist/cjs/setup-safe-area.native.js.map +1 -1
  50. package/dist/cjs/setup-teleport.cjs +13 -13
  51. package/dist/cjs/setup-teleport.native.js +13 -13
  52. package/dist/cjs/setup-teleport.native.js.map +1 -1
  53. package/dist/cjs/setup-worklets.cjs +11 -8
  54. package/dist/cjs/setup-worklets.native.js +11 -8
  55. package/dist/cjs/setup-worklets.native.js.map +1 -1
  56. package/dist/cjs/setup-zeego.cjs +12 -9
  57. package/dist/cjs/setup-zeego.native.js +12 -9
  58. package/dist/cjs/setup-zeego.native.js.map +1 -1
  59. package/dist/cjs/types.cjs +7 -5
  60. package/dist/cjs/types.native.js +7 -5
  61. package/dist/cjs/types.native.js.map +1 -1
  62. package/dist/cjs/workletsState.cjs +14 -12
  63. package/dist/cjs/workletsState.native.js +20 -18
  64. package/dist/cjs/workletsState.native.js.map +1 -1
  65. package/dist/cjs/zeegoState.cjs +14 -12
  66. package/dist/cjs/zeegoState.native.js +18 -16
  67. package/dist/cjs/zeegoState.native.js.map +1 -1
  68. package/dist/esm/PressBoundary.mjs +56 -0
  69. package/dist/esm/PressBoundary.mjs.map +1 -0
  70. package/dist/esm/PressBoundary.native.js +66 -0
  71. package/dist/esm/PressBoundary.native.js.map +1 -0
  72. package/dist/esm/burntState.mjs +2 -2
  73. package/dist/esm/burntState.native.js +2 -2
  74. package/dist/esm/components.mjs +6 -3
  75. package/dist/esm/components.mjs.map +1 -1
  76. package/dist/esm/components.native.js +10 -10
  77. package/dist/esm/components.native.js.map +1 -1
  78. package/dist/esm/gesture-handler.mjs +6 -0
  79. package/dist/esm/gesture-handler.mjs.map +1 -0
  80. package/dist/esm/gesture-handler.native.js +6 -0
  81. package/dist/esm/gesture-handler.native.js.map +1 -0
  82. package/dist/esm/gestureState.mjs +102 -13
  83. package/dist/esm/gestureState.mjs.map +1 -1
  84. package/dist/esm/gestureState.native.js +108 -23
  85. package/dist/esm/gestureState.native.js.map +1 -1
  86. package/dist/esm/globalState.mjs +5 -1
  87. package/dist/esm/globalState.mjs.map +1 -1
  88. package/dist/esm/globalState.native.js +5 -1
  89. package/dist/esm/globalState.native.js.map +1 -1
  90. package/dist/esm/index.js +2 -1
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/index.mjs +2 -1
  93. package/dist/esm/index.mjs.map +1 -1
  94. package/dist/esm/index.native.js +2 -1
  95. package/dist/esm/index.native.js.map +1 -1
  96. package/dist/esm/keyboardControllerState.mjs +2 -2
  97. package/dist/esm/keyboardControllerState.native.js +2 -2
  98. package/dist/esm/linearGradientState.mjs +2 -2
  99. package/dist/esm/linearGradientState.native.js +2 -2
  100. package/dist/esm/nativeMenuContext.mjs +1 -1
  101. package/dist/esm/nativeMenuContext.mjs.map +1 -1
  102. package/dist/esm/nativeMenuContext.native.js +1 -1
  103. package/dist/esm/nativeMenuContext.native.js.map +1 -1
  104. package/dist/esm/portalState.mjs +2 -2
  105. package/dist/esm/portalState.native.js +2 -2
  106. package/dist/esm/safeAreaState.mjs +26 -20
  107. package/dist/esm/safeAreaState.mjs.map +1 -1
  108. package/dist/esm/safeAreaState.native.js +26 -20
  109. package/dist/esm/safeAreaState.native.js.map +1 -1
  110. package/dist/esm/setup-burnt.mjs +9 -8
  111. package/dist/esm/setup-burnt.mjs.map +1 -1
  112. package/dist/esm/setup-burnt.native.js +9 -8
  113. package/dist/esm/setup-burnt.native.js.map +1 -1
  114. package/dist/esm/setup-expo-linear-gradient.mjs +9 -8
  115. package/dist/esm/setup-expo-linear-gradient.mjs.map +1 -1
  116. package/dist/esm/setup-expo-linear-gradient.native.js +9 -8
  117. package/dist/esm/setup-expo-linear-gradient.native.js.map +1 -1
  118. package/dist/esm/setup-gesture-handler.mjs +31 -18
  119. package/dist/esm/setup-gesture-handler.mjs.map +1 -1
  120. package/dist/esm/setup-gesture-handler.native.js +31 -18
  121. package/dist/esm/setup-gesture-handler.native.js.map +1 -1
  122. package/dist/esm/setup-keyboard-controller.native.js +20 -17
  123. package/dist/esm/setup-safe-area.mjs +27 -0
  124. package/dist/esm/setup-safe-area.mjs.map +1 -1
  125. package/dist/esm/setup-safe-area.native.js +19 -13
  126. package/dist/esm/setup-safe-area.native.js.map +1 -1
  127. package/dist/esm/setup-teleport.mjs +13 -13
  128. package/dist/esm/setup-teleport.mjs.map +1 -1
  129. package/dist/esm/setup-teleport.native.js +13 -13
  130. package/dist/esm/setup-teleport.native.js.map +1 -1
  131. package/dist/esm/setup-worklets.mjs +11 -8
  132. package/dist/esm/setup-worklets.mjs.map +1 -1
  133. package/dist/esm/setup-worklets.native.js +11 -8
  134. package/dist/esm/setup-worklets.native.js.map +1 -1
  135. package/dist/esm/setup-zeego.mjs +12 -9
  136. package/dist/esm/setup-zeego.mjs.map +1 -1
  137. package/dist/esm/setup-zeego.native.js +12 -9
  138. package/dist/esm/setup-zeego.native.js.map +1 -1
  139. package/dist/esm/workletsState.mjs +2 -2
  140. package/dist/esm/workletsState.native.js +2 -2
  141. package/dist/esm/zeegoState.mjs +2 -2
  142. package/dist/esm/zeegoState.native.js +2 -2
  143. package/gesture-handler/index.cjs +1 -0
  144. package/gesture-handler/index.js +1 -0
  145. package/gesture-handler/index.native.cjs +1 -0
  146. package/gesture-handler/index.native.js +1 -0
  147. package/gesture-handler.cjs +1 -0
  148. package/package.json +16 -3
  149. package/src/PressBoundary.tsx +81 -0
  150. package/src/gesture-handler.ts +17 -0
  151. package/src/gestureState.ts +137 -6
  152. package/src/index.ts +13 -2
  153. package/src/setup-burnt.ts +1 -1
  154. package/src/setup-gesture-handler.ts +38 -11
  155. package/src/setup-keyboard-controller.ts +1 -1
  156. package/src/setup-safe-area.ts +3 -3
  157. package/src/setup-worklets.ts +1 -1
  158. package/src/setup-zeego.ts +1 -1
  159. package/types/PressBoundary.d.ts +14 -0
  160. package/types/gesture-handler.d.ts +8 -0
  161. package/types/gestureState.d.ts +4 -0
  162. package/types/index.d.ts +4 -2
  163. package/types/setup-gesture-handler.d.ts +8 -1
@@ -1,10 +1,48 @@
1
1
  import { createGlobalState } from "./globalState.mjs";
2
- const state = createGlobalState("gesture", {
3
- enabled: !1,
2
+ const state = createGlobalState(`gesture`, {
3
+ enabled: false,
4
4
  Gesture: null,
5
5
  GestureDetector: null,
6
6
  ScrollView: null
7
7
  });
8
+ let pressGestureDebugId = 0;
9
+ let externalPressDebugId = 0;
10
+ const pressState = {
11
+ owner: null,
12
+ ownerId: null,
13
+ ownerSource: null,
14
+ timestamp: 0
15
+ };
16
+ function resetPressOwner() {
17
+ pressState.owner = null;
18
+ pressState.ownerId = null;
19
+ pressState.ownerSource = null;
20
+ pressState.timestamp = 0;
21
+ }
22
+ function resetStaleOwner(now, debugName) {
23
+ if (now - pressState.timestamp > 2e3) {
24
+ resetPressOwner();
25
+ }
26
+ }
27
+ function claimExternalPressOwnership(debugName) {
28
+ const now = Date.now();
29
+ resetStaleOwner(now, debugName);
30
+ const token = {};
31
+ const ownerId = ++externalPressDebugId;
32
+ const previousOwnerId = pressState.ownerId;
33
+ const previousOwnerSource = pressState.ownerSource;
34
+ pressState.owner = token;
35
+ pressState.ownerId = ownerId;
36
+ pressState.ownerSource = "external";
37
+ pressState.timestamp = now;
38
+ return token;
39
+ }
40
+ function releaseExternalPressOwnership(token, debugName) {
41
+ if (!token || pressState.owner !== token) {
42
+ return;
43
+ }
44
+ resetPressOwner();
45
+ }
8
46
  function getGestureHandler() {
9
47
  return {
10
48
  get isEnabled() {
@@ -17,26 +55,77 @@ function getGestureHandler() {
17
55
  Object.assign(state.get(), updates);
18
56
  },
19
57
  disable() {
20
- state.get().enabled = !1;
58
+ state.get().enabled = false;
21
59
  },
22
60
  createPressGesture(config) {
23
61
  const {
24
62
  Gesture
25
63
  } = state.get();
26
64
  if (!Gesture) return null;
27
- const longPressDuration = config.delayLongPress ?? 500,
28
- tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin(e => {
29
- config.onPressIn?.(e);
30
- }).onEnd(e => {
65
+ const longPressDuration = config.delayLongPress ?? 500;
66
+ const myToken = {};
67
+ const myDebugId = ++pressGestureDebugId;
68
+ const GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;
69
+ const tryClaimOwnership = () => {
70
+ const now = Date.now();
71
+ resetStaleOwner(now, config.debugName);
72
+ const withinGrace = now - pressState.timestamp < GRACE_PERIOD_MS;
73
+ const previousOwnerId = pressState.ownerId;
74
+ const previousOwnerSource = pressState.ownerSource;
75
+ if (pressState.owner === null || withinGrace && pressState.ownerSource !== "external") {
76
+ pressState.owner = myToken;
77
+ pressState.ownerId = myDebugId;
78
+ pressState.ownerSource = "internal";
79
+ pressState.timestamp = now;
80
+ }
81
+ return pressState.owner === myToken;
82
+ };
83
+ const isOwner = () => pressState.owner === myToken;
84
+ const releaseOwnership = () => {
85
+ if (pressState.owner === myToken) {
86
+ resetPressOwner();
87
+ }
88
+ };
89
+ const tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin(e => {
90
+ tryClaimOwnership();
91
+ setTimeout(() => {
92
+ if (isOwner()) {
93
+ config.onPressIn?.(e);
94
+ }
95
+ }, GRACE_PERIOD_MS + 1);
96
+ }).onEnd(e => {
97
+ if (isOwner()) {
31
98
  config.onPress?.(e);
32
- }).onFinalize(e => {
99
+ }
100
+ }).onFinalize(e => {
101
+ if (isOwner()) {
102
+ config.onPressOut?.(e);
103
+ releaseOwnership();
104
+ }
105
+ });
106
+ if (config.hitSlop) tap.hitSlop(config.hitSlop);
107
+ if (!config.onLongPress) return tap;
108
+ const longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onBegin(e => {
109
+ tryClaimOwnership();
110
+ setTimeout(() => {
111
+ if (isOwner()) {
112
+ config.onPressIn?.(e);
113
+ }
114
+ }, GRACE_PERIOD_MS + 1);
115
+ }).onStart(e => {
116
+ if (isOwner()) {
117
+ config.onLongPress?.(e);
118
+ }
119
+ }).onFinalize(e => {
120
+ if (isOwner()) {
33
121
  config.onPressOut?.(e);
34
- });
35
- if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
36
- const longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin(e => config.onPressIn?.(e)).onStart(e => config.onLongPress?.(e)).onFinalize(e => config.onPressOut?.(e));
37
- return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
122
+ releaseOwnership();
123
+ }
124
+ });
125
+ if (config.hitSlop) longPress.hitSlop(config.hitSlop);
126
+ return Gesture.Exclusive(longPress, tap);
38
127
  }
39
128
  };
40
129
  }
41
- export { getGestureHandler };
130
+ export { claimExternalPressOwnership, getGestureHandler, releaseExternalPressOwnership };
42
131
  //# sourceMappingURL=gestureState.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","get","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":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAgC,WAAW;EACvDE,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,eAAA,EAAiB;EACjBC,UAAA,EAAY;AACd,CAAC;AA0BM,SAASC,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAON,KAAA,CAAMO,GAAA,CAAI,EAAEN,OAAA;IACrB;IACA,IAAID,MAAA,EAAsB;MACxB,OAAOA,KAAA,CAAMO,GAAA,CAAI;IACnB;IACAC,IAAIC,OAAA,EAAsC;MACxCC,MAAA,CAAOC,MAAA,CAAOX,KAAA,CAAMO,GAAA,CAAI,GAAGE,OAAO;IACpC;IAEAG,QAAA,EAAgB;MACdZ,KAAA,CAAMO,GAAA,CAAI,EAAEN,OAAA,GAAU;IACxB;IAEAY,mBAAmBC,MAAA,EAAiC;MAClD,MAAM;QAAEZ;MAAQ,IAAIF,KAAA,CAAMO,GAAA,CAAI;MAC9B,IAAI,CAACL,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,IAAW;UACnBR,MAAA,CAAOS,SAAA,GAAYD,CAAC;QACtB,CAAC,EACAE,KAAA,CAAOF,CAAA,IAAW;UACjBR,MAAA,CAAOW,OAAA,GAAUH,CAAC;QACpB,CAAC,EACAI,UAAA,CAAYJ,CAAA,IAAW;UACtBR,MAAA,CAAOa,UAAA,GAAaL,CAAC;QACvB,CAAC;MAKH,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":[]}
1
+ {"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","pressState","owner","ownerId","ownerSource","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","previousOwnerId","previousOwnerSource","releaseExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","longPressDuration","delayLongPress","myToken","myDebugId","GRACE_PERIOD_MS","process","env","TAMAGUI_RNGH_PRESS_DELAY","tryClaimOwnership","withinGrace","isOwner","releaseOwnership","tap","Tap","runOnJS","maxDuration","onBegin","e","setTimeout","onPressIn","onEnd","onPress","onFinalize","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","Exclusive"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,48 @@
1
1
  import { createGlobalState } from "./globalState.native.js";
2
- var state = createGlobalState("gesture", {
3
- enabled: !1,
2
+ var state = createGlobalState(`gesture`, {
3
+ enabled: false,
4
4
  Gesture: null,
5
5
  GestureDetector: null,
6
6
  ScrollView: null
7
7
  });
8
+ var pressGestureDebugId = 0;
9
+ var externalPressDebugId = 0;
10
+ var pressState = {
11
+ owner: null,
12
+ ownerId: null,
13
+ ownerSource: null,
14
+ timestamp: 0
15
+ };
16
+ function resetPressOwner() {
17
+ pressState.owner = null;
18
+ pressState.ownerId = null;
19
+ pressState.ownerSource = null;
20
+ pressState.timestamp = 0;
21
+ }
22
+ function resetStaleOwner(now, debugName) {
23
+ if (now - pressState.timestamp > 2e3) {
24
+ resetPressOwner();
25
+ }
26
+ }
27
+ function claimExternalPressOwnership(debugName) {
28
+ var now = Date.now();
29
+ resetStaleOwner(now, debugName);
30
+ var token = {};
31
+ var ownerId = ++externalPressDebugId;
32
+ var previousOwnerId = pressState.ownerId;
33
+ var previousOwnerSource = pressState.ownerSource;
34
+ pressState.owner = token;
35
+ pressState.ownerId = ownerId;
36
+ pressState.ownerSource = "external";
37
+ pressState.timestamp = now;
38
+ return token;
39
+ }
40
+ function releaseExternalPressOwnership(token, debugName) {
41
+ if (!token || pressState.owner !== token) {
42
+ return;
43
+ }
44
+ resetPressOwner();
45
+ }
8
46
  function getGestureHandler() {
9
47
  return {
10
48
  get isEnabled() {
@@ -17,39 +55,86 @@ function getGestureHandler() {
17
55
  Object.assign(state.get(), updates);
18
56
  },
19
57
  disable() {
20
- state.get().enabled = !1;
58
+ state.get().enabled = false;
21
59
  },
22
60
  createPressGesture(config) {
23
61
  var {
24
62
  Gesture
25
63
  } = state.get();
26
64
  if (!Gesture) return null;
27
- var _config_delayLongPress,
28
- longPressDuration = (_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500,
29
- tap = Gesture.Tap().runOnJS(!0).maxDuration(1e4).onBegin(function (e) {
30
- var _config_onPressIn;
31
- (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 || _config_onPressIn.call(config, e);
32
- }).onEnd(function (e) {
65
+ var _config_delayLongPress;
66
+ var longPressDuration = (_config_delayLongPress = config.delayLongPress) !== null && _config_delayLongPress !== void 0 ? _config_delayLongPress : 500;
67
+ var myToken = {};
68
+ var myDebugId = ++pressGestureDebugId;
69
+ var GRACE_PERIOD_MS = process.env.TAMAGUI_RNGH_PRESS_DELAY ? +process.env.TAMAGUI_RNGH_PRESS_DELAY : 24;
70
+ var tryClaimOwnership = function () {
71
+ var now = Date.now();
72
+ resetStaleOwner(now, config.debugName);
73
+ var withinGrace = now - pressState.timestamp < GRACE_PERIOD_MS;
74
+ var previousOwnerId = pressState.ownerId;
75
+ var previousOwnerSource = pressState.ownerSource;
76
+ if (pressState.owner === null || withinGrace && pressState.ownerSource !== "external") {
77
+ pressState.owner = myToken;
78
+ pressState.ownerId = myDebugId;
79
+ pressState.ownerSource = "internal";
80
+ pressState.timestamp = now;
81
+ }
82
+ return pressState.owner === myToken;
83
+ };
84
+ var isOwner = function () {
85
+ return pressState.owner === myToken;
86
+ };
87
+ var releaseOwnership = function () {
88
+ if (pressState.owner === myToken) {
89
+ resetPressOwner();
90
+ }
91
+ };
92
+ var tap = Gesture.Tap().runOnJS(true).maxDuration(1e4).onBegin(function (e) {
93
+ tryClaimOwnership();
94
+ setTimeout(function () {
95
+ if (isOwner()) {
96
+ var _config_onPressIn;
97
+ (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
98
+ }
99
+ }, GRACE_PERIOD_MS + 1);
100
+ }).onEnd(function (e) {
101
+ if (isOwner()) {
33
102
  var _config_onPress;
34
- (_config_onPress = config.onPress) === null || _config_onPress === void 0 || _config_onPress.call(config, e);
35
- }).onFinalize(function (e) {
103
+ (_config_onPress = config.onPress) === null || _config_onPress === void 0 ? void 0 : _config_onPress.call(config, e);
104
+ }
105
+ }).onFinalize(function (e) {
106
+ if (isOwner()) {
36
107
  var _config_onPressOut;
37
- (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 || _config_onPressOut.call(config, e);
38
- });
39
- if (config.hitSlop && tap.hitSlop(config.hitSlop), !config.onLongPress) return tap;
40
- var longPress = Gesture.LongPress().runOnJS(!0).minDuration(longPressDuration).onBegin(function (e) {
41
- var _config_onPressIn;
42
- return (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
108
+ (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
109
+ releaseOwnership();
110
+ }
111
+ });
112
+ if (config.hitSlop) tap.hitSlop(config.hitSlop);
113
+ if (!config.onLongPress) return tap;
114
+ var longPress = Gesture.LongPress().runOnJS(true).minDuration(longPressDuration).onBegin(function (e) {
115
+ tryClaimOwnership();
116
+ setTimeout(function () {
117
+ if (isOwner()) {
118
+ var _config_onPressIn;
119
+ (_config_onPressIn = config.onPressIn) === null || _config_onPressIn === void 0 ? void 0 : _config_onPressIn.call(config, e);
120
+ }
121
+ }, GRACE_PERIOD_MS + 1);
43
122
  }).onStart(function (e) {
44
- var _config_onLongPress;
45
- return (_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
123
+ if (isOwner()) {
124
+ var _config_onLongPress;
125
+ (_config_onLongPress = config.onLongPress) === null || _config_onLongPress === void 0 ? void 0 : _config_onLongPress.call(config, e);
126
+ }
46
127
  }).onFinalize(function (e) {
47
- var _config_onPressOut;
48
- return (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
128
+ if (isOwner()) {
129
+ var _config_onPressOut;
130
+ (_config_onPressOut = config.onPressOut) === null || _config_onPressOut === void 0 ? void 0 : _config_onPressOut.call(config, e);
131
+ releaseOwnership();
132
+ }
49
133
  });
50
- return config.hitSlop && longPress.hitSlop(config.hitSlop), Gesture.Exclusive(longPress, tap);
134
+ if (config.hitSlop) longPress.hitSlop(config.hitSlop);
135
+ return Gesture.Exclusive(longPress, tap);
51
136
  }
52
137
  };
53
138
  }
54
- export { getGestureHandler };
139
+ export { claimExternalPressOwnership, getGestureHandler, releaseExternalPressOwnership };
55
140
  //# sourceMappingURL=gestureState.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","getGestureHandler","isEnabled","get","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","_config_onPressOut","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,IAAAC,KAAM,GAAAD,iBAAQ,UAAgC;EAC5CE,OAAA,EAAS;EACTC,OAAA,EAAS;EACTC,eAAA,EAAiB;EACjBC,UAAA,EAAY;AACd,CAAC;AA0BM,SAASC,kBAAA,EAA4C;EAC1D,OAAO;IACL,IAAIC,UAAA,EAAqB;MACvB,OAAON,KAAA,CAAMO,GAAA,CAAI,EAAEN,OAAA;IACrB;IACA,IAAID,MAAA,EAAsB;MACxB,OAAOA,KAAA,CAAMO,GAAA,CAAI;IACnB;IACAC,IAAIC,OAAA,EAAsC;MACxCC,MAAA,CAAOC,MAAA,CAAOX,KAAA,CAAMO,GAAA,CAAI,GAAGE,OAAO;IACpC;IAEAG,QAAA,EAAgB;MACdZ,KAAA,CAAMO,GAAA,CAAI,EAAEN,OAAA,GAAU;IACxB;IAEAY,mBAAmBC,MAAA,EAAiC;MAClD;QAAMZ;MAAE,IAAQF,KAAI,CAAAO,GAAM;MAC1B,IAAI,CAACL,OAAA,EAAS,OAAO;MAErB,IAAAa,sBAA0B;QAAAC,iBAAO,IAAAD,sBAIb,GAAID,MACrB,CAAAG,cACA,MAAY,IACZ,IAAAF,sBAAoB,cAAAA,sBAAA;QAAAG,GAAA,GAAAhB,OAAA,CAAAiB,GAAA,GAAAC,OAAA,KAAAC,WAAA,MAAAC,OAAA,WAAAC,CAAA;UACnB,IAAAC,iBAAoB;UACrB,CACAA,iBAAkB,GAAAV,MAAA,CAAAW,SAAA,cAAAD,iBAAA,eAAAA,iBAAA,CAAAE,IAAA,CAAAZ,MAAA,EAAAS,CAAA;QACjB,GAAAI,KAAA,CAAO,UAAAJ,CAAU,EAAC;UACnB,IACAK,eAAuB;UACtB,CAAAA,eAAO,GAAAd,MAAc,CAAAe,OAAA,cAAAD,eAAA,eAAAA,eAAA,CAAAF,IAAA,CAAAZ,MAAA,EAAAS,CAAA;QACvB,CAAC,EAAAO,UAAA,WAAAP,CAAA;UAKH,IAHIQ,kBAAgB;UAMpB,CAAAA,kBAAkB,GAAAjB,MAAQ,CAAAkB,UACvB,MAAQ,IACR,IAAAD,kBAAY,UACZ,KAAAA,kBAA2B,CAAAL,IAAA,CAAAZ,MAAc,EACzCS,CAAA;QAGH;MAIF,IAAAT,MAAA,CAAAmB,OAAA,IAAAf,GAAA,CAAAe,OAAA,CAAAnB,MAAA,CAAAmB,OAAA,IAAAnB,MAAA,CAAAoB,WAAA,SAAAhB,GAAA;MACF,IAAAiB,SAAA,GAAAjC,OAAA,CAAAkC,SAAA,GAAAhB,OAAA,KAAAiB,WAAA,CAAArB,iBAAA,EAAAM,OAAA,WAAAC,CAAA;QACF,IAAAC,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["createGlobalState","state","enabled","Gesture","GestureDetector","ScrollView","pressGestureDebugId","externalPressDebugId","pressState","owner","ownerId","ownerSource","timestamp","resetPressOwner","resetStaleOwner","now","debugName","claimExternalPressOwnership","Date","token","previousOwnerId","previousOwnerSource","releaseExternalPressOwnership","getGestureHandler","isEnabled","get","set","updates","Object","assign","disable","createPressGesture","config","_config_delayLongPress","longPressDuration","delayLongPress","myToken","myDebugId","GRACE_PERIOD_MS","process","env","TAMAGUI_RNGH_PRESS_DELAY","tryClaimOwnership","withinGrace","isOwner","releaseOwnership","tap","Tap","runOnJS","maxDuration","onBegin","e","setTimeout","_config_onPressIn","onPressIn","call","onEnd","_config_onPress","onPress","onFinalize","_config_onPressOut","onPressOut","hitSlop","onLongPress","longPress","LongPress","minDuration","onStart","_config_onLongPress"],"sources":["../../src/gestureState.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,9 +2,13 @@ function createGlobalState(key, defaultValue) {
2
2
  const GLOBAL_KEY = `__gui_${key}__`;
3
3
  function getGlobalState() {
4
4
  const g = globalThis;
5
- return g[GLOBAL_KEY] || (g[GLOBAL_KEY] = defaultValue), g[GLOBAL_KEY];
5
+ if (!g[GLOBAL_KEY]) {
6
+ g[GLOBAL_KEY] = defaultValue;
7
+ }
8
+ return g[GLOBAL_KEY];
6
9
  }
7
10
  function setGlobalState(newState) {
11
+ ;
8
12
  globalThis[GLOBAL_KEY] = newState;
9
13
  }
10
14
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,MAAMC,UAAA,GAAa,SAASF,GAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,MAAMC,CAAA,GAAIC,UAAA;IACV,OAAKD,CAAA,CAAEF,UAAU,MAGfE,CAAA,CAAEF,UAAU,IAAID,YAAA,GAEXG,CAAA,CAAEF,UAAU;EACrB;EAEA,SAASI,eAAeC,QAAA,EAAmB;IACvCF,UAAA,CAAyBH,UAAU,IAAIK,QAAA;EAC3C;EAEA,OAAO;IACLC,GAAA,EAAKL,cAAA;IACLM,GAAA,EAAKH;EACP;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,MAAMC,UAAA,GAAa,SAASF,GAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,MAAMC,CAAA,GAAIC,UAAA;IACV,IAAI,CAACD,CAAA,CAAEF,UAAU,GAAG;MAGlBE,CAAA,CAAEF,UAAU,IAAID,YAAA;IAClB;IACA,OAAOG,CAAA,CAAEF,UAAU;EACrB;EAEA,SAASI,eAAeC,QAAA,EAAmB;IACzC;IAAEF,UAAA,CAAyBH,UAAU,IAAIK,QAAA;EAC3C;EAEA,OAAO;IACLC,GAAA,EAAKL,cAAA;IACLM,GAAA,EAAKH;EACP;AACF","ignoreList":[]}
@@ -2,9 +2,13 @@ function createGlobalState(key, defaultValue) {
2
2
  var GLOBAL_KEY = `__gui_${key}__`;
3
3
  function getGlobalState() {
4
4
  var g = globalThis;
5
- return g[GLOBAL_KEY] || (g[GLOBAL_KEY] = defaultValue), g[GLOBAL_KEY];
5
+ if (!g[GLOBAL_KEY]) {
6
+ g[GLOBAL_KEY] = defaultValue;
7
+ }
8
+ return g[GLOBAL_KEY];
6
9
  }
7
10
  function setGlobalState(newState) {
11
+ ;
8
12
  globalThis[GLOBAL_KEY] = newState;
9
13
  }
10
14
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,IAAAC,UAAM,YAAaF,GAAS,IAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,IAAAC,CAAA,GAAMC,UAAI;IACV,OAAKD,CAAA,CAAEF,UAAU,MAGfE,CAAA,CAAEF,UAAU,IAAID,YAAA,GAEXG,CAAA,CAAEF,UAAU;EACrB;EAEA,SAASI,eAAeC,QAAA,EAAmB;IACvCF,UAAA,CAAyBH,UAAU,IAAIK,QAAA;EAC3C;EAEA,OAAO;IACLC,GAAA,EAAKL,cAAA;IACLM,GAAA,EAAKH;EACP;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createGlobalState","key","defaultValue","GLOBAL_KEY","getGlobalState","g","globalThis","setGlobalState","newState","get","set"],"sources":["../../src/globalState.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,kBACdC,GAAA,EACAC,YAAA,EAIA;EACA,IAAAC,UAAM,YAAaF,GAAS,IAAG;EAM/B,SAASG,eAAA,EAAoB;IAC3B,IAAAC,CAAA,GAAMC,UAAI;IACV,IAAI,CAACD,CAAA,CAAEF,UAAU,GAAG;MAGlBE,CAAA,CAAEF,UAAU,IAAID,YAAA;IAClB;IACA,OAAOG,CAAA,CAAEF,UAAU;EACrB;EAEA,SAASI,eAAeC,QAAA,EAAmB;IACzC;IAAEF,UAAA,CAAyBH,UAAU,IAAIK,QAAA;EAC3C;EAEA,OAAO;IACLC,GAAA,EAAKL,cAAA;IACLM,GAAA,EAAKH;EACP;AACF","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { getPortal } from "./portalState.mjs";
2
2
  import { getGestureHandler } from "./gestureState.mjs";
3
+ import { claimExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.mjs";
3
4
  import { getWorklets } from "./workletsState.mjs";
4
5
  import { getSafeArea } from "./safeAreaState.mjs";
5
6
  import { getLinearGradient } from "./linearGradientState.mjs";
@@ -8,5 +9,5 @@ import { getZeego } from "./zeegoState.mjs";
8
9
  import { NativeMenuContext } from "./nativeMenuContext.mjs";
9
10
  import { getBurnt } from "./burntState.mjs";
10
11
  import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.mjs";
11
- export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState };
12
+ export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPortal","getGestureHandler","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAIlC,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
1
+ {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACEC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { getPortal } from "./portalState.mjs";
2
2
  import { getGestureHandler } from "./gestureState.mjs";
3
+ import { claimExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.mjs";
3
4
  import { getWorklets } from "./workletsState.mjs";
4
5
  import { getSafeArea } from "./safeAreaState.mjs";
5
6
  import { getLinearGradient } from "./linearGradientState.mjs";
@@ -8,5 +9,5 @@ import { getZeego } from "./zeegoState.mjs";
8
9
  import { NativeMenuContext } from "./nativeMenuContext.mjs";
9
10
  import { getBurnt } from "./burntState.mjs";
10
11
  import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.mjs";
11
- export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState };
12
+ export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
12
13
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPortal","getGestureHandler","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAIlC,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
1
+ {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SACiCC,2BAAA,EACEC,6BAAA,QAC5B;AAWP,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SACEC,2BAAA,EACAC,0BAAA,EACAC,0BAAA,QACK;AAIP,SAASC,QAAA,QAAgB;AAEzB,SAASC,iBAAA,QAAyB;AAGlC,SAASC,QAAA,QAAgB;AAIzB,SAASC,YAAA,EAAcC,gBAAA,EAAkBC,oBAAA,QAA4B","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import { getPortal } from "./portalState.native.js";
2
2
  import { getGestureHandler } from "./gestureState.native.js";
3
+ import { claimExternalPressOwnership, releaseExternalPressOwnership } from "./gestureState.native.js";
3
4
  import { getWorklets } from "./workletsState.native.js";
4
5
  import { getSafeArea } from "./safeAreaState.native.js";
5
6
  import { getLinearGradient } from "./linearGradientState.native.js";
@@ -8,5 +9,5 @@ import { getZeego } from "./zeegoState.native.js";
8
9
  import { NativeMenuContext } from "./nativeMenuContext.native.js";
9
10
  import { getBurnt } from "./burntState.native.js";
10
11
  import { NativePortal, NativePortalHost, NativePortalProvider } from "./components.native.js";
11
- export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState };
12
+ export { NativeMenuContext, NativePortal, NativePortalHost, NativePortalProvider, getBurnt, getGestureHandler, getKeyboardControllerState, getLinearGradient, getPortal, getSafeArea, getWorklets, getZeego, isKeyboardControllerEnabled, setKeyboardControllerState, claimExternalPressOwnership as unstable_claimExternalPressOwnership, releaseExternalPressOwnership as unstable_releaseExternalPressOwnership };
12
13
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getPortal","getGestureHandler","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAIlC,SAASC,WAAA,QAAmB;AAI5B,SAASC,WAAA,QAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SAAAC,2BAAA,EAAAC,0BAAA,EAAAC,0BAAA;AAAA,SACEC,QAAA;AAAA,SACAC,iBAAA;AAAA,SACAC,QAAA;AAAA,SACKC,YAAA,EAAAC,gBAAA,EAAAC,oBAAA;AAIP,SAEAJ,iBAAS,EAGTE,YAAS,EAITC,gBAAS,E","ignoreList":[]}
1
+ {"version":3,"names":["getPortal","getGestureHandler","claimExternalPressOwnership","releaseExternalPressOwnership","getWorklets","getSafeArea","getLinearGradient","isKeyboardControllerEnabled","getKeyboardControllerState","setKeyboardControllerState","getZeego","NativeMenuContext","getBurnt","NativePortal","NativePortalHost","NativePortalProvider"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAuCA,SAASA,SAAA,QAAiB;AAI1B,SAASC,iBAAA,QAAyB;AAClC,SAAAC,2BAAA,EAAAC,6BAAA;AAAA,SACiCC,WAAA;AAAA,SACEC,WAAA;AAAA,SAC5BC,iBAAA;AAWP,SAASC,2BAAmB,EAAAC,0BAAA,EAAAC,0BAAA;AAI5B,SAASC,QAAA,gCAAmB;AAI5B,SAASC,iBAAA,QAAyB;AAIlC,SAAAC,QAAA;AAAA,SACEC,YAAA,EAAAC,gBAAA,EAAAC,oBAAA;AAAA,SAEAJ,iBAAA,EAAAE,YACK,EAIPC,gBAAS,EAETC,oBAAS,EAGTH,QAAS,EAITX,iBAAS,E","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { createGlobalState } from "./globalState.mjs";
2
- const state = createGlobalState("keyboard_controller", {
3
- enabled: !1,
2
+ const state = createGlobalState(`keyboard_controller`, {
3
+ enabled: false,
4
4
  KeyboardProvider: null,
5
5
  KeyboardAwareScrollView: null,
6
6
  useKeyboardHandler: null,
@@ -1,6 +1,6 @@
1
1
  import { createGlobalState } from "./globalState.native.js";
2
- var state = createGlobalState("keyboard_controller", {
3
- enabled: !1,
2
+ var state = createGlobalState(`keyboard_controller`, {
3
+ enabled: false,
4
4
  KeyboardProvider: null,
5
5
  KeyboardAwareScrollView: null,
6
6
  useKeyboardHandler: null,
@@ -1,6 +1,6 @@
1
1
  import { createGlobalState } from "./globalState.mjs";
2
- const state = createGlobalState("linear_gradient", {
3
- enabled: !1,
2
+ const state = createGlobalState(`linear_gradient`, {
3
+ enabled: false,
4
4
  Component: null
5
5
  });
6
6
  function getLinearGradient() {
@@ -1,6 +1,6 @@
1
1
  import { createGlobalState } from "./globalState.native.js";
2
- var state = createGlobalState("linear_gradient", {
3
- enabled: !1,
2
+ var state = createGlobalState(`linear_gradient`, {
3
+ enabled: false,
4
4
  Component: null
5
5
  });
6
6
  function getLinearGradient() {
@@ -1,4 +1,4 @@
1
1
  import { createContext } from "react";
2
- const NativeMenuContext = createContext(!1);
2
+ const NativeMenuContext = createContext(false);
3
3
  export { NativeMenuContext };
4
4
  //# sourceMappingURL=nativeMenuContext.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,MAAMC,iBAAA,GAA4CD,aAAA,CAAc,EAAK","ignoreList":[]}
1
+ {"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,MAAMC,iBAAA,GAA4CD,aAAA,CAAc,KAAK","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import { createContext } from "react";
2
- var NativeMenuContext = createContext(!1);
2
+ var NativeMenuContext = createContext(false);
3
3
  export { NativeMenuContext };
4
4
  //# sourceMappingURL=nativeMenuContext.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,IAAAC,iBAAM,GAAAD,aAA4C,GAAc","ignoreList":[]}
1
+ {"version":3,"names":["createContext","NativeMenuContext"],"sources":["../../src/nativeMenuContext.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,aAAA,QAAqB;AAEvB,IAAAC,iBAAM,GAAAD,aAA4C,MAAc","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { createGlobalState } from "./globalState.mjs";
2
- const state = createGlobalState("portal", {
3
- enabled: !1,
2
+ const state = createGlobalState(`portal`, {
3
+ enabled: false,
4
4
  type: null
5
5
  });
6
6
  function getPortal() {
@@ -1,6 +1,6 @@
1
1
  import { createGlobalState } from "./globalState.native.js";
2
- var state = createGlobalState("portal", {
3
- enabled: !1,
2
+ var state = createGlobalState(`portal`, {
3
+ enabled: false,
4
4
  type: null
5
5
  });
6
6
  function getPortal() {
@@ -1,22 +1,22 @@
1
1
  import { createGlobalState } from "./globalState.mjs";
2
- const state = createGlobalState("safe_area", {
3
- enabled: !1,
4
- useSafeAreaInsets: null,
5
- useSafeAreaFrame: null,
6
- initialMetrics: null
7
- }),
8
- defaultInsets = {
9
- top: 0,
10
- right: 0,
11
- bottom: 0,
12
- left: 0
13
- },
14
- defaultFrame = {
15
- x: 0,
16
- y: 0,
17
- width: 0,
18
- height: 0
19
- };
2
+ const state = createGlobalState(`safe_area`, {
3
+ enabled: false,
4
+ useSafeAreaInsets: null,
5
+ useSafeAreaFrame: null,
6
+ initialMetrics: null
7
+ });
8
+ const defaultInsets = {
9
+ top: 0,
10
+ right: 0,
11
+ bottom: 0,
12
+ left: 0
13
+ };
14
+ const defaultFrame = {
15
+ x: 0,
16
+ y: 0,
17
+ width: 0,
18
+ height: 0
19
+ };
20
20
  function getSafeArea() {
21
21
  return {
22
22
  get isEnabled() {
@@ -30,11 +30,17 @@ function getSafeArea() {
30
30
  },
31
31
  getInsets() {
32
32
  const s = state.get();
33
- return !s.enabled || !s.initialMetrics ? defaultInsets : s.initialMetrics.insets;
33
+ if (!s.enabled || !s.initialMetrics) {
34
+ return defaultInsets;
35
+ }
36
+ return s.initialMetrics.insets;
34
37
  },
35
38
  getFrame() {
36
39
  const s = state.get();
37
- return !s.enabled || !s.initialMetrics ? defaultFrame : s.initialMetrics.frame;
40
+ if (!s.enabled || !s.initialMetrics) {
41
+ return defaultFrame;
42
+ }
43
+ return s.initialMetrics.frame;
38
44
  }
39
45
  };
40
46
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createGlobalState","state","enabled","useSafeAreaInsets","useSafeAreaFrame","initialMetrics","defaultInsets","top","right","bottom","left","defaultFrame","x","y","width","height","getSafeArea","isEnabled","get","set","updates","Object","assign","getInsets","s","insets","getFrame","frame"],"sources":["../../src/safeAreaState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAiC,aAAa;IAC1DE,OAAA,EAAS;IACTC,iBAAA,EAAmB;IACnBC,gBAAA,EAAkB;IAClBC,cAAA,EAAgB;EAClB,CAAC;EAEKC,aAAA,GAAgC;IAAEC,GAAA,EAAK;IAAGC,KAAA,EAAO;IAAGC,MAAA,EAAQ;IAAGC,IAAA,EAAM;EAAE;EACvEC,YAAA,GAA8B;IAAEC,CAAA,EAAG;IAAGC,CAAA,EAAG;IAAGC,KAAA,EAAO;IAAGC,MAAA,EAAQ;EAAE;AAY/D,SAASC,YAAA,EAAgC;EAC9C,OAAO;IACL,IAAIC,UAAA,EAAY;MACd,OAAOhB,KAAA,CAAMiB,GAAA,CAAI,EAAEhB,OAAA;IACrB;IACA,IAAID,MAAA,EAAQ;MACV,OAAOA,KAAA,CAAMiB,GAAA,CAAI;IACnB;IACAC,IAAIC,OAAA,EAAiC;MACnCC,MAAA,CAAOC,MAAA,CAAOrB,KAAA,CAAMiB,GAAA,CAAI,GAAGE,OAAO;IACpC;IACAG,UAAA,EAAY;MACV,MAAMC,CAAA,GAAIvB,KAAA,CAAMiB,GAAA,CAAI;MACpB,OAAI,CAACM,CAAA,CAAEtB,OAAA,IAAW,CAACsB,CAAA,CAAEnB,cAAA,GACZC,aAAA,GAEFkB,CAAA,CAAEnB,cAAA,CAAeoB,MAAA;IAC1B;IACAC,SAAA,EAAW;MACT,MAAMF,CAAA,GAAIvB,KAAA,CAAMiB,GAAA,CAAI;MACpB,OAAI,CAACM,CAAA,CAAEtB,OAAA,IAAW,CAACsB,CAAA,CAAEnB,cAAA,GACZM,YAAA,GAEFa,CAAA,CAAEnB,cAAA,CAAesB,KAAA;IAC1B;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createGlobalState","state","enabled","useSafeAreaInsets","useSafeAreaFrame","initialMetrics","defaultInsets","top","right","bottom","left","defaultFrame","x","y","width","height","getSafeArea","isEnabled","get","set","updates","Object","assign","getInsets","s","insets","getFrame","frame"],"sources":["../../src/safeAreaState.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,iBAAA,QAAyB;AAGlC,MAAMC,KAAA,GAAQD,iBAAA,CAAiC,aAAa;EAC1DE,OAAA,EAAS;EACTC,iBAAA,EAAmB;EACnBC,gBAAA,EAAkB;EAClBC,cAAA,EAAgB;AAClB,CAAC;AAED,MAAMC,aAAA,GAAgC;EAAEC,GAAA,EAAK;EAAGC,KAAA,EAAO;EAAGC,MAAA,EAAQ;EAAGC,IAAA,EAAM;AAAE;AAC7E,MAAMC,YAAA,GAA8B;EAAEC,CAAA,EAAG;EAAGC,CAAA,EAAG;EAAGC,KAAA,EAAO;EAAGC,MAAA,EAAQ;AAAE;AAY/D,SAASC,YAAA,EAAgC;EAC9C,OAAO;IACL,IAAIC,UAAA,EAAY;MACd,OAAOhB,KAAA,CAAMiB,GAAA,CAAI,EAAEhB,OAAA;IACrB;IACA,IAAID,MAAA,EAAQ;MACV,OAAOA,KAAA,CAAMiB,GAAA,CAAI;IACnB;IACAC,IAAIC,OAAA,EAAiC;MACnCC,MAAA,CAAOC,MAAA,CAAOrB,KAAA,CAAMiB,GAAA,CAAI,GAAGE,OAAO;IACpC;IACAG,UAAA,EAAY;MACV,MAAMC,CAAA,GAAIvB,KAAA,CAAMiB,GAAA,CAAI;MACpB,IAAI,CAACM,CAAA,CAAEtB,OAAA,IAAW,CAACsB,CAAA,CAAEnB,cAAA,EAAgB;QACnC,OAAOC,aAAA;MACT;MACA,OAAOkB,CAAA,CAAEnB,cAAA,CAAeoB,MAAA;IAC1B;IACAC,SAAA,EAAW;MACT,MAAMF,CAAA,GAAIvB,KAAA,CAAMiB,GAAA,CAAI;MACpB,IAAI,CAACM,CAAA,CAAEtB,OAAA,IAAW,CAACsB,CAAA,CAAEnB,cAAA,EAAgB;QACnC,OAAOM,YAAA;MACT;MACA,OAAOa,CAAA,CAAEnB,cAAA,CAAesB,KAAA;IAC1B;EACF;AACF","ignoreList":[]}