@tamagui/core 1.0.1-beta.139 → 1.0.1-beta.142

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 (640) hide show
  1. package/dist/cjs/Tamagui.js +2 -2
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/addTheme.js +28 -22
  4. package/dist/cjs/addTheme.js.map +2 -2
  5. package/dist/cjs/conf.js +0 -0
  6. package/dist/cjs/conf.js.map +0 -0
  7. package/dist/cjs/config.js +75 -0
  8. package/dist/cjs/config.js.map +7 -0
  9. package/dist/cjs/constants/constants.js +0 -0
  10. package/dist/cjs/constants/constants.js.map +0 -0
  11. package/dist/cjs/constants/platform.js +7 -1
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/platform.native.js +62 -0
  14. package/dist/cjs/constants/platform.native.js.map +7 -0
  15. package/dist/cjs/contexts/ButtonInsideButtonContext.js +0 -0
  16. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +0 -0
  17. package/dist/cjs/contexts/FontLanguageContext.js +0 -0
  18. package/dist/cjs/contexts/FontLanguageContext.js.map +0 -0
  19. package/dist/cjs/contexts/TextAncestorContext.js +0 -0
  20. package/dist/cjs/contexts/TextAncestorContext.js.map +0 -0
  21. package/dist/cjs/contexts/ThemeContext.js +0 -0
  22. package/dist/cjs/contexts/ThemeContext.js.map +0 -0
  23. package/dist/cjs/createComponent.js +77 -71
  24. package/dist/cjs/createComponent.js.map +2 -2
  25. package/dist/cjs/createComponent.server.js +431 -0
  26. package/dist/cjs/createComponent.server.js.map +7 -0
  27. package/dist/cjs/createFont.js +0 -0
  28. package/dist/cjs/createFont.js.map +0 -0
  29. package/dist/cjs/createShorthands.js +0 -0
  30. package/dist/cjs/createShorthands.js.map +0 -0
  31. package/dist/cjs/createTamagui.js +31 -32
  32. package/dist/cjs/createTamagui.js.map +2 -2
  33. package/dist/cjs/createTheme.js +0 -0
  34. package/dist/cjs/createTheme.js.map +0 -0
  35. package/dist/cjs/createTokens.js +0 -0
  36. package/dist/cjs/createTokens.js.map +0 -0
  37. package/dist/cjs/createVariable.js +21 -35
  38. package/dist/cjs/createVariable.js.map +2 -2
  39. package/dist/cjs/createVariables.js +5 -2
  40. package/dist/cjs/createVariables.js.map +2 -2
  41. package/dist/cjs/helpers/RNComponents.js +11 -11
  42. package/dist/cjs/helpers/RNComponents.js.map +2 -2
  43. package/dist/cjs/helpers/ThemeManager.js +7 -9
  44. package/dist/cjs/helpers/ThemeManager.js.map +2 -2
  45. package/dist/cjs/helpers/areEqualSets.js +0 -0
  46. package/dist/cjs/helpers/areEqualSets.js.map +0 -0
  47. package/dist/cjs/helpers/assignNativePropsToWeb.js +0 -1
  48. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +2 -2
  49. package/dist/cjs/helpers/assignNativePropsToWeb.native.js +0 -0
  50. package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +0 -0
  51. package/dist/cjs/helpers/calc.js +0 -0
  52. package/dist/cjs/helpers/calc.js.map +0 -0
  53. package/dist/cjs/helpers/createMediaStyle.js +0 -0
  54. package/dist/cjs/helpers/createMediaStyle.js.map +0 -0
  55. package/dist/cjs/helpers/createPropMapper.js +3 -3
  56. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  57. package/dist/cjs/helpers/createShallowUpdate.js +0 -0
  58. package/dist/cjs/helpers/createShallowUpdate.js.map +0 -0
  59. package/dist/cjs/helpers/cssHash.js +0 -0
  60. package/dist/cjs/helpers/cssHash.js.map +0 -0
  61. package/dist/cjs/helpers/expandStyle.js +0 -0
  62. package/dist/cjs/helpers/expandStyle.js.map +0 -0
  63. package/dist/cjs/helpers/expandStyles.js +4 -4
  64. package/dist/cjs/helpers/expandStyles.js.map +2 -2
  65. package/dist/cjs/helpers/extendStaticConfig.js +0 -0
  66. package/dist/cjs/helpers/extendStaticConfig.js.map +0 -0
  67. package/dist/cjs/helpers/fixNativeShadow.js +0 -0
  68. package/dist/cjs/helpers/fixNativeShadow.js.map +0 -0
  69. package/dist/cjs/{Pressability.js → helpers/getAnimationDriver.js} +10 -10
  70. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  71. package/dist/cjs/helpers/getExpandedShorthands.js +3 -3
  72. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  73. package/dist/cjs/helpers/getFont.js +1 -1
  74. package/dist/cjs/helpers/getFont.js.map +2 -2
  75. package/dist/cjs/helpers/getFontLanguage.js +0 -0
  76. package/dist/cjs/helpers/getFontLanguage.js.map +0 -0
  77. package/dist/cjs/helpers/getSize.js +2 -2
  78. package/dist/cjs/helpers/getSize.js.map +2 -2
  79. package/dist/cjs/helpers/getSplitStyles.js +12 -13
  80. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  81. package/dist/cjs/helpers/getStackSize.js +0 -0
  82. package/dist/cjs/helpers/getStackSize.js.map +0 -0
  83. package/dist/cjs/helpers/getStylesAtomic.js +6 -4
  84. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  85. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -0
  86. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -0
  87. package/dist/cjs/helpers/getThemeCSSRules.js +0 -0
  88. package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -0
  89. package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -0
  90. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +0 -0
  91. package/dist/cjs/helpers/getVariantExtras.js +2 -2
  92. package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
  93. package/dist/cjs/helpers/insertStyleRule.js +0 -0
  94. package/dist/cjs/helpers/insertStyleRule.js.map +0 -0
  95. package/dist/cjs/helpers/isObj.js +0 -0
  96. package/dist/cjs/helpers/isObj.js.map +0 -0
  97. package/dist/cjs/helpers/isTamaguiComponent.js +0 -0
  98. package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -0
  99. package/dist/cjs/helpers/isTamaguiElement.js +0 -0
  100. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -0
  101. package/dist/cjs/helpers/matchMedia.js +0 -0
  102. package/dist/cjs/helpers/matchMedia.js.map +0 -0
  103. package/dist/cjs/helpers/matchMedia.native.js +0 -0
  104. package/dist/cjs/helpers/matchMedia.native.js.map +0 -0
  105. package/dist/cjs/helpers/mergeProps.js +0 -0
  106. package/dist/cjs/helpers/mergeProps.js.map +0 -0
  107. package/dist/cjs/helpers/mergeTransform.js +0 -0
  108. package/dist/cjs/helpers/mergeTransform.js.map +0 -0
  109. package/dist/cjs/helpers/normalizeColor.js +2 -2
  110. package/dist/cjs/helpers/normalizeColor.js.map +2 -2
  111. package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -0
  112. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
  113. package/dist/cjs/helpers/proxyThemeVariables.js +0 -0
  114. package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -0
  115. package/dist/cjs/helpers/pseudoDescriptors.js +0 -0
  116. package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -0
  117. package/dist/cjs/helpers/registerCSSVariable.js +0 -0
  118. package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
  119. package/dist/cjs/helpers/startTransition.js +0 -0
  120. package/dist/cjs/helpers/startTransition.js.map +0 -0
  121. package/dist/cjs/helpers/themeable.js +0 -0
  122. package/dist/cjs/helpers/themeable.js.map +0 -0
  123. package/dist/cjs/helpers/themes.js +0 -0
  124. package/dist/cjs/helpers/themes.js.map +0 -0
  125. package/dist/cjs/helpers/useAnimationDriver.js +2 -0
  126. package/dist/cjs/{defaultComponentState.js.map → helpers/useAnimationDriver.js.map} +0 -0
  127. package/dist/cjs/helpers/validate.js +0 -0
  128. package/dist/cjs/helpers/validate.js.map +0 -0
  129. package/dist/cjs/helpers/withStaticProperties.js +0 -0
  130. package/dist/cjs/helpers/withStaticProperties.js.map +0 -0
  131. package/dist/cjs/hooks/getThemeUnwrapped.js +2 -0
  132. package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
  133. package/dist/cjs/hooks/useAnimationDriver.js +2 -0
  134. package/dist/{esm/defaultComponentState.js.map → cjs/hooks/useAnimationDriver.js.map} +0 -0
  135. package/dist/cjs/hooks/useConstant.js +3 -0
  136. package/dist/cjs/hooks/useConstant.js.map +2 -2
  137. package/dist/cjs/hooks/useFeatures.js +10 -2
  138. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  139. package/dist/cjs/hooks/useId.js +0 -0
  140. package/dist/cjs/hooks/useId.js.map +0 -0
  141. package/dist/cjs/hooks/useIsMounted.js +0 -0
  142. package/dist/cjs/hooks/useIsMounted.js.map +0 -0
  143. package/dist/cjs/hooks/useIsSSR.js +2 -2
  144. package/dist/cjs/hooks/useIsSSR.js.map +2 -2
  145. package/dist/cjs/hooks/useIsTouchDevice.js +0 -0
  146. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -0
  147. package/dist/cjs/hooks/useMedia.js +0 -0
  148. package/dist/cjs/hooks/useMedia.js.map +0 -0
  149. package/dist/cjs/hooks/usePressable.js +0 -0
  150. package/dist/cjs/hooks/usePressable.js.map +0 -0
  151. package/dist/cjs/hooks/useSafeRef.js +0 -0
  152. package/dist/cjs/hooks/useSafeRef.js.map +0 -0
  153. package/dist/cjs/{helpers/nativeGestureHandler.native.js → hooks/useServerContext.js} +8 -6
  154. package/dist/cjs/hooks/useServerContext.js.map +7 -0
  155. package/dist/cjs/{ThemeContext.js → hooks/useServerHooks.js} +13 -7
  156. package/dist/cjs/hooks/useServerHooks.js.map +7 -0
  157. package/dist/cjs/hooks/useTheme.js +72 -44
  158. package/dist/cjs/hooks/useTheme.js.map +2 -2
  159. package/dist/cjs/hooks/useUnmountEffect.js +0 -0
  160. package/dist/cjs/hooks/useUnmountEffect.js.map +0 -0
  161. package/dist/cjs/index.js +8 -6
  162. package/dist/cjs/index.js.map +2 -2
  163. package/dist/cjs/{Pressability.native.js → injectStyles.js} +18 -10
  164. package/dist/cjs/injectStyles.js.map +7 -0
  165. package/dist/cjs/insertFont.js +2 -2
  166. package/dist/cjs/insertFont.js.map +2 -2
  167. package/dist/cjs/static.js +0 -0
  168. package/dist/cjs/static.js.map +0 -0
  169. package/dist/cjs/styled.js +11 -1
  170. package/dist/cjs/styled.js.map +2 -2
  171. package/dist/cjs/types-rnw.js +0 -0
  172. package/dist/cjs/types-rnw.js.map +0 -0
  173. package/dist/cjs/types.js +0 -0
  174. package/dist/cjs/types.js.map +1 -1
  175. package/dist/cjs/updateTheme.js +0 -0
  176. package/dist/cjs/updateTheme.js.map +0 -0
  177. package/dist/cjs/vendor/Pressability.js +0 -0
  178. package/dist/cjs/vendor/Pressability.js.map +0 -0
  179. package/dist/cjs/vendor/Pressability.native.js +0 -0
  180. package/dist/cjs/vendor/Pressability.native.js.map +0 -0
  181. package/dist/cjs/views/FontLanguage.js +0 -0
  182. package/dist/cjs/views/FontLanguage.js.map +0 -0
  183. package/dist/cjs/views/FontLanguage.native.js +0 -0
  184. package/dist/cjs/views/FontLanguage.native.js.map +0 -0
  185. package/dist/cjs/views/FontLanguage.types.js +0 -0
  186. package/dist/cjs/views/FontLanguage.types.js.map +0 -0
  187. package/dist/cjs/views/Slot.js +0 -0
  188. package/dist/cjs/views/Slot.js.map +0 -0
  189. package/dist/cjs/views/Stack.js +0 -0
  190. package/dist/cjs/views/Stack.js.map +0 -0
  191. package/dist/cjs/{helpers/createTamaguiProvider.js → views/TamaguiProvider.js} +41 -35
  192. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  193. package/dist/cjs/views/Text.js +0 -0
  194. package/dist/cjs/views/Text.js.map +0 -0
  195. package/dist/cjs/views/Theme.js +4 -3
  196. package/dist/cjs/views/Theme.js.map +2 -2
  197. package/dist/cjs/views/ThemeInverse.js +0 -0
  198. package/dist/cjs/views/ThemeInverse.js.map +0 -0
  199. package/dist/cjs/views/ThemeProvider.js +10 -6
  200. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  201. package/dist/cjs/views/ThemeReset.js +0 -0
  202. package/dist/cjs/views/ThemeReset.js.map +0 -0
  203. package/dist/esm/Tamagui.js +1 -1
  204. package/dist/esm/Tamagui.js.map +1 -1
  205. package/dist/esm/addTheme.js +27 -21
  206. package/dist/esm/addTheme.js.map +2 -2
  207. package/dist/esm/conf.js +0 -0
  208. package/dist/esm/conf.js.map +0 -0
  209. package/dist/esm/config.js +43 -0
  210. package/dist/esm/config.js.map +7 -0
  211. package/dist/esm/constants/constants.js +0 -0
  212. package/dist/esm/constants/constants.js.map +0 -0
  213. package/dist/esm/constants/platform.js +5 -1
  214. package/dist/esm/constants/platform.js.map +2 -2
  215. package/dist/esm/constants/platform.native.js +28 -0
  216. package/dist/esm/constants/platform.native.js.map +7 -0
  217. package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
  218. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +0 -0
  219. package/dist/esm/contexts/FontLanguageContext.js +0 -0
  220. package/dist/esm/contexts/FontLanguageContext.js.map +0 -0
  221. package/dist/esm/contexts/TextAncestorContext.js +0 -0
  222. package/dist/esm/contexts/TextAncestorContext.js.map +0 -0
  223. package/dist/esm/contexts/ThemeContext.js +0 -0
  224. package/dist/esm/contexts/ThemeContext.js.map +0 -0
  225. package/dist/esm/createComponent.js +77 -73
  226. package/dist/esm/createComponent.js.map +2 -2
  227. package/dist/esm/createComponent.server.js +408 -0
  228. package/dist/esm/createComponent.server.js.map +7 -0
  229. package/dist/esm/createFont.js +0 -0
  230. package/dist/esm/createFont.js.map +0 -0
  231. package/dist/esm/createShorthands.js +0 -0
  232. package/dist/esm/createShorthands.js.map +0 -0
  233. package/dist/esm/createTamagui.js +30 -31
  234. package/dist/esm/createTamagui.js.map +2 -2
  235. package/dist/esm/createTheme.js +0 -0
  236. package/dist/esm/createTheme.js.map +0 -0
  237. package/dist/esm/createTokens.js +0 -0
  238. package/dist/esm/createTokens.js.map +0 -0
  239. package/dist/esm/createVariable.js +19 -33
  240. package/dist/esm/createVariable.js.map +2 -2
  241. package/dist/esm/createVariables.js +5 -2
  242. package/dist/esm/createVariables.js.map +2 -2
  243. package/dist/esm/helpers/RNComponents.js +11 -8
  244. package/dist/esm/helpers/RNComponents.js.map +2 -2
  245. package/dist/esm/helpers/ThemeManager.js +6 -8
  246. package/dist/esm/helpers/ThemeManager.js.map +2 -2
  247. package/dist/esm/helpers/areEqualSets.js +0 -0
  248. package/dist/esm/helpers/areEqualSets.js.map +0 -0
  249. package/dist/esm/helpers/assignNativePropsToWeb.js +0 -1
  250. package/dist/esm/helpers/assignNativePropsToWeb.js.map +2 -2
  251. package/dist/esm/helpers/assignNativePropsToWeb.native.js +0 -0
  252. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +0 -0
  253. package/dist/esm/helpers/calc.js +0 -0
  254. package/dist/esm/helpers/calc.js.map +0 -0
  255. package/dist/esm/helpers/createMediaStyle.js +0 -0
  256. package/dist/esm/helpers/createMediaStyle.js.map +0 -0
  257. package/dist/esm/helpers/createPropMapper.js +2 -2
  258. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  259. package/dist/esm/helpers/createShallowUpdate.js +0 -0
  260. package/dist/esm/helpers/createShallowUpdate.js.map +0 -0
  261. package/dist/esm/helpers/cssHash.js +0 -0
  262. package/dist/esm/helpers/cssHash.js.map +0 -0
  263. package/dist/esm/helpers/expandStyle.js +0 -0
  264. package/dist/esm/helpers/expandStyle.js.map +0 -0
  265. package/dist/esm/helpers/expandStyles.js +3 -3
  266. package/dist/esm/helpers/expandStyles.js.map +2 -2
  267. package/dist/esm/helpers/extendStaticConfig.js +0 -0
  268. package/dist/esm/helpers/extendStaticConfig.js.map +0 -0
  269. package/dist/esm/helpers/fixNativeShadow.js +0 -0
  270. package/dist/esm/helpers/fixNativeShadow.js.map +0 -0
  271. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  272. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  273. package/dist/esm/helpers/getExpandedShorthands.js +2 -2
  274. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  275. package/dist/esm/helpers/getFont.js +1 -1
  276. package/dist/esm/helpers/getFont.js.map +2 -2
  277. package/dist/esm/helpers/getFontLanguage.js +0 -0
  278. package/dist/esm/helpers/getFontLanguage.js.map +0 -0
  279. package/dist/esm/helpers/getSize.js +1 -1
  280. package/dist/esm/helpers/getSize.js.map +1 -1
  281. package/dist/esm/helpers/getSplitStyles.js +12 -13
  282. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  283. package/dist/esm/helpers/getStackSize.js +0 -0
  284. package/dist/esm/helpers/getStackSize.js.map +0 -0
  285. package/dist/esm/helpers/getStylesAtomic.js +5 -3
  286. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  287. package/dist/esm/helpers/getStylesAtomic.native.js +0 -0
  288. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -0
  289. package/dist/esm/helpers/getThemeCSSRules.js +0 -0
  290. package/dist/esm/helpers/getThemeCSSRules.js.map +0 -0
  291. package/dist/esm/helpers/getThemeCSSRules.native.js +0 -0
  292. package/dist/esm/helpers/getThemeCSSRules.native.js.map +0 -0
  293. package/dist/esm/helpers/getVariantExtras.js +1 -1
  294. package/dist/esm/helpers/getVariantExtras.js.map +1 -1
  295. package/dist/esm/helpers/insertStyleRule.js +0 -0
  296. package/dist/esm/helpers/insertStyleRule.js.map +0 -0
  297. package/dist/esm/helpers/isObj.js +0 -0
  298. package/dist/esm/helpers/isObj.js.map +0 -0
  299. package/dist/esm/helpers/isTamaguiComponent.js +0 -0
  300. package/dist/esm/helpers/isTamaguiComponent.js.map +0 -0
  301. package/dist/esm/helpers/isTamaguiElement.js +0 -0
  302. package/dist/esm/helpers/isTamaguiElement.js.map +0 -0
  303. package/dist/esm/helpers/matchMedia.js +0 -0
  304. package/dist/esm/helpers/matchMedia.js.map +0 -0
  305. package/dist/esm/helpers/matchMedia.native.js +0 -0
  306. package/dist/esm/helpers/matchMedia.native.js.map +0 -0
  307. package/dist/esm/helpers/mergeProps.js +0 -0
  308. package/dist/esm/helpers/mergeProps.js.map +0 -0
  309. package/dist/esm/helpers/mergeTransform.js +0 -0
  310. package/dist/esm/helpers/mergeTransform.js.map +0 -0
  311. package/dist/esm/helpers/normalizeColor.js +1 -1
  312. package/dist/esm/helpers/normalizeColor.js.map +1 -1
  313. package/dist/esm/helpers/normalizeValueWithProperty.js +0 -0
  314. package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
  315. package/dist/esm/helpers/proxyThemeVariables.js +0 -0
  316. package/dist/esm/helpers/proxyThemeVariables.js.map +0 -0
  317. package/dist/esm/helpers/pseudoDescriptors.js +0 -0
  318. package/dist/esm/helpers/pseudoDescriptors.js.map +0 -0
  319. package/dist/esm/helpers/registerCSSVariable.js +0 -0
  320. package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
  321. package/dist/esm/helpers/startTransition.js +0 -0
  322. package/dist/esm/helpers/startTransition.js.map +0 -0
  323. package/dist/esm/helpers/themeable.js +0 -0
  324. package/dist/esm/helpers/themeable.js.map +0 -0
  325. package/dist/esm/helpers/themes.js +0 -0
  326. package/dist/esm/helpers/themes.js.map +0 -0
  327. package/dist/esm/helpers/useAnimationDriver.js +1 -0
  328. package/dist/esm/helpers/useAnimationDriver.js.map +7 -0
  329. package/dist/esm/helpers/validate.js +0 -0
  330. package/dist/esm/helpers/validate.js.map +0 -0
  331. package/dist/esm/helpers/withStaticProperties.js +0 -0
  332. package/dist/esm/helpers/withStaticProperties.js.map +0 -0
  333. package/dist/esm/hooks/getThemeUnwrapped.js +2 -0
  334. package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
  335. package/dist/esm/hooks/useAnimationDriver.js +1 -0
  336. package/dist/esm/hooks/useAnimationDriver.js.map +7 -0
  337. package/dist/esm/hooks/useConstant.js +4 -1
  338. package/dist/esm/hooks/useConstant.js.map +2 -2
  339. package/dist/esm/hooks/useFeatures.js +9 -1
  340. package/dist/esm/hooks/useFeatures.js.map +2 -2
  341. package/dist/esm/hooks/useId.js +0 -0
  342. package/dist/esm/hooks/useId.js.map +0 -0
  343. package/dist/esm/hooks/useIsMounted.js +0 -0
  344. package/dist/esm/hooks/useIsMounted.js.map +0 -0
  345. package/dist/esm/hooks/useIsSSR.js +4 -4
  346. package/dist/esm/hooks/useIsSSR.js.map +2 -2
  347. package/dist/esm/hooks/useIsTouchDevice.js +0 -0
  348. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -0
  349. package/dist/esm/hooks/useMedia.js +0 -0
  350. package/dist/esm/hooks/useMedia.js.map +0 -0
  351. package/dist/esm/hooks/usePressable.js +0 -0
  352. package/dist/esm/hooks/usePressable.js.map +0 -0
  353. package/dist/esm/hooks/useSafeRef.js +0 -0
  354. package/dist/esm/hooks/useSafeRef.js.map +0 -0
  355. package/dist/esm/hooks/useServerContext.js +4 -0
  356. package/dist/esm/hooks/useServerContext.js.map +7 -0
  357. package/dist/esm/hooks/useServerHooks.js +11 -0
  358. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  359. package/dist/esm/hooks/useTheme.js +73 -45
  360. package/dist/esm/hooks/useTheme.js.map +2 -2
  361. package/dist/esm/hooks/useUnmountEffect.js +0 -0
  362. package/dist/esm/hooks/useUnmountEffect.js.map +0 -0
  363. package/dist/esm/index.js +3 -1
  364. package/dist/esm/index.js.map +2 -2
  365. package/dist/esm/injectStyles.js +16 -0
  366. package/dist/esm/injectStyles.js.map +7 -0
  367. package/dist/esm/insertFont.js +1 -1
  368. package/dist/esm/insertFont.js.map +1 -1
  369. package/dist/esm/static.js +0 -0
  370. package/dist/esm/static.js.map +0 -0
  371. package/dist/esm/styled.js +11 -1
  372. package/dist/esm/styled.js.map +2 -2
  373. package/dist/esm/types-rnw.js +0 -0
  374. package/dist/esm/types-rnw.js.map +0 -0
  375. package/dist/esm/types.js +0 -0
  376. package/dist/esm/types.js.map +0 -0
  377. package/dist/esm/updateTheme.js +0 -0
  378. package/dist/esm/updateTheme.js.map +0 -0
  379. package/dist/esm/vendor/Pressability.js +0 -0
  380. package/dist/esm/vendor/Pressability.js.map +0 -0
  381. package/dist/esm/vendor/Pressability.native.js +0 -0
  382. package/dist/esm/vendor/Pressability.native.js.map +0 -0
  383. package/dist/esm/views/FontLanguage.js +0 -0
  384. package/dist/esm/views/FontLanguage.js.map +0 -0
  385. package/dist/esm/views/FontLanguage.native.js +0 -0
  386. package/dist/esm/views/FontLanguage.native.js.map +0 -0
  387. package/dist/esm/views/FontLanguage.types.js +0 -0
  388. package/dist/esm/views/FontLanguage.types.js.map +0 -0
  389. package/dist/esm/views/Slot.js +0 -0
  390. package/dist/esm/views/Slot.js.map +0 -0
  391. package/dist/esm/views/Stack.js +0 -0
  392. package/dist/esm/views/Stack.js.map +0 -0
  393. package/dist/esm/views/TamaguiProvider.js +46 -0
  394. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  395. package/dist/esm/views/Text.js +0 -0
  396. package/dist/esm/views/Text.js.map +0 -0
  397. package/dist/esm/views/Theme.js +4 -3
  398. package/dist/esm/views/Theme.js.map +2 -2
  399. package/dist/esm/views/ThemeInverse.js +0 -0
  400. package/dist/esm/views/ThemeInverse.js.map +0 -0
  401. package/dist/esm/views/ThemeProvider.js +10 -6
  402. package/dist/esm/views/ThemeProvider.js.map +2 -2
  403. package/dist/esm/views/ThemeReset.js +0 -0
  404. package/dist/esm/views/ThemeReset.js.map +0 -0
  405. package/package.json +36 -14
  406. package/src/Tamagui.ts +44 -0
  407. package/src/addTheme.ts +66 -0
  408. package/src/config.ts +38 -0
  409. package/src/constants/constants.ts +15 -0
  410. package/src/constants/platform.native.ts +14 -0
  411. package/src/constants/platform.ts +24 -0
  412. package/src/contexts/ButtonInsideButtonContext.tsx +3 -0
  413. package/src/contexts/FontLanguageContext.tsx +5 -0
  414. package/src/contexts/TextAncestorContext.tsx +10 -0
  415. package/src/contexts/ThemeContext.tsx +5 -0
  416. package/src/createComponent.tsx +1338 -0
  417. package/src/createFont.ts +26 -0
  418. package/src/createShorthands.ts +5 -0
  419. package/src/createTamagui.ts +232 -0
  420. package/src/createTheme.ts +13 -0
  421. package/src/createTokens.ts +35 -0
  422. package/src/createVariable.ts +77 -0
  423. package/src/createVariables.ts +42 -0
  424. package/src/helpers/RNComponents.tsx +14 -0
  425. package/src/helpers/ThemeManager.tsx +229 -0
  426. package/src/helpers/areEqualSets.tsx +9 -0
  427. package/src/helpers/assignNativePropsToWeb.native.tsx +1 -0
  428. package/src/helpers/assignNativePropsToWeb.tsx +178 -0
  429. package/src/helpers/calc.ts +65 -0
  430. package/src/helpers/createMediaStyle.ts +48 -0
  431. package/src/helpers/createPropMapper.ts +457 -0
  432. package/src/helpers/createShallowUpdate.tsx +20 -0
  433. package/src/helpers/cssHash.ts +28 -0
  434. package/src/helpers/expandStyle.ts +81 -0
  435. package/src/helpers/expandStyles.ts +105 -0
  436. package/src/helpers/extendStaticConfig.ts +76 -0
  437. package/src/helpers/fixNativeShadow.tsx +2 -0
  438. package/src/helpers/getAnimationDriver.tsx +5 -0
  439. package/src/helpers/getExpandedShorthands.ts +15 -0
  440. package/src/helpers/getFont.tsx +40 -0
  441. package/src/helpers/getFontLanguage.ts +2 -0
  442. package/src/helpers/getSize.ts +22 -0
  443. package/src/helpers/getSplitStyles.tsx +685 -0
  444. package/src/helpers/getStackSize.ts +22 -0
  445. package/src/helpers/getStylesAtomic.native.ts +3 -0
  446. package/src/helpers/getStylesAtomic.ts +292 -0
  447. package/src/helpers/getThemeCSSRules.native.ts +3 -0
  448. package/src/helpers/getThemeCSSRules.ts +105 -0
  449. package/src/helpers/getVariantExtras.tsx +83 -0
  450. package/src/helpers/insertStyleRule.tsx +150 -0
  451. package/src/helpers/isObj.ts +1 -0
  452. package/src/helpers/isTamaguiComponent.tsx +15 -0
  453. package/src/helpers/isTamaguiElement.tsx +14 -0
  454. package/src/helpers/matchMedia.native.ts +6 -0
  455. package/src/helpers/matchMedia.ts +16 -0
  456. package/src/helpers/mergeProps.ts +56 -0
  457. package/src/helpers/mergeTransform.ts +14 -0
  458. package/src/helpers/normalizeColor.ts +53 -0
  459. package/src/helpers/normalizeValueWithProperty.ts +78 -0
  460. package/src/helpers/proxyThemeVariables.tsx +13 -0
  461. package/src/helpers/pseudoDescriptors.ts +18 -0
  462. package/src/helpers/registerCSSVariable.ts +11 -0
  463. package/src/helpers/startTransition.ts +4 -0
  464. package/src/helpers/themeable.tsx +45 -0
  465. package/src/helpers/themes.ts +69 -0
  466. package/src/helpers/validate.ts +80 -0
  467. package/src/helpers/withStaticProperties.tsx +7 -0
  468. package/src/hooks/getThemeUnwrapped.tsx +8 -0
  469. package/src/hooks/useConstant.tsx +19 -0
  470. package/src/hooks/useFeatures.tsx +289 -0
  471. package/src/hooks/useId.tsx +1 -0
  472. package/src/hooks/useIsMounted.ts +17 -0
  473. package/src/hooks/useIsSSR.tsx +20 -0
  474. package/src/hooks/useIsTouchDevice.tsx +21 -0
  475. package/src/hooks/useMedia.tsx +167 -0
  476. package/src/hooks/usePressable.tsx +9 -0
  477. package/src/hooks/useSafeRef.ts +50 -0
  478. package/src/hooks/useServerHooks.tsx +13 -0
  479. package/src/hooks/useTheme.tsx +264 -0
  480. package/src/hooks/useUnmountEffect.ts +5 -0
  481. package/src/index.ts +80 -0
  482. package/src/injectStyles.ts +20 -0
  483. package/src/insertFont.ts +69 -0
  484. package/src/static.ts +15 -0
  485. package/src/styled.tsx +149 -0
  486. package/src/types-rnw.tsx +162 -0
  487. package/src/types.tsx +1267 -0
  488. package/src/updateTheme.ts +23 -0
  489. package/src/vendor/Pressability.native.tsx +3 -0
  490. package/src/vendor/Pressability.tsx +2 -0
  491. package/src/views/FontLanguage.native.tsx +9 -0
  492. package/src/views/FontLanguage.tsx +18 -0
  493. package/src/views/FontLanguage.types.ts +13 -0
  494. package/src/views/Slot.tsx +152 -0
  495. package/src/views/Stack.tsx +24 -0
  496. package/src/views/TamaguiProvider.tsx +57 -0
  497. package/src/views/Text.tsx +79 -0
  498. package/src/views/Theme.tsx +72 -0
  499. package/src/views/ThemeInverse.tsx +33 -0
  500. package/src/views/ThemeProvider.tsx +62 -0
  501. package/src/views/ThemeReset.tsx +43 -0
  502. package/types/Tamagui.d.ts +0 -0
  503. package/types/addTheme.d.ts +0 -0
  504. package/types/conf.d.ts +1 -1
  505. package/types/config.d.ts +27 -0
  506. package/types/constants/constants.d.ts +0 -0
  507. package/types/constants/platform.d.ts +1 -0
  508. package/types/constants/platform.native.d.ts +13 -0
  509. package/types/contexts/ButtonInsideButtonContext.d.ts +0 -0
  510. package/types/contexts/FontLanguageContext.d.ts +0 -0
  511. package/types/contexts/TextAncestorContext.d.ts +0 -0
  512. package/types/contexts/ThemeContext.d.ts +0 -0
  513. package/types/createComponent.d.ts +0 -0
  514. package/types/createComponent.server.d.ts +36 -0
  515. package/types/createFont.d.ts +0 -0
  516. package/types/createShorthands.d.ts +0 -0
  517. package/types/createTamagui.d.ts +1 -1
  518. package/types/createTheme.d.ts +1 -1
  519. package/types/createTokens.d.ts +0 -0
  520. package/types/createVariable.d.ts +15 -12
  521. package/types/createVariables.d.ts +0 -0
  522. package/types/helpers/RNComponents.d.ts +1 -1
  523. package/types/helpers/ThemeManager.d.ts +2 -8
  524. package/types/helpers/areEqualSets.d.ts +0 -0
  525. package/types/helpers/assignNativePropsToWeb.d.ts +0 -0
  526. package/types/helpers/assignNativePropsToWeb.native.d.ts +0 -0
  527. package/types/helpers/calc.d.ts +0 -0
  528. package/types/helpers/createMediaStyle.d.ts +0 -0
  529. package/types/helpers/createPropMapper.d.ts +0 -0
  530. package/types/helpers/createShallowUpdate.d.ts +0 -0
  531. package/types/helpers/cssHash.d.ts +0 -0
  532. package/types/helpers/expandStyle.d.ts +0 -0
  533. package/types/helpers/expandStyles.d.ts +0 -0
  534. package/types/helpers/extendStaticConfig.d.ts +0 -0
  535. package/types/helpers/fixNativeShadow.d.ts +0 -0
  536. package/types/helpers/getAnimationDriver.d.ts +6 -0
  537. package/types/helpers/getExpandedShorthands.d.ts +0 -0
  538. package/types/helpers/getFont.d.ts +0 -0
  539. package/types/helpers/getFontLanguage.d.ts +0 -0
  540. package/types/helpers/getSize.d.ts +0 -0
  541. package/types/helpers/getSplitStyles.d.ts +0 -0
  542. package/types/helpers/getStackSize.d.ts +0 -0
  543. package/types/helpers/getStylesAtomic.d.ts +0 -0
  544. package/types/helpers/getStylesAtomic.native.d.ts +0 -0
  545. package/types/helpers/getThemeCSSRules.d.ts +0 -0
  546. package/types/helpers/getThemeCSSRules.native.d.ts +0 -0
  547. package/types/helpers/getVariantExtras.d.ts +0 -0
  548. package/types/helpers/insertStyleRule.d.ts +0 -0
  549. package/types/helpers/isObj.d.ts +0 -0
  550. package/types/helpers/isTamaguiComponent.d.ts +0 -0
  551. package/types/helpers/isTamaguiElement.d.ts +0 -0
  552. package/types/helpers/matchMedia.d.ts +0 -0
  553. package/types/helpers/matchMedia.native.d.ts +0 -0
  554. package/types/helpers/mergeProps.d.ts +0 -0
  555. package/types/helpers/mergeTransform.d.ts +0 -0
  556. package/types/helpers/normalizeColor.d.ts +0 -0
  557. package/types/helpers/normalizeValueWithProperty.d.ts +0 -0
  558. package/types/helpers/proxyThemeVariables.d.ts +0 -0
  559. package/types/helpers/pseudoDescriptors.d.ts +0 -0
  560. package/types/helpers/registerCSSVariable.d.ts +2 -2
  561. package/types/helpers/startTransition.d.ts +0 -0
  562. package/types/helpers/themeable.d.ts +0 -0
  563. package/types/helpers/themes.d.ts +0 -0
  564. package/types/helpers/useAnimationDriver.d.ts +1 -0
  565. package/types/helpers/validate.d.ts +0 -0
  566. package/types/helpers/withStaticProperties.d.ts +0 -0
  567. package/types/hooks/getThemeUnwrapped.d.ts +0 -0
  568. package/types/hooks/useAnimationDriver.d.ts +1 -0
  569. package/types/hooks/useConstant.d.ts +0 -0
  570. package/types/hooks/useFeatures.d.ts +0 -0
  571. package/types/hooks/useId.d.ts +0 -0
  572. package/types/hooks/useIsMounted.d.ts +0 -0
  573. package/types/hooks/useIsSSR.d.ts +0 -0
  574. package/types/hooks/useIsTouchDevice.d.ts +0 -0
  575. package/types/hooks/useMedia.d.ts +0 -0
  576. package/types/hooks/usePressable.d.ts +0 -0
  577. package/types/hooks/useSafeRef.d.ts +0 -0
  578. package/types/hooks/useServerContext.d.ts +2 -0
  579. package/types/hooks/useServerHooks.d.ts +4 -0
  580. package/types/hooks/useTheme.d.ts +5 -21
  581. package/types/hooks/useUnmountEffect.d.ts +0 -0
  582. package/types/index.d.ts +3 -1
  583. package/types/injectStyles.d.ts +7 -0
  584. package/types/insertFont.d.ts +0 -0
  585. package/types/static.d.ts +0 -0
  586. package/types/styled.d.ts +0 -0
  587. package/types/types-rnw.d.ts +0 -0
  588. package/types/types.d.ts +24 -1
  589. package/types/updateTheme.d.ts +0 -0
  590. package/types/vendor/Pressability.d.ts +0 -0
  591. package/types/vendor/Pressability.native.d.ts +0 -0
  592. package/types/views/FontLanguage.d.ts +0 -0
  593. package/types/views/FontLanguage.native.d.ts +0 -0
  594. package/types/views/FontLanguage.types.d.ts +0 -0
  595. package/types/views/Slot.d.ts +0 -0
  596. package/types/views/Stack.d.ts +0 -0
  597. package/types/views/TamaguiProvider.d.ts +4 -0
  598. package/types/views/Text.d.ts +0 -0
  599. package/types/views/Theme.d.ts +0 -0
  600. package/types/views/ThemeInverse.d.ts +0 -0
  601. package/types/views/ThemeProvider.d.ts +0 -1
  602. package/types/views/ThemeReset.d.ts +0 -0
  603. package/dist/cjs/Pressability.js.map +0 -7
  604. package/dist/cjs/Pressability.native.js.map +0 -7
  605. package/dist/cjs/ThemeContext.js.map +0 -7
  606. package/dist/cjs/ThemeManager.js +0 -211
  607. package/dist/cjs/ThemeManager.js.map +0 -7
  608. package/dist/cjs/defaultComponentState.js +0 -2
  609. package/dist/cjs/ensureThemeVariable.js +0 -152
  610. package/dist/cjs/ensureThemeVariable.js.map +0 -7
  611. package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -7
  612. package/dist/cjs/helpers/ensureThemeVariable.js +0 -152
  613. package/dist/cjs/helpers/ensureThemeVariable.js.map +0 -7
  614. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +0 -7
  615. package/dist/cjs/loadTheme.js +0 -64
  616. package/dist/cjs/loadTheme.js.map +0 -7
  617. package/dist/cjs/views/TextAncestorContext.js +0 -44
  618. package/dist/cjs/views/TextAncestorContext.js.map +0 -7
  619. package/dist/esm/Pressability.js +0 -7
  620. package/dist/esm/Pressability.js.map +0 -7
  621. package/dist/esm/Pressability.native.js +0 -7
  622. package/dist/esm/Pressability.native.js.map +0 -7
  623. package/dist/esm/ThemeContext.js +0 -6
  624. package/dist/esm/ThemeContext.js.map +0 -7
  625. package/dist/esm/ThemeManager.js +0 -185
  626. package/dist/esm/ThemeManager.js.map +0 -7
  627. package/dist/esm/defaultComponentState.js +0 -1
  628. package/dist/esm/ensureThemeVariable.js +0 -125
  629. package/dist/esm/ensureThemeVariable.js.map +0 -7
  630. package/dist/esm/helpers/createTamaguiProvider.js +0 -40
  631. package/dist/esm/helpers/createTamaguiProvider.js.map +0 -7
  632. package/dist/esm/helpers/ensureThemeVariable.js +0 -125
  633. package/dist/esm/helpers/ensureThemeVariable.js.map +0 -7
  634. package/dist/esm/helpers/nativeGestureHandler.native.js +0 -2
  635. package/dist/esm/helpers/nativeGestureHandler.native.js.map +0 -7
  636. package/dist/esm/loadTheme.js +0 -40
  637. package/dist/esm/loadTheme.js.map +0 -7
  638. package/dist/esm/views/TextAncestorContext.js +0 -15
  639. package/dist/esm/views/TextAncestorContext.js.map +0 -7
  640. package/types/helpers/createTamaguiProvider.d.ts +0 -4
@@ -0,0 +1,43 @@
1
+ let conf;
2
+ const setConfig = (next) => {
3
+ conf = next;
4
+ if (configListeners.size) {
5
+ configListeners.forEach((cb) => cb(conf));
6
+ configListeners.clear();
7
+ }
8
+ };
9
+ const setConfigFont = (name, font, fontParsed) => {
10
+ if (process.env.NODE_ENV === "development") {
11
+ if (!conf)
12
+ throw new Error(`Haven't called createTamagui yet`);
13
+ }
14
+ Object.assign(conf.fonts, { [name]: font });
15
+ Object.assign(conf.fontsParsed, { [`$${name}`]: fontParsed });
16
+ };
17
+ const getHasConfigured = () => !!conf;
18
+ const getConfig = () => conf;
19
+ const getTokens = () => conf.tokensParsed;
20
+ const getThemes = () => conf.themes;
21
+ const configListeners = /* @__PURE__ */ new Set();
22
+ const onConfiguredOnce = (cb) => {
23
+ if (conf) {
24
+ cb(conf);
25
+ } else {
26
+ configListeners.add(cb);
27
+ }
28
+ };
29
+ const updateConfig = (key, value) => {
30
+ Object.assign(key, value);
31
+ };
32
+ export {
33
+ configListeners,
34
+ getConfig,
35
+ getHasConfigured,
36
+ getThemes,
37
+ getTokens,
38
+ onConfiguredOnce,
39
+ setConfig,
40
+ setConfigFont,
41
+ updateConfig
42
+ };
43
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/config.ts"],
4
+ "sourcesContent": ["import { ConfigListener, TamaguiInternalConfig } from './types'\n\nlet conf: TamaguiInternalConfig | null\n\nexport const setConfig = (next: TamaguiInternalConfig) => {\n conf = next\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(conf!))\n configListeners.clear()\n }\n}\n\nexport const setConfigFont = (name: string, font: any, fontParsed: any) => {\n if (process.env.NODE_ENV === 'development') {\n if (!conf) throw new Error(`Haven't called createTamagui yet`)\n }\n Object.assign(conf!.fonts, { [name]: font })\n Object.assign(conf!.fontsParsed, { [`$${name}`]: fontParsed })\n}\n\nexport const getHasConfigured = () => !!conf\nexport const getConfig = () => conf!\nexport const getTokens = () => conf!.tokensParsed\nexport const getThemes = () => conf!.themes\n\nexport const configListeners = new Set<ConfigListener>()\n\nexport const onConfiguredOnce = (cb: ConfigListener) => {\n if (conf) {\n cb(conf!)\n } else {\n configListeners.add(cb)\n }\n}\n\nexport const updateConfig = (key: string, value: any) => {\n Object.assign(key, value)\n}\n"],
5
+ "mappings": "AAEA,IAAI;AAEG,MAAM,YAAY,CAAC,SAAgC;AACxD,SAAO;AACP,MAAI,gBAAgB,MAAM;AACxB,oBAAgB,QAAQ,CAAC,OAAO,GAAG,IAAK,CAAC;AACzC,oBAAgB,MAAM;AAAA,EACxB;AACF;AAEO,MAAM,gBAAgB,CAAC,MAAc,MAAW,eAAoB;AACzE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC;AAAM,YAAM,IAAI,MAAM,kCAAkC;AAAA,EAC/D;AACA,SAAO,OAAO,KAAM,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC;AAC3C,SAAO,OAAO,KAAM,aAAa,EAAE,CAAC,IAAI,SAAS,WAAW,CAAC;AAC/D;AAEO,MAAM,mBAAmB,MAAM,CAAC,CAAC;AACjC,MAAM,YAAY,MAAM;AACxB,MAAM,YAAY,MAAM,KAAM;AAC9B,MAAM,YAAY,MAAM,KAAM;AAE9B,MAAM,kBAAkB,oBAAI,IAAoB;AAEhD,MAAM,mBAAmB,CAAC,OAAuB;AACtD,MAAI,MAAM;AACR,OAAG,IAAK;AAAA,EACV,OAAO;AACL,oBAAgB,IAAI,EAAE;AAAA,EACxB;AACF;AAEO,MAAM,eAAe,CAAC,KAAa,UAAe;AACvD,SAAO,OAAO,KAAK,KAAK;AAC1B;",
6
+ "names": []
7
+ }
File without changes
File without changes
@@ -7,7 +7,10 @@ const isWeb = process.env.TAMAGUI_TARGET === "web";
7
7
  const isWindowDefined = typeof window !== "undefined";
8
8
  const isSSR = isWeb && !isWindowDefined;
9
9
  const isClient = isWeb && isWindowDefined;
10
- const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;
10
+ const isRSC = process.env.ENABLE_RSC ? import.meta.env ? import.meta.env.SSR : false : false;
11
+ const idFn = () => {
12
+ };
13
+ const useIsomorphicLayoutEffect = isRSC ? idFn : isSSR ? useEffect : useLayoutEffect;
11
14
  const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
12
15
  const isWebTouchable = isClient && "ontouchstart" in window;
13
16
  const isTouchable = !isWeb || isWebTouchable;
@@ -16,6 +19,7 @@ export {
16
19
  isChrome,
17
20
  isClient,
18
21
  isIOS,
22
+ isRSC,
19
23
  isSSR,
20
24
  isTouchable,
21
25
  isWeb,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants/platform.ts"],
4
- "sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web'\nexport const isWindowDefined = typeof window !== 'undefined'\nexport const isSSR = isWeb && !isWindowDefined\nexport const isClient = isWeb && isWindowDefined\nexport const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const isWebTouchable = isClient && 'ontouchstart' in window\nexport const isTouchable = !isWeb || isWebTouchable\n"],
5
- "mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ,QAAQ,IAAI,mBAAmB;AAC7C,MAAM,kBAAkB,OAAO,WAAW;AAC1C,MAAM,QAAQ,SAAS,CAAC;AACxB,MAAM,WAAW,SAAS;AAC1B,MAAM,4BAA4B,QAAQ,YAAY;AACtD,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa,EAAE;AAC5F,MAAM,iBAAiB,YAAY,kBAAkB;AACrD,MAAM,cAAc,CAAC,SAAS;",
4
+ "sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web'\nexport const isWindowDefined = typeof window !== 'undefined'\nexport const isSSR = isWeb && !isWindowDefined\nexport const isClient = isWeb && isWindowDefined\n\nexport const isRSC = process.env.ENABLE_RSC\n ? // note this is statically analyzed so no funny business, just access it without optional chaining\n // @ts-ignore\n import.meta.env\n ? // @ts-ignore\n import.meta.env.SSR\n : false\n : false\n\nconst idFn = () => {}\nexport const useIsomorphicLayoutEffect = isRSC ? idFn : isSSR ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const isWebTouchable = isClient && 'ontouchstart' in window\nexport const isTouchable = !isWeb || isWebTouchable\n"],
5
+ "mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ,QAAQ,IAAI,mBAAmB;AAC7C,MAAM,kBAAkB,OAAO,WAAW;AAC1C,MAAM,QAAQ,SAAS,CAAC;AACxB,MAAM,WAAW,SAAS;AAE1B,MAAM,QAAQ,QAAQ,IAAI,aAG7B,YAAY,MAEV,YAAY,IAAI,MAChB,QACF;AAEJ,MAAM,OAAO,MAAM;AAAC;AACb,MAAM,4BAA4B,QAAQ,OAAO,QAAQ,YAAY;AACrE,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa,EAAE;AAC5F,MAAM,iBAAiB,YAAY,kBAAkB;AACrD,MAAM,cAAc,CAAC,SAAS;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,28 @@
1
+ var _a, _b;
2
+ import { useLayoutEffect } from "react";
3
+ import { Platform } from "react-native";
4
+ const isAndroid = ((_a = Platform) == null ? void 0 : _a.OS) === "android";
5
+ const isIOS = ((_b = Platform) == null ? void 0 : _b.OS) === "ios";
6
+ const isWeb = false;
7
+ const isWindowDefined = false;
8
+ const isSSR = false;
9
+ const isClient = false;
10
+ const isRSC = false;
11
+ const useIsomorphicLayoutEffect = useLayoutEffect;
12
+ const isChrome = false;
13
+ const isWebTouchable = false;
14
+ const isTouchable = true;
15
+ export {
16
+ isAndroid,
17
+ isChrome,
18
+ isClient,
19
+ isIOS,
20
+ isRSC,
21
+ isSSR,
22
+ isTouchable,
23
+ isWeb,
24
+ isWebTouchable,
25
+ isWindowDefined,
26
+ useIsomorphicLayoutEffect
27
+ };
28
+ //# sourceMappingURL=platform.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/platform.native.ts"],
4
+ "sourcesContent": ["import { useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = false\nexport const isWindowDefined = false\nexport const isSSR = false\nexport const isClient = false\nexport const isRSC = false\nexport const useIsomorphicLayoutEffect = useLayoutEffect\nexport const isChrome = false\nexport const isWebTouchable = false\nexport const isTouchable = true\n"],
5
+ "mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ;AACd,MAAM,kBAAkB;AACxB,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,QAAQ;AACd,MAAM,4BAA4B;AAClC,MAAM,WAAW;AACjB,MAAM,iBAAiB;AACvB,MAAM,cAAc;",
6
+ "names": []
7
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -18,14 +18,12 @@ import React, {
18
18
  forwardRef,
19
19
  memo,
20
20
  useCallback,
21
- useContext,
22
- useRef,
23
- useState
21
+ useContext
24
22
  } from "react";
25
23
  import { StyleSheet, Text, View } from "react-native";
26
- import { getConfig, onConfiguredOnce } from "./conf";
24
+ import { getConfig, onConfiguredOnce } from "./config";
27
25
  import { stackDefaultStyles } from "./constants/constants";
28
- import { isWeb, useIsomorphicLayoutEffect } from "./constants/platform";
26
+ import { isClient, isRSC, isWeb, useIsomorphicLayoutEffect } from "./constants/platform";
29
27
  import { FontLanguageContext } from "./contexts/FontLanguageContext";
30
28
  import { TextAncestorContext } from "./contexts/TextAncestorContext";
31
29
  import { assignNativePropsToWeb } from "./helpers/assignNativePropsToWeb";
@@ -39,6 +37,7 @@ import { proxyThemeVariables } from "./helpers/proxyThemeVariables";
39
37
  import { useFeatures } from "./hooks/useFeatures";
40
38
  import { mediaState } from "./hooks/useMedia";
41
39
  import { usePressable } from "./hooks/usePressable";
40
+ import { useServerRef, useServerState } from "./hooks/useServerHooks";
42
41
  import { getThemeManager, useTheme } from "./hooks/useTheme";
43
42
  import { usePressability } from "./vendor/Pressability";
44
43
  import { Slot, mergeEvent } from "./views/Slot";
@@ -54,21 +53,16 @@ const defaultComponentState = Object.freeze({
54
53
  });
55
54
  const mouseUps = /* @__PURE__ */ new Set();
56
55
  if (typeof document !== "undefined") {
57
- document.addEventListener("mouseup", () => {
56
+ const cancelTouches = () => {
58
57
  mouseUps.forEach((x) => x());
59
58
  mouseUps.clear();
60
- });
61
- document.addEventListener("touchend", () => {
62
- mouseUps.forEach((x) => x());
63
- mouseUps.clear();
64
- });
65
- document.addEventListener("touchcancel", () => {
66
- mouseUps.forEach((x) => x());
67
- mouseUps.clear();
68
- });
59
+ };
60
+ document.addEventListener("mouseup", cancelTouches);
61
+ document.addEventListener("touchend", cancelTouches);
62
+ document.addEventListener("touchcancel", cancelTouches);
69
63
  }
70
64
  function mergeShorthands({ defaultProps }, { shorthands }) {
71
- for (const key in defaultProps) {
65
+ for (const key of Object.keys(defaultProps)) {
72
66
  defaultProps[shorthands[key] || key] = defaultProps[key];
73
67
  }
74
68
  }
@@ -100,29 +94,14 @@ function createComponent(configIn, ParentComponent) {
100
94
  } else {
101
95
  props = propsIn;
102
96
  }
103
- const hostRef = useRef(null);
104
97
  const { Component, isText, isZStack } = staticConfig;
105
98
  const componentName = props.componentName || staticConfig.componentName;
106
99
  const componentClassName = props.asChild ? "" : props.componentName ? `is_${props.componentName}` : defaultComponentClassName;
107
- if (process.env.NODE_ENV === "development") {
108
- if (props["debug"]) {
109
- const name = `${componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]"}`;
110
- const banner = `${name} ${propsIn["data-is"] || ""}`;
111
- console.group(`%c \u{1F41B} ${banner}`, "background: yellow;");
112
- console.log("props", propsIn);
113
- console.log("ref", hostRef, "(click to view)");
114
- if (props["debug"] === "break") {
115
- debugger;
116
- }
117
- }
118
- }
119
100
  const forceUpdate = useForceUpdate();
101
+ config = config || getConfig();
120
102
  const theme = useTheme(props.theme, componentName, props, forceUpdate);
121
- const states = useState(defaultComponentState);
103
+ const states = useServerState(defaultComponentState);
122
104
  const state = propsIn.forceStyle ? { ...states[0], [propsIn.forceStyle]: true } : states[0];
123
- const setState = states[1];
124
- const setStateShallow = createShallowUpdate(setState);
125
- const languageContext = useContext(FontLanguageContext);
126
105
  const shouldAvoidClasses = !!(props.animation && avoidClasses);
127
106
  const shouldForcePseudo = !!propsIn.forceStyle;
128
107
  const hasTextAncestor = !!(isWeb && isText ? useContext(TextAncestorContext) : false);
@@ -137,9 +116,28 @@ function createComponent(configIn, ParentComponent) {
137
116
  hasTextAncestor,
138
117
  resolveVariablesAs: "value"
139
118
  };
140
- const splitStyles = useSplitStyles(props, staticConfig, theme, splitStyleState, props.asChild ? null : initialSplitStyles.classNames, languageContext || void 0, props["debug"]);
119
+ const languageContext = isRSC ? null : useContext(FontLanguageContext);
120
+ const splitStyles = useSplitStyles(props, staticConfig, theme, splitStyleState, props.asChild ? null : initialSplitStyles == null ? void 0 : initialSplitStyles.classNames, languageContext || void 0, props["debug"]);
121
+ const hostRef = useServerRef(null);
122
+ const setState = states[1];
123
+ const setStateShallow = createShallowUpdate(setState);
124
+ if (process.env.NODE_ENV === "development") {
125
+ if (props["debug"]) {
126
+ const name = `${componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]"}`;
127
+ const type = staticConfig.isReactNativeWeb ? "rnw" : "tamagui";
128
+ const banner = `${name} ${propsIn["data-is"] || ""} ${type}`;
129
+ console.group(`%c \u{1F41B} ${banner}`, "background: yellow;");
130
+ console.log("props in", propsIn);
131
+ if (typeof window !== "undefined") {
132
+ console.log("ref", hostRef, "(click to view)");
133
+ }
134
+ if (props["debug"] === "break") {
135
+ debugger;
136
+ }
137
+ }
138
+ }
141
139
  const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitStyles;
142
- const useAnimations = (_a = tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
140
+ const useAnimations = (_a = tamaguiConfig == null ? void 0 : tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
143
141
  const isAnimated = !!(useAnimations && props.animation);
144
142
  const hasEnterStyle = !!props.enterStyle;
145
143
  const animationFeatureStylesIn = props.animation ? { ...defaultNativeStyle, ...style } : null;
@@ -265,28 +263,30 @@ function createComponent(configIn, ParentComponent) {
265
263
  } = nonTamaguiProps;
266
264
  viewProps = webProps;
267
265
  assignNativePropsToWeb(elementType, viewProps, nonTamaguiProps);
268
- useElementLayout(hostRef, onLayout);
269
- useResponderEvents(hostRef, {
270
- onMoveShouldSetResponder,
271
- onMoveShouldSetResponderCapture,
272
- onResponderEnd,
273
- onResponderGrant,
274
- onResponderMove,
275
- onResponderReject,
276
- onResponderRelease,
277
- onResponderStart,
278
- onResponderTerminate,
279
- onResponderTerminationRequest,
280
- onScrollShouldSetResponder,
281
- onScrollShouldSetResponderCapture,
282
- onSelectionChangeShouldSetResponder,
283
- onSelectionChangeShouldSetResponderCapture,
284
- onStartShouldSetResponder,
285
- onStartShouldSetResponderCapture
286
- });
287
- const platformMethodsRef = usePlatformMethods(viewProps);
288
- const setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
289
- viewProps.ref = setRef;
266
+ if (!isRSC) {
267
+ useElementLayout(hostRef, onLayout);
268
+ useResponderEvents(hostRef, {
269
+ onMoveShouldSetResponder,
270
+ onMoveShouldSetResponderCapture,
271
+ onResponderEnd,
272
+ onResponderGrant,
273
+ onResponderMove,
274
+ onResponderReject,
275
+ onResponderRelease,
276
+ onResponderStart,
277
+ onResponderTerminate,
278
+ onResponderTerminationRequest,
279
+ onScrollShouldSetResponder,
280
+ onScrollShouldSetResponderCapture,
281
+ onSelectionChangeShouldSetResponder,
282
+ onSelectionChangeShouldSetResponderCapture,
283
+ onStartShouldSetResponder,
284
+ onStartShouldSetResponderCapture
285
+ });
286
+ const platformMethodsRef = usePlatformMethods(viewProps);
287
+ const setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
288
+ viewProps.ref = setRef;
289
+ }
290
290
  if (props.href != void 0 && hrefAttrs != void 0) {
291
291
  const { download, rel, target } = hrefAttrs;
292
292
  if (download != null) {
@@ -329,14 +329,14 @@ function createComponent(configIn, ParentComponent) {
329
329
  }
330
330
  });
331
331
  }
332
- const internal = useRef();
332
+ const internal = useServerRef();
333
333
  if (!internal.current) {
334
334
  internal.current = {
335
335
  isMounted: true
336
336
  };
337
337
  }
338
338
  useIsomorphicLayoutEffect(() => {
339
- if (typeof window !== "undefined" && (hasEnterStyle || props.animation)) {
339
+ if (isClient && (hasEnterStyle || props.animation) && !state.mounted) {
340
340
  setStateShallow({
341
341
  mounted: true
342
342
  });
@@ -363,7 +363,7 @@ function createComponent(configIn, ParentComponent) {
363
363
  animationStyles ?? style,
364
364
  medias
365
365
  ];
366
- if (!animationStyles) {
366
+ if (!animationStyles && initialSplitStyles) {
367
367
  const initPseudos = initialSplitStyles.pseudos;
368
368
  const force = shouldForcePseudo;
369
369
  !state.mounted && addPseudoToStyles(styles, initPseudos, pseudos, "enterStyle");
@@ -401,8 +401,13 @@ function createComponent(configIn, ParentComponent) {
401
401
  className,
402
402
  id: props.id
403
403
  };
404
- if (props["data-is"]) {
405
- viewProps.dataSet.is = props["data-is"];
404
+ if (process.env.NODE_ENV === "development") {
405
+ Object.keys(viewProps).forEach((key) => {
406
+ if (key.startsWith("data-")) {
407
+ viewProps.dataSet[key.replace("data-", "")] = viewProps[key];
408
+ delete viewProps[key];
409
+ }
410
+ });
406
411
  }
407
412
  } else {
408
413
  viewProps.className = className;
@@ -411,7 +416,7 @@ function createComponent(configIn, ParentComponent) {
411
416
  } else {
412
417
  viewProps.style = styles;
413
418
  }
414
- const initialPseudos = initialSplitStyles.pseudos;
419
+ const initialPseudos = initialSplitStyles == null ? void 0 : initialSplitStyles.pseudos;
415
420
  const attachPress = !!((pseudos == null ? void 0 : pseudos.pressStyle) || (initialPseudos == null ? void 0 : initialPseudos.pressStyle) || onPress || onPressOut || onPressIn || onClick);
416
421
  const isHoverable = isWeb;
417
422
  const attachHover = isHoverable && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
@@ -428,7 +433,7 @@ function createComponent(configIn, ParentComponent) {
428
433
  pressIn: false
429
434
  });
430
435
  }, []);
431
- const events = shouldAttach ? {
436
+ const events = shouldAttach && !isRSC ? {
432
437
  [pressOutKey]: attachPress ? (e) => {
433
438
  unPress();
434
439
  onPressOut == null ? void 0 : onPressOut(e);
@@ -524,7 +529,7 @@ function createComponent(configIn, ParentComponent) {
524
529
  onPressOut
525
530
  };
526
531
  }
527
- if (isWeb) {
532
+ if (!isRSC && isWeb) {
528
533
  const [pressableProps] = usePressable(events ? {
529
534
  disabled,
530
535
  ...hitSlop && {
@@ -554,8 +559,6 @@ function createComponent(configIn, ParentComponent) {
554
559
  setStateShallow({ focus: false });
555
560
  });
556
561
  }
557
- }
558
- if (process.env.TAMAGUI_TARGET === "native") {
559
562
  const pressability = usePressability(events);
560
563
  if (attachPress && events) {
561
564
  const dontComposePressabilityKeys = {
@@ -575,7 +578,7 @@ function createComponent(configIn, ParentComponent) {
575
578
  if (process.env.TAMAGUI_TARGET === "web") {
576
579
  const isAnimatedRNWView = isAnimated && typeof elementType !== "string";
577
580
  const shouldWrapWithComponentTheme = isAnimatedRNWView && getReturnVariablesAs(props, splitStyleState) === "non-color-value";
578
- const shouldWrapWithHover = events && attachHover;
581
+ const shouldWrapWithHover = Boolean(events || isRSC) && attachHover;
579
582
  if (shouldWrapWithHover || shouldWrapWithComponentTheme) {
580
583
  const themeClassName = shouldWrapWithComponentTheme ? `${theme.className}` : "";
581
584
  const hoverClassName = shouldWrapWithHover ? "t_Hoverable" : "";
@@ -584,7 +587,7 @@ function createComponent(configIn, ParentComponent) {
584
587
  style: {
585
588
  display: "contents"
586
589
  },
587
- ...shouldWrapWithHover && {
590
+ ...events && shouldWrapWithHover && {
588
591
  onMouseEnter: events.onMouseEnter,
589
592
  onMouseLeave: events.onMouseLeave
590
593
  }
@@ -593,7 +596,8 @@ function createComponent(configIn, ParentComponent) {
593
596
  }
594
597
  if (process.env.NODE_ENV === "development") {
595
598
  if (props["debug"]) {
596
- console.groupCollapsed("props out", viewProps, typeof elementType === "string" ? elementType : "Component");
599
+ const element2 = typeof elementType === "string" ? elementType : "Component";
600
+ console.groupCollapsed(`render <${element2} /> with props`, viewProps);
597
601
  for (const key in viewProps) {
598
602
  console.log(key, viewProps[key]);
599
603
  }
@@ -605,15 +609,14 @@ function createComponent(configIn, ParentComponent) {
605
609
  console.groupEnd();
606
610
  }
607
611
  }
608
- return features.elements.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, features.elements, content) : content;
612
+ return !isRSC && features.elements.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, features.elements, content) : content;
609
613
  });
610
614
  if (staticConfig.componentName) {
611
615
  component.displayName = staticConfig.componentName;
612
616
  }
613
617
  onConfiguredOnce((conf) => {
614
- if (process.env.IS_STATIC === "is_static") {
618
+ if (process.env.IS_STATIC === "is_static")
615
619
  return;
616
- }
617
620
  tamaguiConfig = conf;
618
621
  mergeShorthands(staticConfig, tamaguiConfig);
619
622
  if (tamaguiConfig.animations) {
@@ -714,6 +717,7 @@ const Spacer = createComponent({
714
717
  validStyles,
715
718
  defaultProps: {
716
719
  ...stackDefaultStyles,
720
+ tag: "span",
717
721
  size: true
718
722
  },
719
723
  variants: {