@tamagui/web 3.0.0-beta.924.1 → 3.0.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 (636) hide show
  1. package/dist/cjs/_withNativeStyle.cjs +3 -0
  2. package/dist/cjs/_withNativeStyle.native.cjs +3 -0
  3. package/dist/cjs/_withNativeStyle.native.js +3 -0
  4. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  5. package/dist/cjs/_withStableStyle.native.cjs +1 -5
  6. package/dist/cjs/_withStableStyle.native.js +1 -5
  7. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +6 -3
  9. package/dist/cjs/config.native.cjs +7 -5
  10. package/dist/cjs/config.native.js +7 -5
  11. package/dist/cjs/config.native.js.map +1 -1
  12. package/dist/cjs/contexts/ComponentContext.cjs +1 -0
  13. package/dist/cjs/contexts/ComponentContext.native.cjs +8 -0
  14. package/dist/cjs/contexts/ComponentContext.native.js +8 -0
  15. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  16. package/dist/cjs/createComponent.cjs +46 -32
  17. package/dist/cjs/createComponent.native.cjs +92 -72
  18. package/dist/cjs/createComponent.native.js +92 -72
  19. package/dist/cjs/createComponent.native.js.map +1 -1
  20. package/dist/cjs/createTamagui.cjs +32 -14
  21. package/dist/cjs/createTamagui.native.cjs +33 -19
  22. package/dist/cjs/createTamagui.native.js +33 -19
  23. package/dist/cjs/createTamagui.native.js.map +1 -1
  24. package/dist/cjs/createTokens.native.cjs +1 -5
  25. package/dist/cjs/createTokens.native.js +1 -5
  26. package/dist/cjs/createTokens.native.js.map +1 -1
  27. package/dist/cjs/createVariable.native.cjs +1 -5
  28. package/dist/cjs/createVariable.native.js +1 -5
  29. package/dist/cjs/createVariable.native.js.map +1 -1
  30. package/dist/cjs/createVariables.native.cjs +2 -6
  31. package/dist/cjs/createVariables.native.js +2 -6
  32. package/dist/cjs/createVariables.native.js.map +1 -1
  33. package/dist/cjs/dom/html.cjs +87 -329
  34. package/dist/cjs/dom/html.native.cjs +53 -2
  35. package/dist/cjs/dom/html.native.js +53 -2
  36. package/dist/cjs/dom/html.native.js.map +1 -1
  37. package/dist/cjs/{helpers/timer.native.js → dom/htmlReset.cjs} +6 -12
  38. package/dist/cjs/{helpers/timer.native.cjs → dom/htmlReset.native.cjs} +6 -8
  39. package/dist/cjs/dom/htmlReset.native.js +30 -0
  40. package/dist/cjs/dom/htmlReset.native.js.map +1 -0
  41. package/dist/cjs/dom/htmlRuntime.native.cjs +4 -0
  42. package/dist/cjs/dom/htmlRuntime.native.js +4 -0
  43. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  44. package/dist/cjs/dom/htmlStaticConfig.cjs +44 -0
  45. package/dist/cjs/dom/htmlStaticConfig.native.cjs +46 -0
  46. package/dist/cjs/dom/htmlStaticConfig.native.js +48 -0
  47. package/dist/cjs/dom/htmlStaticConfig.native.js.map +1 -0
  48. package/dist/cjs/dom/primitives.native.cjs +81 -34
  49. package/dist/cjs/dom/primitives.native.js +81 -34
  50. package/dist/cjs/dom/primitives.native.js.map +1 -1
  51. package/dist/cjs/eventHandling.cjs +10 -4
  52. package/dist/cjs/eventHandling.native.cjs +52 -16
  53. package/dist/cjs/eventHandling.native.js +52 -16
  54. package/dist/cjs/eventHandling.native.js.map +1 -1
  55. package/dist/cjs/helpers/NativeTextBinding.cjs +36 -0
  56. package/dist/cjs/helpers/NativeTextBinding.native.cjs +39 -0
  57. package/dist/cjs/helpers/NativeTextBinding.native.js +41 -0
  58. package/dist/cjs/helpers/NativeTextBinding.native.js.map +1 -0
  59. package/dist/cjs/helpers/configVariables.native.cjs +2 -6
  60. package/dist/cjs/helpers/configVariables.native.js +2 -6
  61. package/dist/cjs/helpers/configVariables.native.js.map +1 -1
  62. package/dist/cjs/helpers/createDesignSystem.cjs +14 -10
  63. package/dist/cjs/helpers/createDesignSystem.native.cjs +5 -4
  64. package/dist/cjs/helpers/createDesignSystem.native.js +5 -4
  65. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  66. package/dist/cjs/helpers/createStyledContext.native.cjs +1 -5
  67. package/dist/cjs/helpers/createStyledContext.native.js +1 -5
  68. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  69. package/dist/cjs/helpers/expandStyle.cjs +45 -1
  70. package/dist/cjs/helpers/expandStyle.native.cjs +38 -2
  71. package/dist/cjs/helpers/expandStyle.native.js +38 -2
  72. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  73. package/dist/cjs/helpers/expandStyles.cjs +15 -3
  74. package/dist/cjs/helpers/expandStyles.native.cjs +14 -8
  75. package/dist/cjs/helpers/expandStyles.native.js +14 -8
  76. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  77. package/dist/cjs/helpers/fluid.cjs +56 -0
  78. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  79. package/dist/cjs/helpers/fluid.native.js +60 -0
  80. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  81. package/dist/cjs/helpers/formatDiagnostic.native.cjs +2 -6
  82. package/dist/cjs/helpers/formatDiagnostic.native.js +2 -6
  83. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  84. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +6 -6
  85. package/dist/cjs/helpers/getSplitStyles.cjs +366 -150
  86. package/dist/cjs/helpers/getSplitStyles.native.cjs +584 -184
  87. package/dist/cjs/helpers/getSplitStyles.native.js +584 -184
  88. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  89. package/dist/cjs/helpers/getThemeCSSRules.cjs +37 -25
  90. package/dist/cjs/helpers/grammarConfig.cjs +6 -14
  91. package/dist/cjs/helpers/grammarConfig.native.cjs +32 -22
  92. package/dist/cjs/helpers/grammarConfig.native.js +32 -22
  93. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  94. package/dist/cjs/helpers/insertStyleRule.cjs +11 -4
  95. package/dist/cjs/helpers/insertStyleRule.native.cjs +8 -11
  96. package/dist/cjs/helpers/insertStyleRule.native.js +8 -11
  97. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  98. package/dist/cjs/helpers/isObj.native.cjs +1 -5
  99. package/dist/cjs/helpers/isObj.native.js +1 -5
  100. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  101. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +48 -100
  102. package/dist/cjs/helpers/mainThreadPressEvents.native.js +48 -100
  103. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  104. package/dist/cjs/helpers/mergeProps.cjs +18 -21
  105. package/dist/cjs/helpers/mergeProps.native.cjs +20 -23
  106. package/dist/cjs/helpers/mergeProps.native.js +20 -23
  107. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  108. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  109. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  110. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  111. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  112. package/dist/cjs/helpers/nativeTextMetrics.cjs +74 -0
  113. package/dist/cjs/helpers/nativeTextMetrics.native.cjs +77 -0
  114. package/dist/cjs/helpers/nativeTextMetrics.native.js +79 -0
  115. package/dist/cjs/helpers/nativeTextMetrics.native.js.map +1 -0
  116. package/dist/cjs/helpers/normalizeColor.native.cjs +17 -2
  117. package/dist/cjs/helpers/normalizeColor.native.js +17 -2
  118. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  119. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +2 -1
  120. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +3 -6
  121. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +3 -6
  122. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  123. package/dist/cjs/helpers/objectIdentityKey.native.cjs +1 -5
  124. package/dist/cjs/helpers/objectIdentityKey.native.js +1 -5
  125. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  126. package/dist/cjs/helpers/parseNativeStyle.cjs +187 -0
  127. package/dist/cjs/helpers/parseNativeStyle.native.cjs +6 -4
  128. package/dist/cjs/helpers/parseNativeStyle.native.js +6 -4
  129. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  130. package/dist/cjs/helpers/proxyThemeToParents.cjs +9 -2
  131. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +28 -2
  132. package/dist/cjs/helpers/proxyThemeToParents.native.js +28 -2
  133. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  134. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +1 -5
  135. package/dist/cjs/helpers/resolveAnimationDriver.native.js +1 -5
  136. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  137. package/dist/cjs/helpers/{timer.cjs → resolveNativeUnits.cjs} +12 -8
  138. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +205 -0
  139. package/dist/cjs/helpers/resolveNativeUnits.native.js +207 -0
  140. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  141. package/dist/cjs/helpers/resolveRem.native.cjs +18 -21
  142. package/dist/cjs/helpers/resolveRem.native.js +18 -21
  143. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  144. package/dist/cjs/helpers/resolveSizing.cjs +124 -0
  145. package/dist/cjs/helpers/resolveSizing.native.cjs +133 -0
  146. package/dist/cjs/helpers/resolveSizing.native.js +135 -0
  147. package/dist/cjs/helpers/resolveSizing.native.js.map +1 -0
  148. package/dist/cjs/helpers/resolveVariableValue.cjs +7 -7
  149. package/dist/cjs/helpers/resolveVariableValue.native.cjs +7 -9
  150. package/dist/cjs/helpers/resolveVariableValue.native.js +7 -9
  151. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
  152. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +2 -6
  153. package/dist/cjs/helpers/resolveVariantStyle.native.js +2 -6
  154. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -1
  155. package/dist/cjs/helpers/skipProps.cjs +0 -1
  156. package/dist/cjs/helpers/skipProps.native.cjs +0 -1
  157. package/dist/cjs/helpers/skipProps.native.js +0 -1
  158. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  159. package/dist/cjs/helpers/styleFrontend.cjs +23 -1
  160. package/dist/cjs/helpers/styleFrontend.native.cjs +23 -1
  161. package/dist/cjs/helpers/styleFrontend.native.js +23 -1
  162. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  163. package/dist/cjs/helpers/styleStaticConfigCore.cjs +5 -4
  164. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +7 -4
  165. package/dist/cjs/helpers/styleStaticConfigCore.native.js +7 -4
  166. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -1
  167. package/dist/cjs/helpers/styledDynamic.cjs +5 -0
  168. package/dist/cjs/helpers/styledDynamic.native.cjs +8 -7
  169. package/dist/cjs/helpers/styledDynamic.native.js +8 -7
  170. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
  171. package/dist/cjs/helpers/subscribeToContextGroup.cjs +16 -7
  172. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +18 -8
  173. package/dist/cjs/helpers/subscribeToContextGroup.native.js +18 -8
  174. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  175. package/dist/cjs/helpers/themeRef.native.cjs +1 -5
  176. package/dist/cjs/helpers/themeRef.native.js +1 -5
  177. package/dist/cjs/helpers/themeRef.native.js.map +1 -1
  178. package/dist/cjs/helpers/themes.cjs +26 -11
  179. package/dist/cjs/helpers/themes.native.cjs +26 -11
  180. package/dist/cjs/helpers/themes.native.js +26 -11
  181. package/dist/cjs/helpers/themes.native.js.map +1 -1
  182. package/dist/cjs/helpers/tokenCategories.cjs +2 -2
  183. package/dist/cjs/helpers/tokenCategories.native.cjs +2 -2
  184. package/dist/cjs/helpers/tokenCategories.native.js +2 -2
  185. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  186. package/dist/cjs/helpers/variables.cjs +1 -1
  187. package/dist/cjs/helpers/variables.native.cjs +4 -8
  188. package/dist/cjs/helpers/variables.native.js +4 -8
  189. package/dist/cjs/helpers/variables.native.js.map +1 -1
  190. package/dist/cjs/helpers/warnOnce.cjs +6 -0
  191. package/dist/cjs/helpers/warnOnce.native.cjs +6 -0
  192. package/dist/cjs/helpers/warnOnce.native.js +6 -0
  193. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  194. package/dist/cjs/helpers/webPropsToSkip.native.cjs +3 -3
  195. package/dist/cjs/helpers/webPropsToSkip.native.js +3 -3
  196. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  197. package/dist/cjs/helpers/wrapStyleTags.cjs +1 -1
  198. package/dist/cjs/helpers/wrapStyleTags.native.cjs +1 -1
  199. package/dist/cjs/helpers/wrapStyleTags.native.js +1 -1
  200. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  201. package/dist/cjs/hooks/useComponentState.native.cjs +1 -5
  202. package/dist/cjs/hooks/useComponentState.native.js +1 -5
  203. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  204. package/dist/cjs/hooks/useMedia.cjs +27 -34
  205. package/dist/cjs/hooks/useMedia.native.cjs +45 -51
  206. package/dist/cjs/hooks/useMedia.native.js +45 -51
  207. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  208. package/dist/cjs/hooks/useSplitStyles.cjs +1 -1
  209. package/dist/cjs/hooks/useSplitStyles.native.cjs +1 -1
  210. package/dist/cjs/hooks/useSplitStyles.native.js +1 -1
  211. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
  212. package/dist/cjs/hooks/useThemeState.cjs +37 -47
  213. package/dist/cjs/hooks/useThemeState.native.cjs +44 -50
  214. package/dist/cjs/hooks/useThemeState.native.js +44 -50
  215. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  216. package/dist/cjs/index.cjs +7 -0
  217. package/dist/cjs/index.native.cjs +7 -0
  218. package/dist/cjs/index.native.js +7 -0
  219. package/dist/cjs/index.native.js.map +1 -1
  220. package/dist/cjs/internal-runtime.cjs +22 -0
  221. package/dist/cjs/internal-runtime.native.cjs +22 -0
  222. package/dist/cjs/internal-runtime.native.js +22 -0
  223. package/dist/cjs/internal-runtime.native.js.map +1 -1
  224. package/dist/cjs/static-resolve.native.cjs +2 -9
  225. package/dist/cjs/static-resolve.native.js +2 -9
  226. package/dist/cjs/static-resolve.native.js.map +1 -1
  227. package/dist/cjs/style.cjs +1 -1
  228. package/dist/cjs/style.native.cjs +4 -7
  229. package/dist/cjs/style.native.js +4 -7
  230. package/dist/cjs/style.native.js.map +1 -1
  231. package/dist/cjs/views/Theme.cjs +10 -17
  232. package/dist/cjs/views/Theme.native.cjs +9 -11
  233. package/dist/cjs/views/Theme.native.js +9 -11
  234. package/dist/cjs/views/Theme.native.js.map +1 -1
  235. package/dist/cjs/views/ThemeDebug.cjs +1 -1
  236. package/dist/cjs/views/ThemeUpdate.cjs +1 -1
  237. package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
  238. package/dist/cjs/views/ThemeUpdate.native.js +1 -1
  239. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
  240. package/dist/esm/_withNativeStyle.mjs +4 -1
  241. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  242. package/dist/esm/_withNativeStyle.native.js +4 -1
  243. package/dist/esm/_withNativeStyle.native.js.map +1 -1
  244. package/dist/esm/_withStableStyle.native.js +1 -5
  245. package/dist/esm/_withStableStyle.native.js.map +1 -1
  246. package/dist/esm/config.mjs +6 -3
  247. package/dist/esm/config.mjs.map +1 -1
  248. package/dist/esm/config.native.js +7 -5
  249. package/dist/esm/config.native.js.map +1 -1
  250. package/dist/esm/contexts/ComponentContext.mjs +9 -9
  251. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  252. package/dist/esm/contexts/ComponentContext.native.js +16 -9
  253. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  254. package/dist/esm/createComponent.mjs +45 -42
  255. package/dist/esm/createComponent.mjs.map +1 -1
  256. package/dist/esm/createComponent.native.js +93 -82
  257. package/dist/esm/createComponent.native.js.map +1 -1
  258. package/dist/esm/createTamagui.mjs +33 -15
  259. package/dist/esm/createTamagui.mjs.map +1 -1
  260. package/dist/esm/createTamagui.native.js +34 -20
  261. package/dist/esm/createTamagui.native.js.map +1 -1
  262. package/dist/esm/createTokens.native.js +1 -5
  263. package/dist/esm/createTokens.native.js.map +1 -1
  264. package/dist/esm/createVariable.native.js +1 -5
  265. package/dist/esm/createVariable.native.js.map +1 -1
  266. package/dist/esm/createVariables.native.js +2 -6
  267. package/dist/esm/createVariables.native.js.map +1 -1
  268. package/dist/esm/dom/html.mjs +87 -329
  269. package/dist/esm/dom/html.mjs.map +1 -1
  270. package/dist/esm/dom/html.native.js +53 -2
  271. package/dist/esm/dom/html.native.js.map +1 -1
  272. package/dist/esm/dom/htmlReset.mjs +6 -0
  273. package/dist/esm/dom/htmlReset.mjs.map +1 -0
  274. package/dist/esm/dom/htmlReset.native.js +6 -0
  275. package/dist/esm/dom/htmlReset.native.js.map +1 -0
  276. package/dist/esm/dom/htmlRuntime.native.js +4 -0
  277. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  278. package/dist/esm/dom/htmlStaticConfig.mjs +22 -0
  279. package/dist/esm/dom/htmlStaticConfig.mjs.map +1 -0
  280. package/dist/esm/dom/htmlStaticConfig.native.js +22 -0
  281. package/dist/esm/dom/htmlStaticConfig.native.js.map +1 -0
  282. package/dist/esm/dom/primitives.native.js +81 -34
  283. package/dist/esm/dom/primitives.native.js.map +1 -1
  284. package/dist/esm/eventHandling.mjs +10 -4
  285. package/dist/esm/eventHandling.mjs.map +1 -1
  286. package/dist/esm/eventHandling.native.js +52 -16
  287. package/dist/esm/eventHandling.native.js.map +1 -1
  288. package/dist/esm/helpers/NativeTextBinding.mjs +17 -0
  289. package/dist/esm/helpers/NativeTextBinding.mjs.map +1 -0
  290. package/dist/esm/helpers/NativeTextBinding.native.js +18 -0
  291. package/dist/esm/helpers/NativeTextBinding.native.js.map +1 -0
  292. package/dist/esm/helpers/configVariables.native.js +2 -6
  293. package/dist/esm/helpers/configVariables.native.js.map +1 -1
  294. package/dist/esm/helpers/createDesignSystem.mjs +14 -10
  295. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  296. package/dist/esm/helpers/createDesignSystem.native.js +4 -4
  297. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  298. package/dist/esm/helpers/createStyledContext.native.js +1 -5
  299. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  300. package/dist/esm/helpers/expandStyle.mjs +41 -1
  301. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  302. package/dist/esm/helpers/expandStyle.native.js +36 -3
  303. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  304. package/dist/esm/helpers/expandStyles.mjs +15 -3
  305. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  306. package/dist/esm/helpers/expandStyles.native.js +14 -8
  307. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  308. package/dist/esm/helpers/fluid.mjs +36 -0
  309. package/dist/esm/helpers/fluid.mjs.map +1 -0
  310. package/dist/esm/helpers/fluid.native.js +36 -0
  311. package/dist/esm/helpers/fluid.native.js.map +1 -0
  312. package/dist/esm/helpers/formatDiagnostic.native.js +2 -6
  313. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  314. package/dist/esm/helpers/getCSSStylesAtomic.mjs +6 -6
  315. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  316. package/dist/esm/helpers/getSplitStyles.mjs +364 -150
  317. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  318. package/dist/esm/helpers/getSplitStyles.native.js +588 -188
  319. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  320. package/dist/esm/helpers/getThemeCSSRules.mjs +37 -25
  321. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  322. package/dist/esm/helpers/grammarConfig.mjs +6 -14
  323. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  324. package/dist/esm/helpers/grammarConfig.native.js +32 -22
  325. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  326. package/dist/esm/helpers/insertStyleRule.mjs +11 -4
  327. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  328. package/dist/esm/helpers/insertStyleRule.native.js +4 -4
  329. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  330. package/dist/esm/helpers/isObj.native.js +1 -5
  331. package/dist/esm/helpers/isObj.native.js.map +1 -1
  332. package/dist/esm/helpers/mainThreadPressEvents.native.js +48 -100
  333. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  334. package/dist/esm/helpers/mergeProps.mjs +18 -21
  335. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  336. package/dist/esm/helpers/mergeProps.native.js +20 -23
  337. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  338. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  339. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  340. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  341. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  342. package/dist/esm/helpers/nativeTextMetrics.mjs +55 -0
  343. package/dist/esm/helpers/nativeTextMetrics.mjs.map +1 -0
  344. package/dist/esm/helpers/nativeTextMetrics.native.js +56 -0
  345. package/dist/esm/helpers/nativeTextMetrics.native.js.map +1 -0
  346. package/dist/esm/helpers/normalizeColor.native.js +17 -2
  347. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  348. package/dist/esm/helpers/normalizeValueWithProperty.mjs +2 -1
  349. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  350. package/dist/esm/helpers/normalizeValueWithProperty.native.js +3 -6
  351. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  352. package/dist/esm/helpers/objectIdentityKey.native.js +1 -5
  353. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  354. package/dist/esm/helpers/parseNativeStyle.mjs +168 -0
  355. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
  356. package/dist/esm/helpers/parseNativeStyle.native.js +4 -1
  357. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  358. package/dist/esm/helpers/proxyThemeToParents.mjs +10 -2
  359. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  360. package/dist/esm/helpers/proxyThemeToParents.native.js +29 -2
  361. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  362. package/dist/esm/helpers/resolveAnimationDriver.native.js +1 -5
  363. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  364. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  365. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  366. package/dist/esm/helpers/resolveNativeUnits.native.js +178 -0
  367. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  368. package/dist/esm/helpers/resolveRem.native.js +18 -21
  369. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  370. package/dist/esm/helpers/resolveSizing.mjs +102 -0
  371. package/dist/esm/helpers/resolveSizing.mjs.map +1 -0
  372. package/dist/esm/helpers/resolveSizing.native.js +109 -0
  373. package/dist/esm/helpers/resolveSizing.native.js.map +1 -0
  374. package/dist/esm/helpers/resolveVariableValue.mjs +7 -7
  375. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -1
  376. package/dist/esm/helpers/resolveVariableValue.native.js +7 -9
  377. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -1
  378. package/dist/esm/helpers/resolveVariantStyle.native.js +2 -6
  379. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -1
  380. package/dist/esm/helpers/skipProps.mjs +0 -1
  381. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  382. package/dist/esm/helpers/skipProps.native.js +0 -1
  383. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  384. package/dist/esm/helpers/styleFrontend.mjs +20 -1
  385. package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
  386. package/dist/esm/helpers/styleFrontend.native.js +20 -1
  387. package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
  388. package/dist/esm/helpers/styleStaticConfigCore.mjs +5 -4
  389. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -1
  390. package/dist/esm/helpers/styleStaticConfigCore.native.js +7 -4
  391. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -1
  392. package/dist/esm/helpers/styledDynamic.mjs +5 -0
  393. package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
  394. package/dist/esm/helpers/styledDynamic.native.js +8 -7
  395. package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
  396. package/dist/esm/helpers/subscribeToContextGroup.mjs +16 -7
  397. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  398. package/dist/esm/helpers/subscribeToContextGroup.native.js +18 -8
  399. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  400. package/dist/esm/helpers/themeRef.native.js +1 -5
  401. package/dist/esm/helpers/themeRef.native.js.map +1 -1
  402. package/dist/esm/helpers/themes.mjs +20 -11
  403. package/dist/esm/helpers/themes.mjs.map +1 -1
  404. package/dist/esm/helpers/themes.native.js +20 -11
  405. package/dist/esm/helpers/themes.native.js.map +1 -1
  406. package/dist/esm/helpers/tokenCategories.mjs +2 -2
  407. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  408. package/dist/esm/helpers/tokenCategories.native.js +2 -2
  409. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  410. package/dist/esm/helpers/variables.mjs +1 -1
  411. package/dist/esm/helpers/variables.mjs.map +1 -1
  412. package/dist/esm/helpers/variables.native.js +4 -8
  413. package/dist/esm/helpers/variables.native.js.map +1 -1
  414. package/dist/esm/helpers/warnOnce.mjs +6 -1
  415. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  416. package/dist/esm/helpers/warnOnce.native.js +6 -1
  417. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  418. package/dist/esm/helpers/webPropsToSkip.native.js +3 -3
  419. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  420. package/dist/esm/helpers/wrapStyleTags.mjs +1 -1
  421. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  422. package/dist/esm/helpers/wrapStyleTags.native.js +1 -1
  423. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  424. package/dist/esm/hooks/useComponentState.native.js +1 -5
  425. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  426. package/dist/esm/hooks/useMedia.mjs +27 -34
  427. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  428. package/dist/esm/hooks/useMedia.native.js +45 -51
  429. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  430. package/dist/esm/hooks/useSplitStyles.mjs +1 -1
  431. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
  432. package/dist/esm/hooks/useSplitStyles.native.js +1 -1
  433. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
  434. package/dist/esm/hooks/useThemeState.mjs +36 -48
  435. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  436. package/dist/esm/hooks/useThemeState.native.js +44 -50
  437. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  438. package/dist/esm/index.js +4 -1
  439. package/dist/esm/index.mjs +4 -1
  440. package/dist/esm/index.native.js +4 -1
  441. package/dist/esm/internal-runtime.mjs +22 -3
  442. package/dist/esm/internal-runtime.mjs.map +1 -1
  443. package/dist/esm/internal-runtime.native.js +22 -3
  444. package/dist/esm/internal-runtime.native.js.map +1 -1
  445. package/dist/esm/static-resolve.native.js +2 -9
  446. package/dist/esm/static-resolve.native.js.map +1 -1
  447. package/dist/esm/style.mjs +1 -1
  448. package/dist/esm/style.mjs.map +1 -1
  449. package/dist/esm/style.native.js +4 -7
  450. package/dist/esm/style.native.js.map +1 -1
  451. package/dist/esm/views/Theme.mjs +15 -14
  452. package/dist/esm/views/Theme.mjs.map +1 -1
  453. package/dist/esm/views/Theme.native.js +15 -15
  454. package/dist/esm/views/Theme.native.js.map +1 -1
  455. package/dist/esm/views/ThemeDebug.mjs +1 -1
  456. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  457. package/dist/esm/views/ThemeUpdate.mjs +1 -1
  458. package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
  459. package/dist/esm/views/ThemeUpdate.native.js +1 -1
  460. package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
  461. package/package.json +20 -18
  462. package/reset.css +11 -0
  463. package/src/_withNativeStyle.tsx +6 -1
  464. package/src/config.ts +6 -6
  465. package/src/contexts/ComponentContext.tsx +8 -0
  466. package/src/createComponent.tsx +177 -57
  467. package/src/createStyledHOC.tsx +25 -26
  468. package/src/createTamagui.ts +47 -28
  469. package/src/dom/contract.ts +4 -1
  470. package/src/dom/html.native.tsx +55 -2
  471. package/src/dom/html.tsx +189 -388
  472. package/src/dom/htmlReset.ts +15 -0
  473. package/src/dom/htmlRuntime.native.tsx +5 -0
  474. package/src/dom/htmlStaticConfig.ts +40 -0
  475. package/src/dom/primitives.native.tsx +138 -33
  476. package/src/dom/standalone.ts +2 -1
  477. package/src/dom/styleTypes.ts +82 -92
  478. package/src/eventHandling.native.ts +61 -11
  479. package/src/eventHandling.ts +19 -4
  480. package/src/helpers/NativeTextBinding.tsx +26 -0
  481. package/src/helpers/createDesignSystem.ts +24 -8
  482. package/src/helpers/expandStyle.ts +88 -4
  483. package/src/helpers/expandStyles.ts +6 -11
  484. package/src/helpers/fluid.ts +66 -0
  485. package/src/helpers/getCSSStylesAtomic.ts +11 -6
  486. package/src/helpers/getSplitStyles.tsx +1032 -296
  487. package/src/helpers/getThemeCSSRules.ts +73 -35
  488. package/src/helpers/grammarConfig.ts +23 -8
  489. package/src/helpers/insertStyleRule.tsx +14 -8
  490. package/src/helpers/mainThreadPressEvents.native.ts +65 -141
  491. package/src/helpers/mergeProps.ts +29 -62
  492. package/src/helpers/nativeOnlyProps.ts +0 -1
  493. package/src/helpers/nativeTextMetrics.ts +77 -0
  494. package/src/helpers/normalizeColor.native.ts +29 -4
  495. package/src/helpers/normalizeValueWithProperty.ts +2 -1
  496. package/src/helpers/{parseNativeStyle.native.ts → parseNativeStyle.ts} +8 -1
  497. package/src/helpers/proxyThemeToParents.ts +13 -2
  498. package/src/helpers/resolveNativeUnits.native.ts +247 -0
  499. package/src/helpers/resolveNativeUnits.ts +10 -0
  500. package/src/helpers/resolveRem.native.ts +25 -26
  501. package/src/helpers/resolveSizing.ts +167 -0
  502. package/src/helpers/resolveVariableValue.ts +21 -17
  503. package/src/helpers/skipProps.ts +0 -1
  504. package/src/helpers/styleFrontend.ts +39 -0
  505. package/src/helpers/styleProvenance.ts +1 -1
  506. package/src/helpers/styleStaticConfigCore.ts +15 -4
  507. package/src/helpers/styledDynamic.ts +3 -1
  508. package/src/helpers/subscribeToContextGroup.tsx +16 -7
  509. package/src/helpers/themes.ts +27 -11
  510. package/src/helpers/tokenCategories.ts +15 -3
  511. package/src/helpers/variables.ts +2 -2
  512. package/src/helpers/warnOnce.ts +6 -0
  513. package/src/helpers/webPropsToSkip.native.ts +9 -3
  514. package/src/helpers/wrapStyleTags.tsx +4 -1
  515. package/src/hooks/useMedia.tsx +36 -47
  516. package/src/hooks/useSplitStyles.tsx +4 -1
  517. package/src/hooks/useThemeState.ts +69 -74
  518. package/src/index.ts +13 -0
  519. package/src/interfaces/RNExclusiveTypes.ts +1 -3
  520. package/src/internal-runtime.ts +43 -2
  521. package/src/style.ts +4 -1
  522. package/src/styled.tsx +34 -3
  523. package/src/types.tsx +412 -132
  524. package/src/views/Theme.tsx +18 -21
  525. package/src/views/ThemeDebug.tsx +1 -1
  526. package/src/views/ThemeUpdate.tsx +1 -1
  527. package/types/_withNativeStyle.d.ts.map +1 -1
  528. package/types/config.d.ts.map +1 -1
  529. package/types/contexts/ComponentContext.d.ts +1 -1
  530. package/types/contexts/ComponentContext.d.ts.map +1 -1
  531. package/types/createComponent.d.ts.map +1 -1
  532. package/types/createStyledHOC.d.ts +5 -2
  533. package/types/createStyledHOC.d.ts.map +1 -1
  534. package/types/createTamagui.d.ts.map +1 -1
  535. package/types/dom/contract.d.ts +4 -1
  536. package/types/dom/contract.d.ts.map +1 -1
  537. package/types/dom/html.d.ts +60 -51
  538. package/types/dom/html.d.ts.map +1 -1
  539. package/types/dom/html.native.d.ts.map +1 -1
  540. package/types/dom/htmlReset.d.ts +10 -0
  541. package/types/dom/htmlReset.d.ts.map +1 -0
  542. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  543. package/types/dom/htmlStaticConfig.d.ts +22 -0
  544. package/types/dom/htmlStaticConfig.d.ts.map +1 -0
  545. package/types/dom/primitives.native.d.ts.map +1 -1
  546. package/types/dom/standalone.d.ts +2 -1
  547. package/types/dom/standalone.d.ts.map +1 -1
  548. package/types/dom/styleTypes.d.ts +63 -84
  549. package/types/dom/styleTypes.d.ts.map +1 -1
  550. package/types/eventHandling.d.ts +12 -4
  551. package/types/eventHandling.d.ts.map +1 -1
  552. package/types/eventHandling.native.d.ts.map +1 -1
  553. package/types/helpers/NativeTextBinding.d.ts +11 -0
  554. package/types/helpers/NativeTextBinding.d.ts.map +1 -0
  555. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  556. package/types/helpers/expandStyle.d.ts +1 -0
  557. package/types/helpers/expandStyle.d.ts.map +1 -1
  558. package/types/helpers/expandStyles.d.ts.map +1 -1
  559. package/types/helpers/fluid.d.ts +21 -0
  560. package/types/helpers/fluid.d.ts.map +1 -0
  561. package/types/helpers/getCSSStylesAtomic.d.ts +3 -1
  562. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  563. package/types/helpers/getSplitStyles.d.ts +2 -1
  564. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  565. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  566. package/types/helpers/grammarConfig.d.ts.map +1 -1
  567. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  568. package/types/helpers/mainThreadPressEvents.native.d.ts +0 -7
  569. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  570. package/types/helpers/mergeProps.d.ts +1 -15
  571. package/types/helpers/mergeProps.d.ts.map +1 -1
  572. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  573. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  574. package/types/helpers/nativeTextMetrics.d.ts +16 -0
  575. package/types/helpers/nativeTextMetrics.d.ts.map +1 -0
  576. package/types/helpers/normalizeColor.native.d.ts +4 -1
  577. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  578. package/types/helpers/normalizeShadow.native.d.ts +3 -1
  579. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  580. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  581. package/types/helpers/{parseNativeStyle.native.d.ts → parseNativeStyle.d.ts} +1 -1
  582. package/types/helpers/parseNativeStyle.d.ts.map +1 -0
  583. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  584. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  585. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  586. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  587. package/types/helpers/resolveNativeUnits.native.d.ts +16 -0
  588. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  589. package/types/helpers/resolveRem.native.d.ts +6 -4
  590. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  591. package/types/helpers/resolveSizing.d.ts +90 -0
  592. package/types/helpers/resolveSizing.d.ts.map +1 -0
  593. package/types/helpers/resolveVariableValue.d.ts.map +1 -1
  594. package/types/helpers/skipProps.d.ts +0 -1
  595. package/types/helpers/skipProps.d.ts.map +1 -1
  596. package/types/helpers/styleFrontend.d.ts +21 -0
  597. package/types/helpers/styleFrontend.d.ts.map +1 -1
  598. package/types/helpers/styleProvenance.d.ts +1 -1
  599. package/types/helpers/styleProvenance.d.ts.map +1 -1
  600. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -1
  601. package/types/helpers/styledDynamic.d.ts +1 -1
  602. package/types/helpers/styledDynamic.d.ts.map +1 -1
  603. package/types/helpers/themes.d.ts +4 -0
  604. package/types/helpers/themes.d.ts.map +1 -1
  605. package/types/helpers/tokenCategories.d.ts +1 -1
  606. package/types/helpers/tokenCategories.d.ts.map +1 -1
  607. package/types/helpers/warnOnce.d.ts +1 -0
  608. package/types/helpers/warnOnce.d.ts.map +1 -1
  609. package/types/helpers/webPropsToSkip.native.d.ts +6 -2
  610. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  611. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  612. package/types/hooks/useMedia.d.ts +5 -2
  613. package/types/hooks/useMedia.d.ts.map +1 -1
  614. package/types/hooks/useSplitStyles.d.ts.map +1 -1
  615. package/types/hooks/useThemeState.d.ts.map +1 -1
  616. package/types/index.d.ts +4 -1
  617. package/types/index.d.ts.map +1 -1
  618. package/types/interfaces/RNExclusiveTypes.d.ts +2 -3
  619. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  620. package/types/internal-runtime.d.ts +12 -1
  621. package/types/internal-runtime.d.ts.map +1 -1
  622. package/types/style.d.ts.map +1 -1
  623. package/types/styled.d.ts +7 -4
  624. package/types/styled.d.ts.map +1 -1
  625. package/types/types.d.ts +258 -102
  626. package/types/types.d.ts.map +1 -1
  627. package/types/views/Theme.d.ts.map +1 -1
  628. package/dist/cjs/helpers/timer.native.js.map +0 -1
  629. package/dist/esm/helpers/timer.mjs +0 -13
  630. package/dist/esm/helpers/timer.mjs.map +0 -1
  631. package/dist/esm/helpers/timer.native.js +0 -13
  632. package/dist/esm/helpers/timer.native.js.map +0 -1
  633. package/src/helpers/timer.ts +0 -9
  634. package/types/helpers/parseNativeStyle.native.d.ts.map +0 -1
  635. package/types/helpers/timer.d.ts +0 -2
  636. package/types/helpers/timer.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { composeRefs } from "@tamagui/compose-refs";
2
+ import { composeRefs, setRef } from "@tamagui/compose-refs";
3
3
  import { getPlatformDriver, isAndroid, isClient, isNativeDesktop, isServer, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
4
4
  import { NativeMenuContext } from "@tamagui/native";
5
5
  import { composeEventHandlers } from "@tamagui/helpers";
@@ -14,6 +14,8 @@ import { defaultComponentStateMounted } from "./defaultComponentState.native.js"
14
14
  import { useEvents, wrapWithGestureDetector } from "./eventHandling.native.js";
15
15
  import { componentDisplayName } from "./helpers/componentDisplayName.native.js";
16
16
  import { getSplitStyles } from "./helpers/getSplitStyles.native.js";
17
+ import { isTamaguiElement } from "./helpers/isTamaguiElement.native.js";
18
+ import { NativeTextBinding } from "./helpers/NativeTextBinding.native.js";
17
19
  import { getConfigRevisionState } from "./helpers/grammarConfig.native.js";
18
20
  import { getStyleStaticConfig } from "./helpers/styleStaticConfig.native.js";
19
21
  import { getNativeStyleEngine, queueNativeViewState, updateNativeStyleLink } from "./helpers/nativeStyleEngine.native.js";
@@ -35,19 +37,6 @@ import { hooks } from "./setupHooks.native.js";
35
37
  import { Slot } from "./views/Slot.native.js";
36
38
  import { getThemedChildren } from "./views/Theme.native.js";
37
39
 
38
- var __require$1 = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
39
- if (typeof require !== "undefined") return require.apply(this, arguments);
40
- throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
41
- });
42
-
43
- var __require = /* @__PURE__ */ ((x) => typeof __require$1 !== "undefined" ? __require$1 : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof __require$1 !== "undefined" ? __require$1 : a)[b] }) : x)(function(x) {
44
- if (typeof __require$1 !== "undefined") return __require$1.apply(this, arguments);
45
- throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
46
- });
47
- function _type_of(obj) {
48
- "@swc/helpers - typeof";
49
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
50
- }
51
40
  var time;
52
41
  var debugKeyListeners;
53
42
  var startVisualizer;
@@ -59,8 +48,7 @@ var avoidReRenderKeys = /* @__PURE__ */ new Set([
59
48
  "group",
60
49
  "focus",
61
50
  "focusWithin",
62
- "media",
63
- "group"
51
+ "media"
64
52
  ]);
65
53
  var groupPseudoKeys = [
66
54
  "disabled",
@@ -114,7 +102,7 @@ function createComponent(staticConfig) {
114
102
  var nextStyleStaticConfig = getStyleStaticConfig(staticConfig, config);
115
103
  resolvedStyleStaticConfig = nextStyleStaticConfig;
116
104
  resolvedDefaultProps = nextStyleStaticConfig.defaultProps;
117
- if (isWeb && !staticConfig.isText && config.settings.defaultPosition === "relative" && ((_nextStyleStaticConfig_baseStyle = nextStyleStaticConfig.baseStyle) === null || _nextStyleStaticConfig_baseStyle === void 0 ? void 0 : _nextStyleStaticConfig_baseStyle.position) === void 0) resolvedStyleStaticConfig = {
105
+ if (isWeb && !staticConfig.isText && !staticConfig.isStyledHOC && config.settings.defaultPosition === "relative" && ((_nextStyleStaticConfig_baseStyle = nextStyleStaticConfig.baseStyle) === null || _nextStyleStaticConfig_baseStyle === void 0 ? void 0 : _nextStyleStaticConfig_baseStyle.position) === void 0) resolvedStyleStaticConfig = {
118
106
  ...nextStyleStaticConfig,
119
107
  baseStyle: {
120
108
  position: "relative",
@@ -142,7 +130,7 @@ function createComponent(staticConfig) {
142
130
  }
143
131
  if (process.env.NODE_ENV === "test") {
144
132
  var testRenderCount = propsIn["data-test-renders"];
145
- if (testRenderCount && (typeof testRenderCount === "undefined" ? "undefined" : _type_of(testRenderCount)) === "object" && !Object.isFrozen(testRenderCount)) {
133
+ if (testRenderCount && typeof testRenderCount === "object" && !Object.isFrozen(testRenderCount)) {
146
134
  var _testRenderCount_current;
147
135
  testRenderCount.current = (_testRenderCount_current = testRenderCount.current) !== null && _testRenderCount_current !== void 0 ? _testRenderCount_current : 0;
148
136
  testRenderCount.current += 1;
@@ -155,10 +143,6 @@ function createComponent(staticConfig) {
155
143
  var componentContext = React.useContext(ComponentContext);
156
144
  var hasTextAncestor = !!(isWeb && isText ? componentContext.inText : false);
157
145
  var isInsideNativeMenu = isAndroid ? React.useContext(NativeMenuContext) : false;
158
- if (!process.env.TAMAGUI_IS_CORE_NODE && process.env.NODE_ENV === "development" && debugProp === "profile" && !time) {
159
- time = require("@tamagui/timer").timer().start();
160
- globalThis["time"] = time;
161
- }
162
146
  if (process.env.NODE_ENV === "development" && !time && globalThis.time) time = globalThis.time;
163
147
  if (process.env.NODE_ENV === "development" && time) time`non-tamagui time (ignore)`;
164
148
  var props = propsIn;
@@ -233,8 +217,8 @@ function createComponent(staticConfig) {
233
217
  if (stateRef.current.avoidReRenders) useIsomorphicLayoutEffect(function() {
234
218
  var emitted = stateRef.current.prevPseudoState;
235
219
  if (emitted && (emitted.hover || emitted.press || emitted.focus)) {
236
- var _stateRef_current_updateStyleListener, _stateRef_current2;
237
- (_stateRef_current_updateStyleListener = (_stateRef_current2 = stateRef.current).updateStyleListener) === null || _stateRef_current_updateStyleListener === void 0 || _stateRef_current_updateStyleListener.call(_stateRef_current2);
220
+ var _stateRef_current_updateStyleListener, _stateRef_current3;
221
+ (_stateRef_current_updateStyleListener = (_stateRef_current3 = stateRef.current).updateStyleListener) === null || _stateRef_current_updateStyleListener === void 0 || _stateRef_current_updateStyleListener.call(_stateRef_current3);
238
222
  }
239
223
  var pendingState = stateRef.current.nextState;
240
224
  if (!pendingState) return;
@@ -249,8 +233,8 @@ function createComponent(staticConfig) {
249
233
  if (!pseudoDriver || !host) return;
250
234
  return pseudoDriver.subscribe(host, function(param) {
251
235
  var { hovered } = param;
252
- var _stateRef_current_setStateShallow, _stateRef_current2;
253
- (_stateRef_current_setStateShallow = (_stateRef_current2 = stateRef.current).setStateShallow) === null || _stateRef_current_setStateShallow === void 0 || _stateRef_current_setStateShallow.call(_stateRef_current2, { hover: hovered });
236
+ var _stateRef_current_setStateShallow, _stateRef_current3;
237
+ (_stateRef_current_setStateShallow = (_stateRef_current3 = stateRef.current).setStateShallow) === null || _stateRef_current_setStateShallow === void 0 || _stateRef_current_setStateShallow.call(_stateRef_current3, { hover: hovered });
254
238
  });
255
239
  }, [platformPseudo, props.disabled]);
256
240
  var setStateShallow = componentState.setStateShallow;
@@ -261,7 +245,9 @@ function createComponent(staticConfig) {
261
245
  var elementType = BaseComponent;
262
246
  var isAnimatedCustomComponent = animationDriver && isAnimated && animationDriver.needsCustomComponent;
263
247
  if (isAnimatedCustomComponent) elementType = animationDriver[isText ? "Text" : "View"] || elementType;
264
- var disableTheme = isHOC;
248
+ var disableThemeProp = false;
249
+ var hocThemesSelf = isHOC && "theme" in props;
250
+ var disableTheme = disableThemeProp || isHOC && !hocThemesSelf;
265
251
  if (process.env.NODE_ENV === "development" && time) time`theme-props`;
266
252
  var themeStateProps = {
267
253
  disable: disableTheme,
@@ -275,9 +261,9 @@ function createComponent(staticConfig) {
275
261
  var _stateRef_current1;
276
262
  themeStateProps.deopt = willBeAnimated;
277
263
  themeStateProps.nativeUpdate = (_stateRef_current1 = stateRef.current).nativeUpdateProxy || (_stateRef_current1.nativeUpdateProxy = function(next) {
278
- var _stateRef_current_nativeStyleUpdate, _stateRef_current2;
264
+ var _stateRef_current_nativeStyleUpdate, _stateRef_current3;
279
265
  var _stateRef_current_nativeStyleUpdate1;
280
- return (_stateRef_current_nativeStyleUpdate1 = (_stateRef_current_nativeStyleUpdate = (_stateRef_current2 = stateRef.current).nativeStyleUpdate) === null || _stateRef_current_nativeStyleUpdate === void 0 ? void 0 : _stateRef_current_nativeStyleUpdate.call(_stateRef_current2, next)) !== null && _stateRef_current_nativeStyleUpdate1 !== void 0 ? _stateRef_current_nativeStyleUpdate1 : false;
266
+ return (_stateRef_current_nativeStyleUpdate1 = (_stateRef_current_nativeStyleUpdate = (_stateRef_current3 = stateRef.current).nativeStyleUpdate) === null || _stateRef_current_nativeStyleUpdate === void 0 ? void 0 : _stateRef_current_nativeStyleUpdate.call(_stateRef_current3, next)) !== null && _stateRef_current_nativeStyleUpdate1 !== void 0 ? _stateRef_current_nativeStyleUpdate1 : false;
281
267
  });
282
268
  if (process.env.NODE_ENV === "development") {
283
269
  if (debugProp && debugProp !== "profile") {
@@ -347,7 +333,7 @@ ${banner}
347
333
  if (process.env.NODE_ENV === "development" && time) time`theme`;
348
334
  if (!isAnimatedCustomComponent) elementType = element || elementType;
349
335
  var isStringElement = typeof elementType === "string";
350
- var mediaState = useMedia(componentContext, debugProp, stateRef.current);
336
+ var mediaState = useMedia(stateRef.current, debugProp, stateRef.current);
351
337
  setDidGetVariableValue(false);
352
338
  if (process.env.NODE_ENV === "development" && time) time`media`;
353
339
  var styleProps = {
@@ -359,7 +345,8 @@ ${banner}
359
345
  willBeAnimated,
360
346
  canPlatformPseudo: componentState.platformPseudo,
361
347
  displayName,
362
- styledContext: styledContextValue
348
+ styledContext: styledContextValue,
349
+ prevStyle: isWeb ? void 0 : stateRef.current.prevStyle
363
350
  };
364
351
  var themeName = (themeState === null || themeState === void 0 ? void 0 : themeState.name) || "";
365
352
  if (process.env.NODE_ENV === "development" && time) time`split-styles-prepare`;
@@ -544,7 +531,7 @@ ${banner}
544
531
  };
545
532
  }
546
533
  }
547
- var hasEnterExitTransition = props.transition && _type_of(props.transition) === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
534
+ var hasEnterExitTransition = props.transition && typeof props.transition === "object" && !Array.isArray(props.transition) && ("enter" in props.transition || "exit" in props.transition);
548
535
  if (!isPassthrough && (hasAnimationProp || groupName || platformPseudo) && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) && !hasEnterExitTransition) {
549
536
  let updateGroupListeners2 = function() {
550
537
  var updatedState = stateRef.current.nextState;
@@ -553,6 +540,7 @@ ${banner}
553
540
  notifyGroupSubscribers(groupContext, stateRef.current.group || null, childrenGroupState);
554
541
  }
555
542
  };
543
+ var _stateRef_current2;
556
544
  var ogSetStateShallow = setStateShallow;
557
545
  stateRef.current.updateStyleListener = function() {
558
546
  var useStyleListener = stateRef.current.useStyleListener;
@@ -571,39 +559,19 @@ ${banner}
571
559
  var effectiveTransition2 = (_ref5 = (_nextStyles_effectiveTransition = nextStyles === null || nextStyles === void 0 ? void 0 : nextStyles.effectiveTransition) !== null && _nextStyles_effectiveTransition !== void 0 ? _nextStyles_effectiveTransition : props.transition) !== null && _ref5 !== void 0 ? _ref5 : platformPseudo ? "0ms" : void 0;
572
560
  stateRef.current.prevPseudoState = extractPseudoState(updatedState);
573
561
  var hasActivePseudo = Boolean(updatedState.hover || updatedState.press || updatedState.pressIn || updatedState.focus || updatedState.focusWithin);
574
- useStyleListener((nextStyles === null || nextStyles === void 0 ? void 0 : nextStyles.style) || {}, effectiveTransition2, hasActivePseudo);
575
- };
576
- componentContext.mediaEmitListeners = componentContext.mediaEmitListeners || /* @__PURE__ */ new Set();
577
- if (!stateRef.current.mediaEmitCleanup) {
578
- var updateListener = function(next) {
579
- var _stateRef_current_updateStyleListener, _stateRef_current2;
580
- stateRef.current.nextMedia = next;
581
- (_stateRef_current_updateStyleListener = (_stateRef_current2 = stateRef.current).updateStyleListener) === null || _stateRef_current_updateStyleListener === void 0 || _stateRef_current_updateStyleListener.call(_stateRef_current2);
582
- };
583
- componentContext.mediaEmitListeners.add(updateListener);
584
- stateRef.current.mediaEmitCleanup = function() {
585
- var _componentContext_mediaEmitListeners;
586
- (_componentContext_mediaEmitListeners = componentContext.mediaEmitListeners) === null || _componentContext_mediaEmitListeners === void 0 || _componentContext_mediaEmitListeners.delete(updateListener);
587
- };
588
- }
589
- componentContext.mediaEmit = componentContext.mediaEmit || function(next) {
590
- var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
591
- try {
592
- for (var _iterator2 = componentContext.mediaEmitListeners[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
593
- var listener = _step2.value;
594
- listener(next);
595
- }
596
- } catch (err) {
597
- _didIteratorError2 = true;
598
- _iteratorError2 = err;
599
- } finally {
600
- try {
601
- if (!_iteratorNormalCompletion2 && _iterator2.return != null) _iterator2.return();
602
- } finally {
603
- if (_didIteratorError2) throw _iteratorError2;
604
- }
605
- }
562
+ useStyleListener((nextStyles === null || nextStyles === void 0 ? void 0 : nextStyles.style) || {}, effectiveTransition2, hasActivePseudo, nextStyles === null || nextStyles === void 0 ? void 0 : nextStyles.nativeTextMetrics);
606
563
  };
564
+ (_stateRef_current2 = stateRef.current).mediaEmit || (_stateRef_current2.mediaEmit = function(next) {
565
+ var sr2 = stateRef.current;
566
+ sr2.nextMedia = next;
567
+ if (sr2.mediaEmitQueued) return;
568
+ sr2.mediaEmitQueued = true;
569
+ queueMicrotask(function() {
570
+ var _sr_updateStyleListener;
571
+ sr2.mediaEmitQueued = false;
572
+ (_sr_updateStyleListener = sr2.updateStyleListener) === null || _sr_updateStyleListener === void 0 || _sr_updateStyleListener.call(sr2);
573
+ });
574
+ });
607
575
  stateRef.current.setStateShallow = function(nextOrGetNext) {
608
576
  var prev = stateRef.current.nextState || state;
609
577
  var next = typeof nextOrGetNext === "function" ? nextOrGetNext(prev) : nextOrGetNext;
@@ -619,7 +587,7 @@ ${banner}
619
587
  };
620
588
  stateRef.current.nextState = updatedState;
621
589
  if (canAvoidReRender) {
622
- var _stateRef_current_updateStyleListener, _stateRef_current2;
590
+ var _stateRef_current_updateStyleListener, _stateRef_current3;
623
591
  if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") {
624
592
  console.groupCollapsed(`[\u26A1\uFE0F] avoid setState`, displayName, next, {
625
593
  updatedState,
@@ -629,7 +597,7 @@ ${banner}
629
597
  console.groupEnd();
630
598
  }
631
599
  updateGroupListeners2();
632
- (_stateRef_current_updateStyleListener = (_stateRef_current2 = stateRef.current).updateStyleListener) === null || _stateRef_current_updateStyleListener === void 0 || _stateRef_current_updateStyleListener.call(_stateRef_current2);
600
+ (_stateRef_current_updateStyleListener = (_stateRef_current3 = stateRef.current).updateStyleListener) === null || _stateRef_current_updateStyleListener === void 0 || _stateRef_current_updateStyleListener.call(_stateRef_current3);
633
601
  } else {
634
602
  if (process.env.NODE_ENV === "development" && debugProp && debugProp !== "profile") console.info(`[\u{1F40C}] re-render`, {
635
603
  canAvoidReRender,
@@ -639,8 +607,8 @@ ${banner}
639
607
  }
640
608
  };
641
609
  setStateShallow = function(state2) {
642
- var _stateRef_current_setStateShallow, _stateRef_current2;
643
- (_stateRef_current_setStateShallow = (_stateRef_current2 = stateRef.current).setStateShallow) === null || _stateRef_current_setStateShallow === void 0 || _stateRef_current_setStateShallow.call(_stateRef_current2, state2);
610
+ var _stateRef_current_setStateShallow, _stateRef_current3;
611
+ (_stateRef_current_setStateShallow = (_stateRef_current3 = stateRef.current).setStateShallow) === null || _stateRef_current_setStateShallow === void 0 || _stateRef_current_setStateShallow.call(_stateRef_current3, state2);
644
612
  };
645
613
  }
646
614
  if (process.env.NODE_ENV === "development" && time) time`split-styles`;
@@ -657,20 +625,23 @@ ${banner}
657
625
  setMediaShouldUpdate(stateRef.current, shouldListenForMedia, mediaListeningKeys, stateRef.current.optimizeForFirstRender);
658
626
  var { viewProps: viewPropsIn, style: splitStylesStyle, classNames, pseudoGroups, mediaGroups } = splitStyles || {};
659
627
  var groupSetRevision = useGroupSetRevision(pseudoGroups, mediaGroups);
628
+ if (!isWeb) stateRef.current.prevStyle = splitStylesStyle || null;
660
629
  var propsWithAnimation = props;
661
- var { asChild, children, themeShallow, spaceDirection: _spaceDirection, onPress, onLongPress, onPressIn, onPressOut, onHoverIn, onHoverOut, onMouseUp, onMouseDown, onMouseEnter, onMouseLeave, onFocus, onBlur, onTransition, separator, passThrough, forceStyle: _forceStyle, onClick, theme: _themeProp, ...nonTamaguiProps } = viewPropsIn || {};
630
+ var { asChild, children, themeShallow, onPress, onLongPress, onPressIn, onPressOut, onHoverIn, onHoverOut, onMouseUp, onMouseDown, onMouseEnter, onMouseLeave, onFocus, onBlur, onTransition, separator, passThrough, forceStyle: _forceStyle, onClick, theme: _themeProp, ...nonTamaguiProps } = viewPropsIn || {};
662
631
  var viewProps = nonTamaguiProps;
663
632
  if (props.forceStyle) viewProps.forceStyle = props.forceStyle;
664
633
  if (isHOC) {
665
- if (typeof _themeProp !== "undefined") viewProps.theme = _themeProp;
634
+ if (typeof _themeProp !== "undefined" && !hocThemesSelf) viewProps.theme = _themeProp;
666
635
  if (typeof passThrough !== "undefined") viewProps.passThrough = passThrough;
667
636
  if (typeof asChild !== "undefined") viewProps.asChild = asChild;
668
637
  if (typeof onTransition !== "undefined") viewProps.onTransition = onTransition;
669
638
  }
670
639
  var animationStyles;
640
+ var animatedText = isText && (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.nativeTextMetrics) && !splitStyles.nativeTextMetrics.inheritsFontSize ? null : componentContext.animatedText;
671
641
  var shouldUseAnimation = (inputStyle === "css" ? willBeAnimatedClient : willBeAnimated) && useAnimations && !isHOC;
672
642
  var animatedRef;
673
643
  if (shouldUseAnimation) {
644
+ var _splitStyles_nativeTextMetrics;
674
645
  var useStyleEmitter = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.avoidReRenders) ? function(listener) {
675
646
  stateRef.current.useStyleListener = listener;
676
647
  } : void 0;
@@ -679,6 +650,7 @@ ${banner}
679
650
  if (splitStyles) splitStyles.effectiveTransition = effectiveTransition;
680
651
  stateRef.current.prevPseudoState = extractPseudoState(state);
681
652
  var animations = useAnimations({
653
+ inheritedText: (splitStyles === null || splitStyles === void 0 ? void 0 : (_splitStyles_nativeTextMetrics = splitStyles.nativeTextMetrics) === null || _splitStyles_nativeTextMetrics === void 0 ? void 0 : _splitStyles_nativeTextMetrics.inheritsFontSize) ? componentContext.animatedText : null,
682
654
  props: propsWithAnimation,
683
655
  style: isHydrated ? splitStylesStyle || {} : { ...splitStylesStyle },
684
656
  styleState: splitStyles,
@@ -693,6 +665,7 @@ ${banner}
693
665
  onTransition
694
666
  });
695
667
  if (animations) {
668
+ animatedText = animations.textChannel;
696
669
  if (animations.ref) animatedRef = animations.ref;
697
670
  if (isHydrated && animations) {
698
671
  animationStyles = animations.style;
@@ -716,12 +689,23 @@ ${banner}
716
689
  stateRef.current.hasMeasured = true;
717
690
  });
718
691
  viewProps = ((_hooks_usePropsTransform = hooks.usePropsTransform) === null || _hooks_usePropsTransform === void 0 ? void 0 : _hooks_usePropsTransform.call(hooks, elementType, nonTamaguiProps, stateRef, stateRef.current.willHydrate)) || nonTamaguiProps;
692
+ stateRef.current.composedForwardedRef = forwardedRef;
719
693
  if (!stateRef.current.composedRef) stateRef.current.composedRef = composeRefs(function(x) {
720
694
  stateRef.current.host = x;
721
695
  updateNativeStyleLink(stateRef.current, x);
722
- }, forwardedRef, setElementProps, animatedRef);
696
+ var current = stateRef.current.composedForwardedRef;
697
+ stateRef.current.attachedForwardedRef = x ? current : void 0;
698
+ setRef(current, x);
699
+ }, setElementProps, animatedRef);
723
700
  viewProps.ref = stateRef.current.composedRef;
724
701
  if (onClick !== void 0 && ((_staticConfig_neverSkipProps = staticConfig.neverSkipProps) === null || _staticConfig_neverSkipProps === void 0 ? void 0 : _staticConfig_neverSkipProps.onClick)) viewProps.onClick = onClick;
702
+ useIsomorphicLayoutEffect(function() {
703
+ var attached = stateRef.current.attachedForwardedRef;
704
+ if (attached === forwardedRef) return;
705
+ if (attached) setRef(attached, null);
706
+ stateRef.current.attachedForwardedRef = forwardedRef;
707
+ if (stateRef.current.host) setRef(forwardedRef, stateRef.current.host);
708
+ }, [forwardedRef]);
725
709
  usePointerEvents(props, viewProps);
726
710
  if (process.env.NODE_ENV === "development") {
727
711
  if (!isText && isWeb && !isHOC) React.Children.toArray(props.children).forEach(function(item) {
@@ -776,10 +760,7 @@ ${banner}
776
760
  }, [state.unmounted, inputStyle]);
777
761
  useIsomorphicLayoutEffect(function() {
778
762
  return function() {
779
- var _stateRef_current_mediaEmitCleanup, _stateRef_current2;
780
763
  componentSetStates.delete(setState);
781
- (_stateRef_current_mediaEmitCleanup = (_stateRef_current2 = stateRef.current).mediaEmitCleanup) === null || _stateRef_current_mediaEmitCleanup === void 0 || _stateRef_current_mediaEmitCleanup.call(_stateRef_current2);
782
- stateRef.current.mediaEmitCleanup = void 0;
783
764
  };
784
765
  }, []);
785
766
  useIsomorphicLayoutEffect(function() {
@@ -916,6 +897,18 @@ ${banner}
916
897
  }
917
898
  }
918
899
  } : null;
900
+ useIsomorphicLayoutEffect(function() {
901
+ var hadPressPlumbing = stateRef.current.hadAttachPress;
902
+ stateRef.current.hadAttachPress = attachPress;
903
+ if (hadPressPlumbing && !attachPress && !(pseudoGroups === null || pseudoGroups === void 0 ? void 0 : pseudoGroups.size)) {
904
+ var _stateRef_current_setStateShallow;
905
+ var clearPress = (_stateRef_current_setStateShallow = stateRef.current.setStateShallow) !== null && _stateRef_current_setStateShallow !== void 0 ? _stateRef_current_setStateShallow : stateRef.current.baseSetStateShallow;
906
+ clearPress === null || clearPress === void 0 || clearPress({
907
+ press: false,
908
+ pressIn: false
909
+ });
910
+ }
911
+ }, [attachPress, pseudoGroups]);
919
912
  if (events && !asChild) Object.assign(events, {
920
913
  cancelable: !viewProps.rejectResponderTermination,
921
914
  disabled,
@@ -964,12 +957,20 @@ ${banner}
964
957
  }
965
958
  }
966
959
  if (!content) {
960
+ var _splitStyles_nativeTextMetrics1;
967
961
  if (isRenderPropString && elementType["acceptRenderProp"]) viewProps.render = renderProp;
968
962
  content = /* @__PURE__ */ React.createElement(elementType, viewProps, content || children);
963
+ if (!shouldUseAnimation && !isHOC && !staticConfig.isDOM && !asChild && (splitStyles === null || splitStyles === void 0 ? void 0 : (_splitStyles_nativeTextMetrics1 = splitStyles.nativeTextMetrics) === null || _splitStyles_nativeTextMetrics1 === void 0 ? void 0 : _splitStyles_nativeTextMetrics1.inheritsFontSize) && componentContext.animatedText && (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.useTextMetrics)) content = /* @__PURE__ */ jsx(NativeTextBinding, {
964
+ element: content,
965
+ useTextMetrics: animationDriver.useTextMetrics,
966
+ inheritedText: componentContext.animatedText,
967
+ lineHeight: splitStyles.nativeTextMetrics.lineHeight,
968
+ isInput: staticConfig.isInput
969
+ });
969
970
  }
970
971
  if (process.env.NODE_ENV === "development" && time) time`use-children`;
971
972
  }
972
- content = wrapWithGestureDetector(content, pressGesture, stateRef, isHOC, !isHOC && Component && typeof Component !== "string", hasRealPressEvents);
973
+ content = wrapWithGestureDetector(content, pressGesture, stateRef, isHOC, !isHOC && Component && typeof Component !== "string", hasRealPressEvents && !isInsideNativeMenu);
973
974
  var ResetPresence = (animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.isStub) ? void 0 : animationDriver === null || animationDriver === void 0 ? void 0 : animationDriver.ResetPresence;
974
975
  var needsReset = Boolean(!asChild && splitStyles && !isHOC && ResetPresence && willBeAnimated && (hasEnterStyle || presenceState));
975
976
  var hasEverReset = stateRef.current.hasEverResetPresence;
@@ -979,15 +980,25 @@ ${banner}
979
980
  children: content
980
981
  });
981
982
  if (process.env.NODE_ENV === "development" && time) time`create-element`;
982
- if (conditionalStates === null || conditionalStates === void 0 ? void 0 : conditionalStates.has("focus-within")) content = /* @__PURE__ */ jsx(ComponentContext.Provider, {
983
- ...componentContext,
984
- setParentFocusState: setStateShallow,
985
- children: content
986
- });
987
983
  if (groupName || isContainer) content = /* @__PURE__ */ jsx(GroupContext.Provider, {
988
984
  value: allGroupContexts,
989
985
  children: content
990
986
  });
987
+ var textMetrics = !staticConfig.isDOM && !isHOC && isText && !(asChild && isTamaguiElement(children)) ? splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.nativeTextMetrics : void 0;
988
+ var provideText = !!textMetrics && children !== null && typeof children === "object" && (!componentContext.inText || textMetrics.fontSize !== componentContext.parentFontSize || textMetrics.lineHeight !== componentContext.parentLineHeight || animatedText !== componentContext.animatedText);
989
+ var provideFocus = conditionalStates === null || conditionalStates === void 0 ? void 0 : conditionalStates.has("focus-within");
990
+ if (provideText || provideFocus) {
991
+ var _textMetrics_fontSize;
992
+ content = /* @__PURE__ */ jsx(ComponentContext.Provider, {
993
+ ...componentContext,
994
+ inText: provideText || componentContext.inText,
995
+ parentFontSize: (_textMetrics_fontSize = textMetrics === null || textMetrics === void 0 ? void 0 : textMetrics.fontSize) !== null && _textMetrics_fontSize !== void 0 ? _textMetrics_fontSize : componentContext.parentFontSize,
996
+ parentLineHeight: textMetrics ? textMetrics.lineHeight : componentContext.parentLineHeight,
997
+ animatedText,
998
+ setParentFocusState: provideFocus ? setStateShallow : componentContext.setParentFocusState,
999
+ children: content
1000
+ });
1001
+ }
991
1002
  if (process.env.NODE_ENV === "development" && time) time`group-context`;
992
1003
  content = disableTheme || !splitStyles ? content : getThemedChildren(themeState, content, themeStateProps, false, stateRef);
993
1004
  if (process.env.NODE_ENV === "development" && time) time`themed-children`;
@@ -1001,7 +1012,7 @@ ${banner}
1001
1012
  });
1002
1013
  }
1003
1014
  if (process.env.NODE_ENV === "development" && time) time`context-override`;
1004
- if (!process.env.TAMAGUI_DID_OUTPUT_CSS && false);
1015
+ if (process.env.TAMAGUI_RUNTIME !== "island" && false);
1005
1016
  if (process.env.NODE_ENV === "development" && time) time`style-tags`;
1006
1017
  if (process.env.NODE_ENV === "development") {
1007
1018
  if (debugProp && debugProp !== "profile") {
@@ -1109,7 +1120,7 @@ var fromPx = function(val) {
1109
1120
  var getCustomRender = function(renderProp, content, viewProps, state) {
1110
1121
  if (typeof renderProp === "function") renderProp = getRenderElementForPlatform(renderProp(viewProps, state));
1111
1122
  if (renderProp) {
1112
- if ((typeof renderProp === "undefined" ? "undefined" : _type_of(renderProp)) === "object" && /* @__PURE__ */ React.isValidElement(renderProp)) {
1123
+ if (typeof renderProp === "object" && /* @__PURE__ */ React.isValidElement(renderProp)) {
1113
1124
  if (getRenderElementForPlatform(renderProp)) {
1114
1125
  var elementProps = renderProp.props;
1115
1126
  var mergedProps = elementProps ? mergeRenderElementProps(elementProps, viewProps, content) : viewProps;