@tamagui/web 2.4.0 → 2.4.2

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 (42) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/createComponent.cjs +4 -3
  3. package/dist/cjs/createComponent.native.js +6 -5
  4. package/dist/cjs/createComponent.native.js.map +1 -1
  5. package/dist/cjs/eventHandling.cjs +1 -1
  6. package/dist/cjs/eventHandling.native.js +12 -36
  7. package/dist/cjs/eventHandling.native.js.map +1 -1
  8. package/dist/cjs/helpers/mainThreadPressEvents.native.js +20 -3
  9. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  10. package/dist/cjs/helpers/propMapper.native.js +40 -15
  11. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  12. package/dist/cjs/helpers/wrapStyleTags.cjs +35 -11
  13. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  14. package/dist/esm/createComponent.mjs +4 -3
  15. package/dist/esm/createComponent.mjs.map +1 -1
  16. package/dist/esm/createComponent.native.js +8 -6
  17. package/dist/esm/createComponent.native.js.map +1 -1
  18. package/dist/esm/eventHandling.mjs +1 -1
  19. package/dist/esm/eventHandling.mjs.map +1 -1
  20. package/dist/esm/eventHandling.native.js +12 -36
  21. package/dist/esm/eventHandling.native.js.map +1 -1
  22. package/dist/esm/helpers/mainThreadPressEvents.native.js +20 -3
  23. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  24. package/dist/esm/helpers/propMapper.native.js +40 -15
  25. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  26. package/dist/esm/helpers/wrapStyleTags.mjs +35 -11
  27. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  28. package/package.json +13 -13
  29. package/src/createComponent.tsx +10 -5
  30. package/src/eventHandling.native.ts +28 -40
  31. package/src/eventHandling.ts +2 -1
  32. package/src/helpers/mainThreadPressEvents.native.ts +25 -3
  33. package/src/helpers/propMapper.ts +23 -0
  34. package/src/helpers/wrapStyleTags.tsx +63 -20
  35. package/types/createComponent.d.ts.map +1 -1
  36. package/types/eventHandling.d.ts +1 -1
  37. package/types/eventHandling.d.ts.map +1 -1
  38. package/types/eventHandling.native.d.ts +2 -2
  39. package/types/eventHandling.native.d.ts.map +1 -1
  40. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  41. package/types/helpers/propMapper.d.ts.map +1 -1
  42. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
@@ -280,10 +280,14 @@ export function createComponent<
280
280
 
281
281
  // test only
282
282
  if (process.env.NODE_ENV === 'test') {
283
- if (propsIn['data-test-renders']) {
284
- propsIn['data-test-renders']['current'] =
285
- propsIn['data-test-renders']['current'] ?? 0
286
- propsIn['data-test-renders']['current'] += 1
283
+ const testRenderCount = propsIn['data-test-renders']
284
+ if (
285
+ testRenderCount &&
286
+ typeof testRenderCount === 'object' &&
287
+ !Object.isFrozen(testRenderCount)
288
+ ) {
289
+ testRenderCount.current = testRenderCount.current ?? 0
290
+ testRenderCount.current += 1
287
291
  }
288
292
  }
289
293
 
@@ -1629,7 +1633,8 @@ export function createComponent<
1629
1633
  pressGesture,
1630
1634
  stateRef,
1631
1635
  isHOC,
1632
- isCompositeComponent
1636
+ isCompositeComponent,
1637
+ hasRealPressEvents
1633
1638
  )
1634
1639
  }
1635
1640
 
@@ -153,15 +153,20 @@ export function useEvents(
153
153
  const callbacksRef = useRef<any>(isUsingRNGH ? {} : null)
154
154
  const gestureRef = useRef<any>(null)
155
155
 
156
+ // Real press handlers use the responder system for delivery even when RNGH
157
+ // is configured. RNGH Tap begin/end ordering is not stable enough for
158
+ // nested Tamagui press arbitration, and Fabric can mount a stale Tap that
159
+ // claims responder but never finalizes. The responder path is the source of
160
+ // truth RN already uses for innermost press ownership.
161
+ //
156
162
  // Android pressStyle-only fallback: wire synthesized press handlers to the
157
163
  // responder system on viewProps instead of an RNGH Manual observer (which
158
164
  // freezes Android — see top-of-file isAndroid comment). Hook is called
159
165
  // unconditionally here for stable hooks order; useMainThreadPressEvents
160
166
  // no-ops when enabled is false.
161
167
  const useResponderFallback =
162
- getIsAndroid() &&
163
- !(hasRealPressEvents || stateRef.current.hasRealPressEvents) &&
164
- Boolean(hasPressEvents)
168
+ !isInsideNativeMenu &&
169
+ Boolean(hasRealPressEvents || (getIsAndroid() && hasPressEvents))
165
170
  useMainThreadPressEvents(events, viewProps, useResponderFallback, debugName)
166
171
 
167
172
  if (everEnabled) {
@@ -175,6 +180,14 @@ export function useEvents(
175
180
  }
176
181
  : {}
177
182
 
183
+ if (hasRealPressEvents && !isInsideNativeMenu) {
184
+ // Real handlers are delivered by useMainThreadPressEvents above. Clear
185
+ // any cached pressStyle observer from an earlier render so it cannot
186
+ // double-fire after onPress appears dynamically.
187
+ gestureRef.current = null
188
+ return null
189
+ }
190
+
178
191
  // only create gesture once, callbacks are read from ref
179
192
  if (!gestureRef.current) {
180
193
  const { Gesture } = gh.state
@@ -197,19 +210,6 @@ export function useEvents(
197
210
  callbacksRef.current.onPressOut?.({})
198
211
  })
199
212
  gestureRef.current = manual
200
- } else if (hasRealPressEvents || stateRef.current.hasRealPressEvents) {
201
- // real user handler: full PressGesture, participates in the press
202
- // ownership token system so nested real-handler children win
203
- // arbitration (NestedPressExclusive semantics).
204
- gestureRef.current = gh.createPressGesture({
205
- debugName,
206
- onPressIn: (e: any) => callbacksRef.current.onPressIn?.(e),
207
- onPressOut: (e: any) => callbacksRef.current.onPressOut?.(e),
208
- onPress: (e: any) => callbacksRef.current.onPress?.(e),
209
- onLongPress: (e: any) => callbacksRef.current.onLongPress?.(e),
210
- delayLongPress: events?.delayLongPress,
211
- hitSlop: viewProps.hitSlop,
212
- })
213
213
  } else if (!getIsAndroid()) {
214
214
  // pressStyle-only (events.onPress was synthesized to drive pressStyle
215
215
  // visuals, no user handler): use Manual + manualActivation. Touch
@@ -249,9 +249,10 @@ export function useEvents(
249
249
  export function wrapWithGestureDetector(
250
250
  content: any,
251
251
  gesture: any,
252
- stateRef: { current: TamaguiComponentStateRef },
252
+ _stateRef: { current: TamaguiComponentStateRef },
253
253
  isHOC?: boolean,
254
- isCompositeComponent?: boolean
254
+ isCompositeComponent?: boolean,
255
+ hasRealPressEvents?: boolean
255
256
  ) {
256
257
  // Skip wrapping for HOC and composite components - they pass press events
257
258
  // to the inner component via props instead of using GestureDetector
@@ -260,25 +261,12 @@ export function wrapWithGestureDetector(
260
261
  }
261
262
 
262
263
  const gh = getGestureHandler()
263
- const { GestureDetector, Gesture } = gh.state
264
-
265
- // wrap whenever any press gesture was attached (real handler OR
266
- // synthesized pressStyle observer). only the real-handler path claims
267
- // the responder on Paper — observers must not preempt parents.
268
- // On Android we skip the observer gesture entirely (see top-of-file
269
- // isAndroid comment), so the wrap is real-handlers-only there.
270
- const shouldWrap = getIsAndroid()
271
- ? stateRef.current.hasRealPressEvents
272
- : stateRef.current.hasHadEvents
273
-
274
- if (!GestureDetector || !shouldWrap) {
275
- return content
276
- }
277
-
278
- // use actual gesture or no-op Manual gesture to maintain tree structure
279
- const gestureToUse = gesture || Gesture?.Manual()
264
+ const { GestureDetector } = gh.state
280
265
 
281
- if (!gestureToUse) {
266
+ // Only wrap when useEvents actually produced an RNGH gesture. Real press
267
+ // handlers are responder-delivered; wrapping them in a no-op GestureDetector
268
+ // recreates the same stale Tap/dead-zone failure mode this path avoids.
269
+ if (!GestureDetector || !gesture) {
282
270
  return content
283
271
  }
284
272
 
@@ -288,8 +276,8 @@ export function wrapWithGestureDetector(
288
276
  // where the View carries the merged navigate handler and the inner Button
289
277
  // has only pressStyle). The Manual gesture observes touches on the UI thread
290
278
  // for fast pressStyle visuals without participating in arbitration.
291
- if (!stateRef.current.hasRealPressEvents) {
292
- return React.createElement(GestureDetector, { gesture: gestureToUse }, content)
279
+ if (!hasRealPressEvents) {
280
+ return React.createElement(GestureDetector, { gesture }, content)
293
281
  }
294
282
 
295
283
  if (isFabric) {
@@ -310,7 +298,7 @@ export function wrapWithGestureDetector(
310
298
  const claimed = React.cloneElement(content, {
311
299
  onStartShouldSetResponder: responderClaim,
312
300
  })
313
- return React.createElement(GestureDetector, { gesture: gestureToUse }, claimed)
301
+ return React.createElement(GestureDetector, { gesture }, claimed)
314
302
  }
315
303
 
316
304
  // Paper: keep the hoisted display:contents wrapper. claiming on the gesture
@@ -325,6 +313,6 @@ export function wrapWithGestureDetector(
325
313
  style: responderWrapperStyle,
326
314
  onStartShouldSetResponder: responderClaim,
327
315
  },
328
- React.createElement(GestureDetector, { gesture: gestureToUse }, content)
316
+ React.createElement(GestureDetector, { gesture }, content)
329
317
  )
330
318
  }
@@ -27,7 +27,8 @@ export function wrapWithGestureDetector(
27
27
  _gesture: any,
28
28
  _stateRef: { current: any },
29
29
  _isHOC?: boolean,
30
- _isCompositeComponent?: boolean
30
+ _isCompositeComponent?: boolean,
31
+ _hasRealPressEvents?: boolean
31
32
  ) {
32
33
  return content
33
34
  }
@@ -6,6 +6,7 @@
6
6
  * long press, cancellation, and min press duration.
7
7
  */
8
8
 
9
+ import { unstable_hasExternalPressOwnership } from '@tamagui/native'
9
10
  import { useRef } from 'react'
10
11
 
11
12
  type PressState =
@@ -20,6 +21,7 @@ interface PressRef {
20
21
  pressOutTimer: ReturnType<typeof setTimeout> | null
21
22
  longPressTimer: ReturnType<typeof setTimeout> | null
22
23
  activateTime: number
24
+ blockedByExternalOwnership: boolean
23
25
  }
24
26
 
25
27
  const DEFAULT_LONG_PRESS_DELAY = 500
@@ -39,6 +41,7 @@ export function useMainThreadPressEvents(
39
41
  pressOutTimer: null,
40
42
  longPressTimer: null,
41
43
  activateTime: 0,
44
+ blockedByExternalOwnership: false,
42
45
  }
43
46
  }
44
47
 
@@ -92,12 +95,22 @@ export function useMainThreadPressEvents(
92
95
  const userTerminationRequest = viewProps.onResponderTerminationRequest
93
96
  const userMove = viewProps.onResponderMove
94
97
 
95
- viewProps.onStartShouldSetResponder = (e: any) =>
96
- Boolean(userStartShouldSet?.(e)) || !events.disabled
98
+ viewProps.onStartShouldSetResponder = (e: any) => {
99
+ if (userStartShouldSet?.(e)) return true
100
+ return !events.disabled && !unstable_hasExternalPressOwnership()
101
+ }
97
102
 
98
103
  viewProps.onResponderGrant = (e: any) => {
99
- userGrant?.(e)
100
104
  cleanup()
105
+
106
+ if (unstable_hasExternalPressOwnership()) {
107
+ ref.current.state = 'idle'
108
+ ref.current.blockedByExternalOwnership = true
109
+ return
110
+ }
111
+
112
+ userGrant?.(e)
113
+ ref.current.blockedByExternalOwnership = false
101
114
  ref.current.state = 'pressing'
102
115
 
103
116
  if (delayPressIn > 0) {
@@ -117,6 +130,13 @@ export function useMainThreadPressEvents(
117
130
  }
118
131
 
119
132
  viewProps.onResponderRelease = (e: any) => {
133
+ if (ref.current.blockedByExternalOwnership || unstable_hasExternalPressOwnership()) {
134
+ cleanup()
135
+ ref.current.blockedByExternalOwnership = false
136
+ ref.current.state = 'idle'
137
+ return
138
+ }
139
+
120
140
  userRelease?.(e)
121
141
  const wasLongPressed = ref.current.state === 'longPressed'
122
142
  cleanup()
@@ -132,6 +152,7 @@ export function useMainThreadPressEvents(
132
152
 
133
153
  deactivate(e)
134
154
  ref.current.state = 'idle'
155
+ ref.current.blockedByExternalOwnership = false
135
156
  }
136
157
 
137
158
  viewProps.onResponderTerminate = (e: any) => {
@@ -141,6 +162,7 @@ export function useMainThreadPressEvents(
141
162
  deactivate(e)
142
163
  }
143
164
  ref.current.state = 'idle'
165
+ ref.current.blockedByExternalOwnership = false
144
166
  }
145
167
 
146
168
  viewProps.onResponderTerminationRequest = (e: any) => {
@@ -43,6 +43,29 @@ export const propMapper: PropMapper = (key, value, styleState, disabled, map) =>
43
43
  const { conf, styleProps, staticConfig } = styleState
44
44
  const { variants } = staticConfig
45
45
 
46
+ // "unset" is a CSS-wide keyword: valid CSS on web, but React Native
47
+ // style props reject it (e.g. aspectRatio throws "must be a number, a
48
+ // ratio string or `auto`"). On native, clear anything an earlier prop or
49
+ // styled default already merged for this key — matching web, where unset
50
+ // resets toward initial — then drop the value so RN never sees it.
51
+ if (process.env.TAMAGUI_TARGET === 'native' && value === 'unset') {
52
+ const expandedKey =
53
+ (!styleProps.disableExpandShorthands && conf.shorthands[key]) || key
54
+ const expanded = styleProps.noExpand
55
+ ? null
56
+ : expandStyle(expandedKey, value, conf.settings.styleCompat || 'web')
57
+ if (styleState.style) {
58
+ if (expanded) {
59
+ for (const [nkey] of expanded) {
60
+ delete styleState.style[nkey]
61
+ }
62
+ } else {
63
+ delete styleState.style[expandedKey]
64
+ }
65
+ }
66
+ return
67
+ }
68
+
46
69
  if (!styleProps.noExpand) {
47
70
  if (variants && key in variants) {
48
71
  const variantValue = resolveVariants(key, value, styleProps, styleState, '')
@@ -1,31 +1,74 @@
1
+ import type { ReactNode } from 'react'
1
2
  import { StyleObjectIdentifier, StyleObjectRules } from '@tamagui/helpers'
2
3
  import type { StyleObject } from '../types'
3
4
 
4
5
  // turns out this is pretty slow, creating a bunch of extra tags...
5
6
 
7
+ const styleTagCache = new Map<
8
+ string,
9
+ {
10
+ element: ReactNode
11
+ len: number
12
+ first: string | undefined
13
+ last: string | undefined
14
+ }
15
+ >()
16
+
17
+ let clearStyleTagCacheQueued = false
18
+
19
+ function queueStyleTagCacheClear() {
20
+ if (clearStyleTagCacheQueued) return
21
+
22
+ clearStyleTagCacheQueued = true
23
+ queueMicrotask(() => {
24
+ styleTagCache.clear()
25
+ clearStyleTagCacheQueued = false
26
+ })
27
+ }
28
+
29
+ function getCachedStyleTag(styleObject: StyleObject) {
30
+ const identifier = styleObject[StyleObjectIdentifier]
31
+ const rules = styleObject[StyleObjectRules]
32
+ const cached = styleTagCache.get(identifier)
33
+
34
+ if (
35
+ cached &&
36
+ cached.len === rules.length &&
37
+ cached.first === rules[0] &&
38
+ cached.last === rules[rules.length - 1]
39
+ ) {
40
+ return cached.element
41
+ }
42
+
43
+ const element = (
44
+ <style
45
+ key={identifier}
46
+ // @ts-ignore
47
+ href={`t_${identifier}`}
48
+ // @ts-ignore
49
+ precedence="default"
50
+ // we remove after first render in favor of inserting to a global stylesheet (faster)
51
+ suppressHydrationWarning
52
+ >
53
+ {rules.join('\n')}
54
+ </style>
55
+ )
56
+
57
+ styleTagCache.set(identifier, {
58
+ element,
59
+ len: rules.length,
60
+ first: rules[0],
61
+ last: rules[rules.length - 1],
62
+ })
63
+
64
+ return element
65
+ }
66
+
6
67
  export function getStyleTags(styles: StyleObject[]) {
7
68
  if (process.env.TAMAGUI_TARGET !== 'native') {
8
69
  if (styles.length) {
9
- return (
10
- <>
11
- {styles.map((styleObject) => {
12
- const identifier = styleObject[StyleObjectIdentifier]
13
- return (
14
- <style
15
- key={identifier}
16
- // @ts-ignore
17
- href={`t_${identifier}`}
18
- // @ts-ignore
19
- precedence="default"
20
- // we remove after first render in favor of inserting to a global stylesheet (faster)
21
- suppressHydrationWarning
22
- >
23
- {styleObject[StyleObjectRules].join('\n')}
24
- </style>
25
- )
26
- })}
27
- </>
28
- )
70
+ queueStyleTagCacheClear()
71
+ return <>{styles.map(getCachedStyleTag)}</>
29
72
  }
30
73
  }
31
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA6B/D,OAAO,KAAK,EAQV,YAAY,EAEZ,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAOf,MAAM,SAAS,CAAA;AAahB,KAAK,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEpF,eAAO,MAAM,kBAAkB,wBAA+B,CAAA;AAwK9D,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACnD,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,SAAS,GAAG,KAAK,EACjB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,YAAY,EAAE,YAAY,wEA+nD3B"}
1
+ {"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAaA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA6B/D,OAAO,KAAK,EAQV,YAAY,EAEZ,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EAOf,MAAM,SAAS,CAAA;AAahB,KAAK,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAEpF,eAAO,MAAM,kBAAkB,wBAA+B,CAAA;AAwK9D,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACnD,GAAG,SAAS,cAAc,GAAG,cAAc,EAC3C,SAAS,GAAG,KAAK,EACjB,UAAU,SAAS,MAAM,GAAG,KAAK,EACjC,YAAY,EAAE,YAAY,wEAooD3B"}
@@ -19,7 +19,7 @@ export declare function getWebEvents<E extends EventLikeObject>(events: E, webSt
19
19
  };
20
20
  export declare function wrapWithGestureDetector(content: any, _gesture: any, _stateRef: {
21
21
  current: any;
22
- }, _isHOC?: boolean, _isCompositeComponent?: boolean): any;
22
+ }, _isHOC?: boolean, _isCompositeComponent?: boolean, _hasRealPressEvents?: boolean): any;
23
23
  export declare function useEvents(_events: any, _viewProps: any, _stateRef: {
24
24
  current: any;
25
25
  }, _staticConfig: any, _isHOC?: boolean, _isInsideNativeMenu?: boolean, _debugName?: string | null, _hasRealPressEvents?: boolean): null;
@@ -1 +1 @@
1
- {"version":3,"file":"eventHandling.d.ts","sourceRoot":"","sources":["../src/eventHandling.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAEjF,KAAK,SAAS,GAAG,MAAM,sBAAsB,CAAA;AAC7C,KAAK,eAAe,GAAG;KAAG,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG;CAAE,CAAA;AAEnD,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,UAAO;;;;;;;;;;EAYjF;AAGD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,qBAAqB,CAAC,EAAE,OAAO,OAGhC;AAGD,wBAAgB,SAAS,CACvB,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,GAAG,EACf,SAAS,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,EAC3B,aAAa,EAAE,GAAG,EAClB,MAAM,CAAC,EAAE,OAAO,EAChB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,mBAAmB,CAAC,EAAE,OAAO,QAG9B"}
1
+ {"version":3,"file":"eventHandling.d.ts","sourceRoot":"","sources":["../src/eventHandling.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAEjF,KAAK,SAAS,GAAG,MAAM,sBAAsB,CAAA;AAC7C,KAAK,eAAe,GAAG;KAAG,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,GAAG;CAAE,CAAA;AAEnD,wBAAgB,YAAY,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,UAAO;;;;;;;;;;EAYjF;AAGD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,GAAG,EACb,SAAS,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,EAC3B,MAAM,CAAC,EAAE,OAAO,EAChB,qBAAqB,CAAC,EAAE,OAAO,EAC/B,mBAAmB,CAAC,EAAE,OAAO,OAG9B;AAGD,wBAAgB,SAAS,CACvB,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,GAAG,EACf,SAAS,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,EAC3B,aAAa,EAAE,GAAG,EAClB,MAAM,CAAC,EAAE,OAAO,EAChB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,mBAAmB,CAAC,EAAE,OAAO,QAG9B"}
@@ -6,7 +6,7 @@ export declare function getWebEvents(): {};
6
6
  export declare function useEvents(events: any, viewProps: any, stateRef: {
7
7
  current: TamaguiComponentStateRef;
8
8
  }, staticConfig: StaticConfig, isHOC?: boolean, isInsideNativeMenu?: boolean, debugName?: string | null, hasRealPressEvents?: boolean): any;
9
- export declare function wrapWithGestureDetector(content: any, gesture: any, stateRef: {
9
+ export declare function wrapWithGestureDetector(content: any, gesture: any, _stateRef: {
10
10
  current: TamaguiComponentStateRef;
11
- }, isHOC?: boolean, isCompositeComponent?: boolean): any;
11
+ }, isHOC?: boolean, isCompositeComponent?: boolean, hasRealPressEvents?: boolean): any;
12
12
  //# sourceMappingURL=eventHandling.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventHandling.native.d.ts","sourceRoot":"","sources":["../src/eventHandling.native.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAoCrE,wBAAgB,YAAY,OAE3B;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,EACd,QAAQ,EAAE;IAAE,OAAO,EAAE,wBAAwB,CAAA;CAAE,EAC/C,YAAY,EAAE,YAAY,EAC1B,KAAK,CAAC,EAAE,OAAO,EACf,kBAAkB,CAAC,EAAE,OAAO,EAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,kBAAkB,CAAC,EAAE,OAAO,OA6L7B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE;IAAE,OAAO,EAAE,wBAAwB,CAAA;CAAE,EAC/C,KAAK,CAAC,EAAE,OAAO,EACf,oBAAoB,CAAC,EAAE,OAAO,OA4E/B"}
1
+ {"version":3,"file":"eventHandling.native.d.ts","sourceRoot":"","sources":["../src/eventHandling.native.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAoCrE,wBAAgB,YAAY,OAE3B;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,EACd,QAAQ,EAAE;IAAE,OAAO,EAAE,wBAAwB,CAAA;CAAE,EAC/C,YAAY,EAAE,YAAY,EAC1B,KAAK,CAAC,EAAE,OAAO,EACf,kBAAkB,CAAC,EAAE,OAAO,EAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,EACzB,kBAAkB,CAAC,EAAE,OAAO,OA6L7B;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,GAAG,EACZ,SAAS,EAAE;IAAE,OAAO,EAAE,wBAAwB,CAAA;CAAE,EAChD,KAAK,CAAC,EAAE,OAAO,EACf,oBAAoB,CAAC,EAAE,OAAO,EAC9B,kBAAkB,CAAC,EAAE,OAAO,OA+D7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"mainThreadPressEvents.native.d.ts","sourceRoot":"","sources":["../../src/helpers/mainThreadPressEvents.native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqBH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,EACd,OAAO,UAAO,EACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,QA2H1B"}
1
+ {"version":3,"file":"mainThreadPressEvents.native.d.ts","sourceRoot":"","sources":["../../src/helpers/mainThreadPressEvents.native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuBH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,EACd,OAAO,UAAO,EACd,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,QA+I1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"propMapper.d.ts","sourceRoot":"","sources":["../../src/helpers/propMapper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,UAAU,EAGV,qBAAqB,EAGtB,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,eAAO,MAAM,UAAU,EAAE,UA8FxB,CAAA;AAqGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAkBtF"}
1
+ {"version":3,"file":"propMapper.d.ts","sourceRoot":"","sources":["../../src/helpers/propMapper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,UAAU,EAGV,qBAAqB,EAGtB,MAAM,UAAU,CAAA;AAkBjB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,eAAO,MAAM,UAAU,EAAE,UAqHxB,CAAA;AAqGD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,qBAAqB,sBAkBtF"}
@@ -1 +1 @@
1
- {"version":3,"file":"wrapStyleTags.d.ts","sourceRoot":"","sources":["../../src/helpers/wrapStyleTags.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAI3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,uDAyBjD"}
1
+ {"version":3,"file":"wrapStyleTags.d.ts","sourceRoot":"","sources":["../../src/helpers/wrapStyleTags.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAgE3C,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,uDAOjD"}