@tamagui/core 1.0.1-beta.19 → 1.0.1-beta.190

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 (772) hide show
  1. package/dist/cjs/Tamagui.js +14 -12
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/addTheme.js +80 -0
  4. package/dist/cjs/addTheme.js.map +7 -0
  5. package/dist/cjs/{conf.js → config.js} +33 -19
  6. package/dist/cjs/config.js.map +7 -0
  7. package/dist/cjs/constants/constants.js +11 -23
  8. package/dist/cjs/constants/constants.js.map +2 -2
  9. package/dist/cjs/{helpers/nativeGestureHandler.js → constants/isDevTools.js} +8 -8
  10. package/dist/cjs/constants/isDevTools.js.map +7 -0
  11. package/dist/cjs/constants/platform.js +32 -16
  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 +1 -0
  16. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +1 -1
  17. package/dist/cjs/contexts/FontLanguageContext.js +30 -0
  18. package/dist/cjs/contexts/FontLanguageContext.js.map +7 -0
  19. package/dist/cjs/{views → contexts}/TextAncestorContext.js +11 -13
  20. package/dist/cjs/contexts/TextAncestorContext.js.map +7 -0
  21. package/dist/cjs/{ThemeContext.js → contexts/ThemeContext.js} +1 -0
  22. package/dist/cjs/contexts/ThemeContext.js.map +7 -0
  23. package/dist/cjs/createComponent.js +925 -484
  24. package/dist/cjs/createComponent.js.map +3 -3
  25. package/dist/cjs/createFont.js +5 -8
  26. package/dist/cjs/createFont.js.map +2 -2
  27. package/dist/cjs/createShorthands.js +1 -2
  28. package/dist/cjs/createShorthands.js.map +1 -1
  29. package/dist/cjs/createTamagui.js +129 -177
  30. package/dist/cjs/createTamagui.js.map +3 -3
  31. package/dist/cjs/createTheme.js +4 -2
  32. package/dist/cjs/createTheme.js.map +2 -2
  33. package/dist/cjs/createTokens.js +5 -25
  34. package/dist/cjs/createTokens.js.map +2 -2
  35. package/dist/cjs/createVariable.js +52 -28
  36. package/dist/cjs/createVariable.js.map +2 -2
  37. package/dist/cjs/createVariables.js +52 -0
  38. package/dist/cjs/createVariables.js.map +7 -0
  39. package/dist/cjs/helpers/RNComponents.js +12 -11
  40. package/dist/cjs/helpers/RNComponents.js.map +2 -2
  41. package/dist/cjs/{ThemeManager.js → helpers/ThemeManager.js} +54 -52
  42. package/dist/cjs/helpers/ThemeManager.js.map +7 -0
  43. package/dist/cjs/helpers/areEqualSets.js +3 -3
  44. package/dist/cjs/helpers/areEqualSets.js.map +1 -1
  45. package/dist/cjs/helpers/assignNativePropsToWeb.js +188 -0
  46. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +7 -0
  47. package/dist/cjs/helpers/assignNativePropsToWeb.native.js +30 -0
  48. package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +7 -0
  49. package/dist/cjs/helpers/calc.js +71 -0
  50. package/dist/cjs/helpers/calc.js.map +7 -0
  51. package/dist/cjs/helpers/createMediaStyle.js +17 -9
  52. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  53. package/dist/cjs/helpers/createPropMapper.js +268 -120
  54. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  55. package/dist/cjs/helpers/createShallowUpdate.js +14 -25
  56. package/dist/cjs/helpers/createShallowUpdate.js.map +2 -2
  57. package/dist/cjs/helpers/expandStyle.js +90 -0
  58. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  59. package/dist/cjs/helpers/expandStyles.js +115 -0
  60. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  61. package/dist/cjs/helpers/extendStaticConfig.js +49 -37
  62. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  63. package/dist/cjs/helpers/fixNativeShadow.js +3 -3
  64. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  65. package/dist/cjs/helpers/getAnimationDriver.js +32 -0
  66. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  67. package/dist/cjs/helpers/getExpandedShorthands.js +4 -5
  68. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  69. package/dist/cjs/helpers/{getTextSize.js → getFont.js} +22 -12
  70. package/dist/cjs/helpers/getFont.js.map +7 -0
  71. package/dist/cjs/helpers/getFontLanguage.js +29 -0
  72. package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
  73. package/dist/cjs/helpers/getSize.js +19 -10
  74. package/dist/cjs/helpers/getSize.js.map +2 -2
  75. package/dist/cjs/helpers/getSplitStyles.js +381 -208
  76. package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
  77. package/dist/cjs/helpers/getStackSize.js +46 -0
  78. package/dist/cjs/helpers/getStackSize.js.map +7 -0
  79. package/dist/cjs/helpers/getStylesAtomic.js +199 -133
  80. package/dist/cjs/helpers/getStylesAtomic.js.map +3 -3
  81. package/dist/cjs/helpers/getStylesAtomic.native.js +1 -2
  82. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  83. package/dist/cjs/helpers/getThemeCSSRules.js +103 -0
  84. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  85. package/dist/cjs/{nativeGestureHandler.native.js → helpers/getThemeCSSRules.native.js} +18 -5
  86. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  87. package/dist/cjs/helpers/getVariantExtras.js +88 -0
  88. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  89. package/dist/cjs/helpers/insertStyleRule.js +87 -52
  90. package/dist/cjs/helpers/insertStyleRule.js.map +3 -3
  91. package/dist/cjs/helpers/isObj.js +2 -2
  92. package/dist/cjs/helpers/isObj.js.map +1 -1
  93. package/dist/cjs/helpers/isTamaguiComponent.js +37 -0
  94. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  95. package/dist/cjs/helpers/isTamaguiElement.js +5 -5
  96. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  97. package/dist/cjs/helpers/matchMedia.js +7 -6
  98. package/dist/cjs/helpers/matchMedia.js.map +2 -2
  99. package/dist/cjs/helpers/matchMedia.native.js +6 -3
  100. package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
  101. package/dist/cjs/helpers/mergeProps.js +54 -0
  102. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  103. package/dist/cjs/helpers/mergeTransform.js +42 -0
  104. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  105. package/dist/cjs/helpers/normalizeColor.js +80 -0
  106. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  107. package/dist/cjs/helpers/normalizeValueWithProperty.js +93 -0
  108. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  109. package/dist/cjs/helpers/proxyThemeVariables.js +7 -4
  110. package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
  111. package/dist/cjs/helpers/pseudoDescriptors.js +42 -0
  112. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  113. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  114. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  115. package/dist/cjs/helpers/{wrapThemeManagerContext.js → startTransition.js} +12 -15
  116. package/dist/cjs/helpers/startTransition.js.map +7 -0
  117. package/dist/cjs/helpers/themeable.js +17 -40
  118. package/dist/cjs/helpers/themeable.js.map +3 -3
  119. package/dist/cjs/helpers/themes.js +79 -0
  120. package/dist/cjs/helpers/themes.js.map +7 -0
  121. package/dist/cjs/helpers/useShallowSetState.js +44 -0
  122. package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
  123. package/dist/cjs/helpers/validate.js +1 -122
  124. package/dist/cjs/helpers/validate.js.map +3 -3
  125. package/dist/cjs/helpers/withStaticProperties.js +3 -3
  126. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  127. package/dist/cjs/hooks/getThemeUnwrapped.js +39 -0
  128. package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
  129. package/dist/cjs/hooks/useConstant.js +4 -2
  130. package/dist/cjs/hooks/useConstant.js.map +2 -2
  131. package/dist/cjs/hooks/useDidFinishSSR.js +60 -0
  132. package/dist/cjs/hooks/useDidFinishSSR.js.map +7 -0
  133. package/dist/cjs/hooks/useId.js +3 -33
  134. package/dist/cjs/hooks/useId.js.map +2 -2
  135. package/dist/cjs/hooks/useIsMounted.js +3 -4
  136. package/dist/cjs/hooks/useIsMounted.js.map +2 -2
  137. package/dist/cjs/hooks/useIsSSR.js +46 -0
  138. package/dist/cjs/hooks/useIsSSR.js.map +7 -0
  139. package/dist/cjs/hooks/useIsTouchDevice.js +11 -9
  140. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  141. package/dist/cjs/hooks/useMedia.js +162 -113
  142. package/dist/cjs/hooks/useMedia.js.map +3 -3
  143. package/dist/cjs/hooks/usePressable.js +4 -18
  144. package/dist/cjs/hooks/usePressable.js.map +1 -1
  145. package/dist/cjs/hooks/useSafeRef.js +60 -0
  146. package/dist/cjs/hooks/useSafeRef.js.map +7 -0
  147. package/dist/cjs/hooks/useServerHooks.js +36 -0
  148. package/dist/cjs/hooks/useServerHooks.js.map +7 -0
  149. package/dist/cjs/hooks/useTheme.js +166 -132
  150. package/dist/cjs/hooks/useTheme.js.map +3 -3
  151. package/dist/cjs/hooks/useUnmountEffect.js +1 -2
  152. package/dist/cjs/hooks/useUnmountEffect.js.map +1 -1
  153. package/dist/cjs/index.js +59 -21
  154. package/dist/cjs/index.js.map +2 -2
  155. package/dist/cjs/injectStyles.js +40 -0
  156. package/dist/cjs/injectStyles.js.map +7 -0
  157. package/dist/cjs/insertFont.js +93 -0
  158. package/dist/cjs/insertFont.js.map +7 -0
  159. package/dist/cjs/static.js +22 -15
  160. package/dist/cjs/static.js.map +2 -2
  161. package/dist/cjs/styled.js +47 -44
  162. package/dist/cjs/styled.js.map +2 -2
  163. package/dist/cjs/types-rnw.js +1 -0
  164. package/dist/cjs/types-rnw.js.map +2 -2
  165. package/dist/cjs/types.js +1 -0
  166. package/dist/cjs/types.js.map +2 -2
  167. package/dist/cjs/updateTheme.js +47 -0
  168. package/dist/cjs/updateTheme.js.map +7 -0
  169. package/dist/cjs/vendor/Pressability.js +32 -0
  170. package/dist/cjs/vendor/Pressability.js.map +7 -0
  171. package/dist/cjs/vendor/Pressability.native.js +32 -0
  172. package/dist/cjs/vendor/Pressability.native.js.map +7 -0
  173. package/dist/cjs/views/FontLanguage.js +38 -0
  174. package/dist/cjs/views/FontLanguage.js.map +7 -0
  175. package/dist/cjs/views/FontLanguage.native.js +38 -0
  176. package/dist/cjs/views/FontLanguage.native.js.map +7 -0
  177. package/dist/cjs/{helpers/nativeGestureHandler.native.js → views/FontLanguage.types.js} +4 -5
  178. package/dist/cjs/views/FontLanguage.types.js.map +7 -0
  179. package/dist/cjs/views/Slot.js +63 -65
  180. package/dist/cjs/views/Slot.js.map +2 -2
  181. package/dist/cjs/views/Stack.js +4 -19
  182. package/dist/cjs/views/Stack.js.map +1 -1
  183. package/dist/cjs/views/TamaguiProvider.js +82 -0
  184. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  185. package/dist/cjs/views/Text.js +28 -29
  186. package/dist/cjs/views/Text.js.map +2 -2
  187. package/dist/cjs/views/Theme.js +43 -21
  188. package/dist/cjs/views/Theme.js.map +3 -3
  189. package/dist/cjs/views/ThemeInverse.js +25 -25
  190. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  191. package/dist/cjs/views/ThemeProvider.js +35 -23
  192. package/dist/cjs/views/ThemeProvider.js.map +3 -3
  193. package/dist/cjs/views/ThemeReset.js +18 -12
  194. package/dist/cjs/views/ThemeReset.js.map +3 -3
  195. package/dist/esm/Tamagui.js +8 -11
  196. package/dist/esm/Tamagui.js.map +2 -2
  197. package/dist/esm/addTheme.js +56 -0
  198. package/dist/esm/addTheme.js.map +7 -0
  199. package/dist/esm/config.js +45 -0
  200. package/dist/esm/config.js.map +7 -0
  201. package/dist/esm/constants/constants.js +2 -2
  202. package/dist/esm/constants/constants.js.map +2 -2
  203. package/dist/esm/constants/isDevTools.js +5 -0
  204. package/dist/esm/constants/isDevTools.js.map +7 -0
  205. package/dist/esm/constants/platform.js +25 -12
  206. package/dist/esm/constants/platform.js.map +2 -2
  207. package/dist/esm/constants/platform.native.js +28 -0
  208. package/dist/esm/constants/platform.native.js.map +7 -0
  209. package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
  210. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +1 -1
  211. package/dist/esm/contexts/FontLanguageContext.js +6 -0
  212. package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
  213. package/dist/esm/contexts/TextAncestorContext.js +17 -0
  214. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  215. package/dist/esm/{ThemeContext.js → contexts/ThemeContext.js} +0 -0
  216. package/dist/esm/contexts/ThemeContext.js.map +7 -0
  217. package/dist/esm/createComponent.js +891 -389
  218. package/dist/esm/createComponent.js.map +3 -3
  219. package/dist/esm/createFont.js +4 -9
  220. package/dist/esm/createFont.js.map +2 -2
  221. package/dist/esm/createShorthands.js +0 -3
  222. package/dist/esm/createShorthands.js.map +1 -1
  223. package/dist/esm/createTamagui.js +128 -158
  224. package/dist/esm/createTamagui.js.map +3 -3
  225. package/dist/esm/createTheme.js +3 -3
  226. package/dist/esm/createTheme.js.map +2 -2
  227. package/dist/esm/createTokens.js +3 -24
  228. package/dist/esm/createTokens.js.map +2 -2
  229. package/dist/esm/createVariable.js +47 -26
  230. package/dist/esm/createVariable.js.map +2 -2
  231. package/dist/esm/createVariables.js +28 -0
  232. package/dist/esm/createVariables.js.map +7 -0
  233. package/dist/esm/helpers/RNComponents.js +11 -8
  234. package/dist/esm/helpers/RNComponents.js.map +2 -2
  235. package/dist/esm/{ThemeManager.js → helpers/ThemeManager.js} +53 -53
  236. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  237. package/dist/esm/helpers/areEqualSets.js +2 -4
  238. package/dist/esm/helpers/areEqualSets.js.map +1 -1
  239. package/dist/esm/helpers/assignNativePropsToWeb.js +164 -0
  240. package/dist/esm/helpers/assignNativePropsToWeb.js.map +7 -0
  241. package/dist/esm/helpers/assignNativePropsToWeb.native.js +6 -0
  242. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +7 -0
  243. package/dist/esm/helpers/calc.js +47 -0
  244. package/dist/esm/helpers/calc.js.map +7 -0
  245. package/dist/esm/helpers/createMediaStyle.js +16 -10
  246. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  247. package/dist/esm/helpers/createPropMapper.js +263 -121
  248. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  249. package/dist/esm/helpers/createShallowUpdate.js +13 -12
  250. package/dist/esm/helpers/createShallowUpdate.js.map +2 -2
  251. package/dist/esm/helpers/expandStyle.js +66 -0
  252. package/dist/esm/helpers/expandStyle.js.map +7 -0
  253. package/dist/esm/helpers/expandStyles.js +89 -0
  254. package/dist/esm/helpers/expandStyles.js.map +7 -0
  255. package/dist/esm/helpers/extendStaticConfig.js +35 -28
  256. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  257. package/dist/esm/helpers/fixNativeShadow.js +2 -4
  258. package/dist/esm/helpers/fixNativeShadow.js.map +1 -1
  259. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  260. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  261. package/dist/esm/helpers/getExpandedShorthands.js +2 -5
  262. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  263. package/dist/esm/helpers/{getTextSize.js → getFont.js} +17 -9
  264. package/dist/esm/helpers/getFont.js.map +7 -0
  265. package/dist/esm/helpers/getFontLanguage.js +5 -0
  266. package/dist/esm/helpers/getFontLanguage.js.map +7 -0
  267. package/dist/esm/helpers/getSize.js +16 -10
  268. package/dist/esm/helpers/getSize.js.map +2 -2
  269. package/dist/esm/helpers/getSplitStyles.js +364 -188
  270. package/dist/esm/helpers/getSplitStyles.js.map +3 -3
  271. package/dist/esm/helpers/getStackSize.js +22 -0
  272. package/dist/esm/helpers/getStackSize.js.map +7 -0
  273. package/dist/esm/helpers/getStylesAtomic.js +187 -108
  274. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  275. package/dist/esm/helpers/getStylesAtomic.native.js +0 -3
  276. package/dist/esm/helpers/getStylesAtomic.native.js.map +1 -1
  277. package/dist/esm/helpers/getThemeCSSRules.js +79 -0
  278. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  279. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  280. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  281. package/dist/esm/helpers/getVariantExtras.js +63 -0
  282. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  283. package/dist/esm/helpers/insertStyleRule.js +82 -50
  284. package/dist/esm/helpers/insertStyleRule.js.map +3 -3
  285. package/dist/esm/helpers/isObj.js +1 -3
  286. package/dist/esm/helpers/isObj.js.map +1 -1
  287. package/dist/esm/helpers/isTamaguiComponent.js +13 -0
  288. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  289. package/dist/esm/helpers/isTamaguiElement.js +4 -6
  290. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  291. package/dist/esm/helpers/matchMedia.js +6 -7
  292. package/dist/esm/helpers/matchMedia.js.map +2 -2
  293. package/dist/esm/helpers/matchMedia.native.js +1 -3
  294. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  295. package/dist/esm/helpers/mergeProps.js +30 -0
  296. package/dist/esm/helpers/mergeProps.js.map +7 -0
  297. package/dist/esm/helpers/mergeTransform.js +17 -0
  298. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  299. package/dist/esm/helpers/normalizeColor.js +49 -0
  300. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  301. package/dist/esm/helpers/normalizeValueWithProperty.js +69 -0
  302. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  303. package/dist/esm/helpers/proxyThemeVariables.js +6 -5
  304. package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
  305. package/dist/esm/helpers/pseudoDescriptors.js +18 -0
  306. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  307. package/dist/esm/helpers/registerCSSVariable.js +14 -0
  308. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  309. package/dist/esm/helpers/startTransition.js +6 -0
  310. package/dist/esm/helpers/startTransition.js.map +7 -0
  311. package/dist/esm/helpers/themeable.js +11 -9
  312. package/dist/esm/helpers/themeable.js.map +2 -2
  313. package/dist/esm/helpers/themes.js +54 -0
  314. package/dist/esm/helpers/themes.js.map +7 -0
  315. package/dist/esm/helpers/useShallowSetState.js +20 -0
  316. package/dist/esm/helpers/useShallowSetState.js.map +7 -0
  317. package/dist/esm/helpers/validate.js +0 -75
  318. package/dist/esm/helpers/validate.js.map +3 -3
  319. package/dist/esm/helpers/withStaticProperties.js +2 -4
  320. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  321. package/dist/esm/hooks/getThemeUnwrapped.js +14 -0
  322. package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
  323. package/dist/esm/hooks/useConstant.js +4 -4
  324. package/dist/esm/hooks/useConstant.js.map +2 -2
  325. package/dist/esm/hooks/useDidFinishSSR.js +35 -0
  326. package/dist/esm/hooks/useDidFinishSSR.js.map +7 -0
  327. package/dist/esm/hooks/useId.js +1 -31
  328. package/dist/esm/hooks/useId.js.map +2 -2
  329. package/dist/esm/hooks/useIsMounted.js +1 -4
  330. package/dist/esm/hooks/useIsMounted.js.map +2 -2
  331. package/dist/esm/hooks/useIsSSR.js +22 -0
  332. package/dist/esm/hooks/useIsSSR.js.map +7 -0
  333. package/dist/esm/hooks/useIsTouchDevice.js +10 -10
  334. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  335. package/dist/esm/hooks/useMedia.js +157 -103
  336. package/dist/esm/hooks/useMedia.js.map +3 -3
  337. package/dist/esm/hooks/usePressable.js +2 -4
  338. package/dist/esm/hooks/usePressable.js.map +1 -1
  339. package/dist/esm/hooks/useSafeRef.js +36 -0
  340. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  341. package/dist/esm/hooks/useServerHooks.js +11 -0
  342. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  343. package/dist/esm/hooks/useTheme.js +159 -109
  344. package/dist/esm/hooks/useTheme.js.map +3 -3
  345. package/dist/esm/hooks/useUnmountEffect.js +0 -3
  346. package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
  347. package/dist/esm/index.js +51 -13
  348. package/dist/esm/index.js.map +2 -2
  349. package/dist/esm/injectStyles.js +16 -0
  350. package/dist/esm/injectStyles.js.map +7 -0
  351. package/dist/esm/insertFont.js +67 -0
  352. package/dist/esm/insertFont.js.map +7 -0
  353. package/dist/esm/static.js +15 -15
  354. package/dist/esm/static.js.map +2 -2
  355. package/dist/esm/styled.js +40 -12
  356. package/dist/esm/styled.js.map +2 -2
  357. package/dist/esm/types-rnw.js +0 -0
  358. package/dist/esm/types-rnw.js.map +0 -0
  359. package/dist/esm/types.js +0 -0
  360. package/dist/esm/types.js.map +0 -0
  361. package/dist/esm/updateTheme.js +23 -0
  362. package/dist/esm/updateTheme.js.map +7 -0
  363. package/dist/esm/vendor/Pressability.js +7 -0
  364. package/dist/esm/vendor/Pressability.js.map +7 -0
  365. package/dist/esm/vendor/Pressability.native.js +7 -0
  366. package/dist/esm/vendor/Pressability.native.js.map +7 -0
  367. package/dist/esm/views/FontLanguage.js +14 -0
  368. package/dist/esm/views/FontLanguage.js.map +7 -0
  369. package/dist/esm/views/FontLanguage.native.js +14 -0
  370. package/dist/esm/views/FontLanguage.native.js.map +7 -0
  371. package/dist/esm/views/FontLanguage.types.js +1 -0
  372. package/dist/{cjs/defaultComponentState.js.map → esm/views/FontLanguage.types.js.map} +0 -0
  373. package/dist/esm/views/Slot.js +50 -32
  374. package/dist/esm/views/Slot.js.map +2 -2
  375. package/dist/esm/views/Stack.js +0 -0
  376. package/dist/esm/views/Stack.js.map +1 -1
  377. package/dist/esm/views/TamaguiProvider.js +52 -0
  378. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  379. package/dist/esm/views/Text.js +13 -5
  380. package/dist/esm/views/Text.js.map +2 -2
  381. package/dist/esm/views/Theme.js +35 -19
  382. package/dist/esm/views/Theme.js.map +3 -3
  383. package/dist/esm/views/ThemeInverse.js +22 -20
  384. package/dist/esm/views/ThemeInverse.js.map +2 -2
  385. package/dist/esm/views/ThemeProvider.js +28 -21
  386. package/dist/esm/views/ThemeProvider.js.map +2 -2
  387. package/dist/esm/views/ThemeReset.js +13 -12
  388. package/dist/esm/views/ThemeReset.js.map +2 -2
  389. package/package.json +48 -16
  390. package/reset.css +25 -4
  391. package/src/Tamagui.ts +44 -0
  392. package/src/addTheme.ts +67 -0
  393. package/src/config.ts +45 -0
  394. package/src/constants/constants.ts +15 -0
  395. package/src/constants/isDevTools.ts +6 -0
  396. package/src/constants/platform.native.ts +14 -0
  397. package/src/constants/platform.ts +41 -0
  398. package/src/contexts/ButtonInsideButtonContext.tsx +3 -0
  399. package/src/contexts/FontLanguageContext.tsx +5 -0
  400. package/src/contexts/TextAncestorContext.tsx +10 -0
  401. package/src/contexts/ThemeContext.tsx +5 -0
  402. package/src/createComponent.tsx +1599 -0
  403. package/src/createFont.ts +29 -0
  404. package/src/createShorthands.ts +5 -0
  405. package/src/createTamagui.ts +229 -0
  406. package/src/createTheme.ts +13 -0
  407. package/src/createTokens.ts +35 -0
  408. package/src/createVariable.ts +85 -0
  409. package/src/createVariables.ts +42 -0
  410. package/src/helpers/RNComponents.tsx +14 -0
  411. package/src/helpers/ThemeManager.tsx +235 -0
  412. package/src/helpers/areEqualSets.tsx +9 -0
  413. package/src/helpers/assignNativePropsToWeb.native.tsx +1 -0
  414. package/src/helpers/assignNativePropsToWeb.tsx +178 -0
  415. package/src/helpers/calc.ts +68 -0
  416. package/src/helpers/createMediaStyle.ts +48 -0
  417. package/src/helpers/createPropMapper.ts +523 -0
  418. package/src/helpers/expandStyle.ts +81 -0
  419. package/src/helpers/expandStyles.ts +106 -0
  420. package/src/helpers/extendStaticConfig.ts +76 -0
  421. package/src/helpers/fixNativeShadow.tsx +2 -0
  422. package/src/helpers/getAnimationDriver.tsx +5 -0
  423. package/src/helpers/getExpandedShorthands.ts +15 -0
  424. package/src/helpers/getFont.tsx +43 -0
  425. package/src/helpers/getFontLanguage.ts +2 -0
  426. package/src/helpers/getSize.ts +22 -0
  427. package/src/helpers/getSplitStyles.tsx +738 -0
  428. package/src/helpers/getStackSize.ts +22 -0
  429. package/src/helpers/getStylesAtomic.native.ts +3 -0
  430. package/src/helpers/getStylesAtomic.ts +292 -0
  431. package/src/helpers/getThemeCSSRules.native.ts +3 -0
  432. package/src/helpers/getThemeCSSRules.ts +105 -0
  433. package/src/helpers/getVariantExtras.tsx +84 -0
  434. package/src/helpers/insertStyleRule.tsx +150 -0
  435. package/src/helpers/isObj.ts +1 -0
  436. package/src/helpers/isTamaguiComponent.tsx +15 -0
  437. package/src/helpers/isTamaguiElement.tsx +12 -0
  438. package/src/helpers/matchMedia.native.ts +6 -0
  439. package/src/helpers/matchMedia.ts +16 -0
  440. package/src/helpers/mergeProps.ts +56 -0
  441. package/src/helpers/mergeTransform.ts +16 -0
  442. package/src/helpers/normalizeColor.ts +53 -0
  443. package/src/helpers/normalizeValueWithProperty.ts +80 -0
  444. package/src/helpers/proxyThemeVariables.tsx +18 -0
  445. package/src/helpers/pseudoDescriptors.ts +18 -0
  446. package/src/helpers/registerCSSVariable.ts +11 -0
  447. package/src/helpers/startTransition.ts +4 -0
  448. package/src/helpers/themeable.tsx +45 -0
  449. package/src/helpers/themes.ts +69 -0
  450. package/src/helpers/useShallowSetState.tsx +20 -0
  451. package/src/helpers/validate.ts +80 -0
  452. package/src/helpers/withStaticProperties.tsx +7 -0
  453. package/src/hooks/getThemeUnwrapped.tsx +8 -0
  454. package/src/hooks/useConstant.tsx +19 -0
  455. package/src/hooks/useId.tsx +1 -0
  456. package/src/hooks/useIsMounted.ts +16 -0
  457. package/src/hooks/useIsTouchDevice.tsx +20 -0
  458. package/src/hooks/useMedia.tsx +266 -0
  459. package/src/hooks/usePressable.tsx +9 -0
  460. package/src/hooks/useSafeRef.ts +49 -0
  461. package/src/hooks/useServerHooks.tsx +12 -0
  462. package/src/hooks/useTheme.tsx +299 -0
  463. package/src/hooks/useUnmountEffect.ts +5 -0
  464. package/src/index.ts +83 -0
  465. package/src/injectStyles.ts +20 -0
  466. package/src/insertFont.ts +70 -0
  467. package/src/static.ts +15 -0
  468. package/src/styled.tsx +198 -0
  469. package/src/types-rnw.tsx +162 -0
  470. package/src/types.tsx +1307 -0
  471. package/src/updateTheme.ts +23 -0
  472. package/src/vendor/Pressability.native.tsx +3 -0
  473. package/src/vendor/Pressability.tsx +2 -0
  474. package/src/views/FontLanguage.native.tsx +9 -0
  475. package/src/views/FontLanguage.tsx +18 -0
  476. package/src/views/FontLanguage.types.ts +13 -0
  477. package/src/views/Slot.tsx +151 -0
  478. package/src/views/Stack.tsx +24 -0
  479. package/src/views/TamaguiProvider.tsx +56 -0
  480. package/src/views/Text.tsx +79 -0
  481. package/src/views/Theme.tsx +72 -0
  482. package/src/views/ThemeInverse.tsx +33 -0
  483. package/src/views/ThemeProvider.tsx +63 -0
  484. package/src/views/ThemeReset.tsx +43 -0
  485. package/types/Tamagui.d.ts +6 -8
  486. package/types/addTheme.d.ts +11 -0
  487. package/types/conf.d.ts +4 -5
  488. package/types/config.d.ts +47 -0
  489. package/types/constants/constants.d.ts +1 -1
  490. package/types/constants/isDevTools.d.ts +2 -0
  491. package/types/constants/platform.d.ts +7 -6
  492. package/types/constants/platform.native.d.ts +13 -0
  493. package/types/contexts/FontLanguageContext.d.ts +5 -0
  494. package/types/{views → contexts}/TextAncestorContext.d.ts +0 -0
  495. package/types/{ThemeContext.d.ts → contexts/ThemeContext.d.ts} +1 -1
  496. package/types/createComponent.d.ts +32 -15
  497. package/types/createComponent.server.d.ts +36 -0
  498. package/types/createTamagui.d.ts +2 -17
  499. package/types/createTheme.d.ts +1 -1
  500. package/types/createTokens.d.ts +5 -6
  501. package/types/createVariable.d.ts +24 -12
  502. package/types/createVariables.d.ts +10 -0
  503. package/types/helpers/RNComponents.d.ts +1 -1
  504. package/types/helpers/ThemeManager.d.ts +46 -0
  505. package/types/helpers/assignNativePropsToWeb.d.ts +2 -0
  506. package/types/helpers/assignNativePropsToWeb.native.d.ts +2 -0
  507. package/types/helpers/calc.d.ts +17 -0
  508. package/types/helpers/createMediaStyle.d.ts +2 -4
  509. package/types/helpers/createPropMapper.d.ts +6 -3
  510. package/types/helpers/createShallowUpdate.d.ts +1 -2
  511. package/types/helpers/cssHash.d.ts +2 -0
  512. package/types/helpers/expandStyle.d.ts +6 -0
  513. package/types/helpers/expandStyles.d.ts +26 -0
  514. package/types/helpers/getAnimationDriver.d.ts +6 -0
  515. package/types/helpers/getFont.d.ts +3 -0
  516. package/types/helpers/getFontLanguage.d.ts +2 -0
  517. package/types/helpers/getSize.d.ts +3 -2
  518. package/types/helpers/getSplitStyles.d.ts +16 -9
  519. package/types/helpers/getStackSize.d.ts +8 -0
  520. package/types/helpers/getStylesAtomic.d.ts +17 -22
  521. package/types/helpers/getThemeCSSRules.d.ts +8 -0
  522. package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
  523. package/types/helpers/getVariantExtras.d.ts +5 -0
  524. package/types/helpers/insertStyleRule.d.ts +7 -3
  525. package/types/helpers/isTamaguiComponent.d.ts +5 -0
  526. package/types/helpers/isTamaguiElement.d.ts +5 -1
  527. package/types/helpers/matchMedia.d.ts +1 -1
  528. package/types/helpers/mergeProps.d.ts +17 -0
  529. package/types/helpers/mergeTransform.d.ts +7 -0
  530. package/types/helpers/normalizeColor.d.ts +3 -0
  531. package/types/helpers/normalizeValueWithProperty.d.ts +6 -0
  532. package/types/helpers/pseudoDescriptors.d.ts +16 -0
  533. package/types/helpers/registerCSSVariable.d.ts +5 -0
  534. package/types/helpers/startTransition.d.ts +3 -0
  535. package/types/helpers/themes.d.ts +4 -0
  536. package/types/helpers/useAnimationDriver.d.ts +1 -0
  537. package/types/helpers/useShallowSetState.d.ts +3 -0
  538. package/types/helpers/validate.d.ts +0 -3
  539. package/types/hooks/getThemeUnwrapped.d.ts +3 -0
  540. package/types/hooks/useAnimationDriver.d.ts +1 -0
  541. package/types/hooks/useDidFinishSSR.d.ts +3 -0
  542. package/types/hooks/useFeatures.d.ts +10 -5
  543. package/types/hooks/useId.d.ts +1 -8
  544. package/types/hooks/useIsSSR.d.ts +4 -0
  545. package/types/hooks/useMedia.d.ts +20 -6
  546. package/types/hooks/useSafeRef.d.ts +4 -0
  547. package/types/hooks/useServerContext.d.ts +2 -0
  548. package/types/hooks/useServerHooks.d.ts +4 -0
  549. package/types/hooks/useTheme.d.ts +21 -31
  550. package/types/index.d.ts +29 -9
  551. package/types/injectStyles.d.ts +7 -0
  552. package/types/insertFont.d.ts +9 -0
  553. package/types/static.d.ts +2 -15
  554. package/types/styled.d.ts +7 -3
  555. package/types/types.d.ts +277 -77
  556. package/types/updateTheme.d.ts +9 -0
  557. package/types/vendor/Pressability.d.ts +3 -0
  558. package/types/vendor/Pressability.native.d.ts +3 -0
  559. package/types/views/FontLanguage.d.ts +4 -0
  560. package/types/views/FontLanguage.native.d.ts +4 -0
  561. package/types/views/FontLanguage.types.d.ts +11 -0
  562. package/types/views/Slot.d.ts +1 -0
  563. package/types/views/TamaguiProvider.d.ts +4 -0
  564. package/types/views/Theme.d.ts +3 -9
  565. package/types/views/ThemeInverse.d.ts +4 -8
  566. package/types/views/ThemeProvider.d.ts +2 -1
  567. package/dist/cjs/ThemeContext.js.map +0 -7
  568. package/dist/cjs/ThemeManager.js.map +0 -7
  569. package/dist/cjs/conf.js.map +0 -7
  570. package/dist/cjs/constants/rnw.js +0 -46
  571. package/dist/cjs/constants/rnw.js.map +0 -7
  572. package/dist/cjs/defaultComponentState.js +0 -1
  573. package/dist/cjs/helpers/addStylesUsingClassname.js +0 -87
  574. package/dist/cjs/helpers/addStylesUsingClassname.js.map +0 -7
  575. package/dist/cjs/helpers/createTamaguiProvider.js +0 -93
  576. package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -7
  577. package/dist/cjs/helpers/fixNativeShadow.native.js +0 -53
  578. package/dist/cjs/helpers/fixNativeShadow.native.js.map +0 -7
  579. package/dist/cjs/helpers/getButtonSize.js +0 -45
  580. package/dist/cjs/helpers/getButtonSize.js.map +0 -7
  581. package/dist/cjs/helpers/getTextSize.js.map +0 -7
  582. package/dist/cjs/helpers/nativeGestureHandler.js.map +0 -7
  583. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +0 -7
  584. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +0 -7
  585. package/dist/cjs/hooks/useFeatures.js +0 -228
  586. package/dist/cjs/hooks/useFeatures.js.map +0 -7
  587. package/dist/cjs/hooks/usePrevious.js +0 -1
  588. package/dist/cjs/hooks/usePrevious.js.map +0 -7
  589. package/dist/cjs/nativeGestureHandler.native.js.map +0 -7
  590. package/dist/cjs/views/TextAncestorContext.js.map +0 -7
  591. package/dist/esm/ThemeContext.js.map +0 -7
  592. package/dist/esm/ThemeManager.js.map +0 -7
  593. package/dist/esm/conf.js +0 -36
  594. package/dist/esm/conf.js.map +0 -7
  595. package/dist/esm/constants/rnw.js +0 -24
  596. package/dist/esm/constants/rnw.js.map +0 -7
  597. package/dist/esm/defaultComponentState.js +0 -1
  598. package/dist/esm/defaultComponentState.js.map +0 -7
  599. package/dist/esm/helpers/addStylesUsingClassname.js +0 -64
  600. package/dist/esm/helpers/addStylesUsingClassname.js.map +0 -7
  601. package/dist/esm/helpers/createTamaguiProvider.js +0 -40
  602. package/dist/esm/helpers/createTamaguiProvider.js.map +0 -7
  603. package/dist/esm/helpers/fixNativeShadow.native.js +0 -32
  604. package/dist/esm/helpers/fixNativeShadow.native.js.map +0 -7
  605. package/dist/esm/helpers/getButtonSize.js +0 -24
  606. package/dist/esm/helpers/getButtonSize.js.map +0 -7
  607. package/dist/esm/helpers/getTextSize.js.map +0 -7
  608. package/dist/esm/helpers/nativeGestureHandler.js +0 -7
  609. package/dist/esm/helpers/nativeGestureHandler.js.map +0 -7
  610. package/dist/esm/helpers/nativeGestureHandler.native.js +0 -2
  611. package/dist/esm/helpers/nativeGestureHandler.native.js.map +0 -7
  612. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -14
  613. package/dist/esm/helpers/wrapThemeManagerContext.js.map +0 -7
  614. package/dist/esm/hooks/useFeatures.js +0 -173
  615. package/dist/esm/hooks/useFeatures.js.map +0 -7
  616. package/dist/esm/hooks/usePrevious.js +0 -1
  617. package/dist/esm/hooks/usePrevious.js.map +0 -7
  618. package/dist/esm/nativeGestureHandler.native.js +0 -2
  619. package/dist/esm/nativeGestureHandler.native.js.map +0 -7
  620. package/dist/esm/views/TextAncestorContext.js +0 -18
  621. package/dist/esm/views/TextAncestorContext.js.map +0 -7
  622. package/dist/jsx/Tamagui.js +0 -41
  623. package/dist/jsx/ThemeContext.js +0 -5
  624. package/dist/jsx/ThemeManager.js +0 -186
  625. package/dist/jsx/conf.js +0 -35
  626. package/dist/jsx/constants/constants.js +0 -17
  627. package/dist/jsx/constants/platform.js +0 -25
  628. package/dist/jsx/constants/rnw.js +0 -23
  629. package/dist/jsx/contexts/ButtonInsideButtonContext.js +0 -5
  630. package/dist/jsx/createComponent.js +0 -636
  631. package/dist/jsx/createFont.js +0 -27
  632. package/dist/jsx/createShorthands.js +0 -9
  633. package/dist/jsx/createTamagui.js +0 -201
  634. package/dist/jsx/createTheme.js +0 -6
  635. package/dist/jsx/createTokens.js +0 -28
  636. package/dist/jsx/createVariable.js +0 -48
  637. package/dist/jsx/defaultComponentState.js +0 -0
  638. package/dist/jsx/helpers/RNComponents.js +0 -11
  639. package/dist/jsx/helpers/addStylesUsingClassname.js +0 -63
  640. package/dist/jsx/helpers/areEqualSets.js +0 -15
  641. package/dist/jsx/helpers/createMediaStyle.js +0 -30
  642. package/dist/jsx/helpers/createPropMapper.js +0 -237
  643. package/dist/jsx/helpers/createShallowUpdate.js +0 -18
  644. package/dist/jsx/helpers/createTamaguiProvider.js +0 -34
  645. package/dist/jsx/helpers/extendStaticConfig.js +0 -61
  646. package/dist/jsx/helpers/fixNativeShadow.js +0 -7
  647. package/dist/jsx/helpers/fixNativeShadow.native.js +0 -31
  648. package/dist/jsx/helpers/getButtonSize.js +0 -23
  649. package/dist/jsx/helpers/getExpandedShorthands.js +0 -18
  650. package/dist/jsx/helpers/getSize.js +0 -12
  651. package/dist/jsx/helpers/getSplitStyles.js +0 -322
  652. package/dist/jsx/helpers/getStylesAtomic.js +0 -130
  653. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -9
  654. package/dist/jsx/helpers/getTextSize.js +0 -33
  655. package/dist/jsx/helpers/insertStyleRule.js +0 -94
  656. package/dist/jsx/helpers/isObj.js +0 -6
  657. package/dist/jsx/helpers/isTamaguiElement.js +0 -10
  658. package/dist/jsx/helpers/matchMedia.js +0 -17
  659. package/dist/jsx/helpers/matchMedia.native.js +0 -8
  660. package/dist/jsx/helpers/nativeGestureHandler.js +0 -6
  661. package/dist/jsx/helpers/nativeGestureHandler.native.js +0 -1
  662. package/dist/jsx/helpers/proxyThemeVariables.js +0 -17
  663. package/dist/jsx/helpers/themeable.js +0 -24
  664. package/dist/jsx/helpers/validate.js +0 -75
  665. package/dist/jsx/helpers/withStaticProperties.js +0 -9
  666. package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -10
  667. package/dist/jsx/hooks/useConstant.js +0 -14
  668. package/dist/jsx/hooks/useFeatures.js +0 -167
  669. package/dist/jsx/hooks/useId.js +0 -34
  670. package/dist/jsx/hooks/useIsMounted.js +0 -18
  671. package/dist/jsx/hooks/useIsTouchDevice.js +0 -16
  672. package/dist/jsx/hooks/useMedia.js +0 -158
  673. package/dist/jsx/hooks/usePressable.js +0 -13
  674. package/dist/jsx/hooks/usePrevious.js +0 -0
  675. package/dist/jsx/hooks/useTheme.js +0 -177
  676. package/dist/jsx/hooks/useUnmountEffect.js +0 -10
  677. package/dist/jsx/index.js +0 -54
  678. package/dist/jsx/nativeGestureHandler.native.js +0 -1
  679. package/dist/jsx/static.js +0 -16
  680. package/dist/jsx/styled.js +0 -47
  681. package/dist/jsx/types-rnw.js +0 -0
  682. package/dist/jsx/types.js +0 -0
  683. package/dist/jsx/views/Slot.js +0 -75
  684. package/dist/jsx/views/Stack.js +0 -12
  685. package/dist/jsx/views/Text.js +0 -56
  686. package/dist/jsx/views/TextAncestorContext.js +0 -15
  687. package/dist/jsx/views/Theme.js +0 -31
  688. package/dist/jsx/views/ThemeInverse.js +0 -27
  689. package/dist/jsx/views/ThemeProvider.js +0 -35
  690. package/dist/jsx/views/ThemeReset.js +0 -34
  691. package/types/Tamagui.d.ts.map +0 -1
  692. package/types/ThemeContext.d.ts.map +0 -1
  693. package/types/ThemeManager.d.ts +0 -49
  694. package/types/ThemeManager.d.ts.map +0 -1
  695. package/types/conf.d.ts.map +0 -1
  696. package/types/constants/constants.d.ts.map +0 -1
  697. package/types/constants/platform.d.ts.map +0 -1
  698. package/types/constants/rnw.d.ts +0 -2
  699. package/types/constants/rnw.d.ts.map +0 -1
  700. package/types/contexts/ButtonInsideButtonContext.d.ts.map +0 -1
  701. package/types/createComponent.d.ts.map +0 -1
  702. package/types/createFont.d.ts.map +0 -1
  703. package/types/createShorthands.d.ts.map +0 -1
  704. package/types/createTamagui.d.ts.map +0 -1
  705. package/types/createTheme.d.ts.map +0 -1
  706. package/types/createTokens.d.ts.map +0 -1
  707. package/types/createVariable.d.ts.map +0 -1
  708. package/types/defaultComponentState.d.ts +0 -1
  709. package/types/defaultComponentState.d.ts.map +0 -1
  710. package/types/helpers/RNComponents.d.ts.map +0 -1
  711. package/types/helpers/addStylesUsingClassname.d.ts +0 -3
  712. package/types/helpers/addStylesUsingClassname.d.ts.map +0 -1
  713. package/types/helpers/areEqualSets.d.ts.map +0 -1
  714. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  715. package/types/helpers/createPropMapper.d.ts.map +0 -1
  716. package/types/helpers/createShallowUpdate.d.ts.map +0 -1
  717. package/types/helpers/createTamaguiProvider.d.ts +0 -7
  718. package/types/helpers/createTamaguiProvider.d.ts.map +0 -1
  719. package/types/helpers/extendStaticConfig.d.ts.map +0 -1
  720. package/types/helpers/fixNativeShadow.d.ts.map +0 -1
  721. package/types/helpers/fixNativeShadow.native.d.ts +0 -3
  722. package/types/helpers/fixNativeShadow.native.d.ts.map +0 -1
  723. package/types/helpers/getButtonSize.d.ts +0 -8
  724. package/types/helpers/getButtonSize.d.ts.map +0 -1
  725. package/types/helpers/getExpandedShorthands.d.ts.map +0 -1
  726. package/types/helpers/getSize.d.ts.map +0 -1
  727. package/types/helpers/getSplitStyles.d.ts.map +0 -1
  728. package/types/helpers/getStylesAtomic.d.ts.map +0 -1
  729. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  730. package/types/helpers/getTextSize.d.ts +0 -3
  731. package/types/helpers/getTextSize.d.ts.map +0 -1
  732. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  733. package/types/helpers/isObj.d.ts.map +0 -1
  734. package/types/helpers/isTamaguiElement.d.ts.map +0 -1
  735. package/types/helpers/matchMedia.d.ts.map +0 -1
  736. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  737. package/types/helpers/nativeGestureHandler.d.ts +0 -2
  738. package/types/helpers/nativeGestureHandler.d.ts.map +0 -1
  739. package/types/helpers/nativeGestureHandler.native.d.ts +0 -2
  740. package/types/helpers/nativeGestureHandler.native.d.ts.map +0 -1
  741. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  742. package/types/helpers/themeable.d.ts.map +0 -1
  743. package/types/helpers/validate.d.ts.map +0 -1
  744. package/types/helpers/withStaticProperties.d.ts.map +0 -1
  745. package/types/helpers/wrapThemeManagerContext.d.ts +0 -3
  746. package/types/helpers/wrapThemeManagerContext.d.ts.map +0 -1
  747. package/types/hooks/useConstant.d.ts.map +0 -1
  748. package/types/hooks/useFeatures.d.ts.map +0 -1
  749. package/types/hooks/useId.d.ts.map +0 -1
  750. package/types/hooks/useIsMounted.d.ts.map +0 -1
  751. package/types/hooks/useIsTouchDevice.d.ts.map +0 -1
  752. package/types/hooks/useMedia.d.ts.map +0 -1
  753. package/types/hooks/usePressable.d.ts.map +0 -1
  754. package/types/hooks/usePrevious.d.ts +0 -1
  755. package/types/hooks/usePrevious.d.ts.map +0 -1
  756. package/types/hooks/useTheme.d.ts.map +0 -1
  757. package/types/hooks/useUnmountEffect.d.ts.map +0 -1
  758. package/types/index.d.ts.map +0 -1
  759. package/types/nativeGestureHandler.native.d.ts +0 -2
  760. package/types/nativeGestureHandler.native.d.ts.map +0 -1
  761. package/types/static.d.ts.map +0 -1
  762. package/types/styled.d.ts.map +0 -1
  763. package/types/types-rnw.d.ts.map +0 -1
  764. package/types/types.d.ts.map +0 -1
  765. package/types/views/Slot.d.ts.map +0 -1
  766. package/types/views/Stack.d.ts.map +0 -1
  767. package/types/views/Text.d.ts.map +0 -1
  768. package/types/views/TextAncestorContext.d.ts.map +0 -1
  769. package/types/views/Theme.d.ts.map +0 -1
  770. package/types/views/ThemeInverse.d.ts.map +0 -1
  771. package/types/views/ThemeProvider.d.ts.map +0 -1
  772. package/types/views/ThemeReset.d.ts.map +0 -1
@@ -1,22 +1,8 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
20
6
  var __export = (target, all) => {
21
7
  for (var name in all)
22
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -34,140 +20,201 @@ var useMedia_exports = {};
34
20
  __export(useMedia_exports, {
35
21
  addMediaQueryListener: () => addMediaQueryListener,
36
22
  configureMedia: () => configureMedia,
23
+ getInitialMediaState: () => getInitialMediaState,
37
24
  getMedia: () => getMedia,
38
25
  mediaObjectToString: () => mediaObjectToString,
39
26
  mediaQueryConfig: () => mediaQueryConfig,
40
27
  mediaState: () => mediaState,
41
28
  removeMediaQueryListener: () => removeMediaQueryListener,
42
- useMedia: () => useMedia
29
+ useMedia: () => useMedia,
30
+ useMediaPropsActive: () => useMediaPropsActive,
31
+ useMediaQueryListeners: () => useMediaQueryListeners
43
32
  });
44
33
  module.exports = __toCommonJS(useMedia_exports);
45
- var import_use_force_update = require("@tamagui/use-force-update");
34
+ var import_constants = require("@tamagui/constants");
46
35
  var import_react = require("react");
47
- var import_platform = require("../constants/platform");
36
+ var import_config = require("../config");
48
37
  var import_matchMedia = require("../helpers/matchMedia");
49
- var import_useConstant = require("./useConstant");
50
- const mediaState = {};
38
+ var import_useSafeRef = require("./useSafeRef");
39
+ const mediaState = process.env.NODE_ENV === "development" ? new Proxy(
40
+ {},
41
+ {
42
+ get(target, key) {
43
+ if (typeof key === "string" && key[0] === "$") {
44
+ throw new Error(`Access of mediaState should never include $`);
45
+ }
46
+ return Reflect.get(target, key);
47
+ }
48
+ }
49
+ ) : {};
51
50
  const mediaQueryListeners = {};
52
- const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
51
+ function addMediaQueryListener(key, cb) {
52
+ if (process.env.NODE_ENV === "development" && key[0] === "$") {
53
+ console.warn(`Warning, listening to media queries shouldn't use the "$" prefix`);
54
+ }
53
55
  mediaQueryListeners[key] = mediaQueryListeners[key] || /* @__PURE__ */ new Set();
54
56
  mediaQueryListeners[key].add(cb);
55
- }, "addMediaQueryListener");
56
- const removeMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
57
+ return () => removeMediaQueryListener(key, cb);
58
+ }
59
+ function removeMediaQueryListener(key, cb) {
57
60
  var _a;
58
61
  (_a = mediaQueryListeners[key]) == null ? void 0 : _a.delete(cb);
59
- }, "removeMediaQueryListener");
60
- let hasConfigured = false;
62
+ }
61
63
  const mediaQueryConfig = {};
62
- const getMedia = /* @__PURE__ */ __name(() => {
64
+ const getMedia = () => {
63
65
  return mediaState;
64
- }, "getMedia");
65
- const configureMedia = /* @__PURE__ */ __name(({
66
- queries,
67
- defaultActive = ["sm", "xs"]
68
- } = {}) => {
69
- if (hasConfigured) {
70
- console.warn(`Already configured mediaQueries once (you may have called getMedia() before configureMedia())`);
66
+ };
67
+ let currentMediaState;
68
+ let initialMediaState;
69
+ const getInitialMediaState = () => {
70
+ if ((0, import_config.getConfig)().disableSSR) {
71
+ return currentMediaState || {};
72
+ }
73
+ return initialMediaState || {};
74
+ };
75
+ const dispose = /* @__PURE__ */ new Set();
76
+ const configureMedia = (config) => {
77
+ const { media, mediaQueryDefaultActive } = config;
78
+ if (!media)
79
+ return;
80
+ for (const key in media) {
81
+ mediaState[key] = (mediaQueryDefaultActive == null ? void 0 : mediaQueryDefaultActive[key]) || false;
71
82
  }
72
- if (queries) {
73
- Object.assign(mediaQueryConfig, queries);
74
- hasConfigured = true;
83
+ Object.assign(mediaQueryConfig, media);
84
+ currentMediaState = { ...mediaState };
85
+ initialMediaState = currentMediaState;
86
+ if (config.disableSSR) {
87
+ setupMediaListeners();
75
88
  }
76
- for (const key in queries) {
77
- const str = mediaObjectToString(queries[key]);
78
- const propKey = `$${key}`;
79
- try {
80
- let update = function() {
89
+ };
90
+ function unlisten() {
91
+ dispose.forEach((cb) => cb());
92
+ dispose.clear();
93
+ }
94
+ let configuredKey = "";
95
+ function setupMediaListeners() {
96
+ const nextKey = JSON.stringify(mediaQueryConfig);
97
+ if (nextKey === configuredKey) {
98
+ return;
99
+ }
100
+ configuredKey = nextKey;
101
+ unlisten();
102
+ (0, import_react.startTransition)(() => {
103
+ for (const key in mediaQueryConfig) {
104
+ let update2 = function() {
81
105
  const next = !!getMatch().matches;
82
- if (next === mediaState[propKey])
106
+ if (next === mediaState[key])
83
107
  return;
84
- mediaState[propKey] = next;
85
- const listeners = mediaQueryListeners[propKey];
108
+ mediaState[key] = next;
109
+ currentMediaState = { ...mediaState };
110
+ const listeners = mediaQueryListeners[key];
86
111
  if (listeners == null ? void 0 : listeners.size) {
87
- for (const cb of [...listeners]) {
88
- cb();
89
- }
112
+ listeners.forEach((cb) => cb(next));
90
113
  }
91
114
  };
92
- __name(update, "update");
93
- const getMatch = /* @__PURE__ */ __name(() => (0, import_matchMedia.matchMedia)(str), "getMatch");
115
+ var update = update2;
116
+ const str = mediaObjectToString(mediaQueryConfig[key]);
117
+ const getMatch = () => (0, import_matchMedia.matchMedia)(str);
94
118
  const match = getMatch();
95
- if (!match || typeof match.addListener !== "function") {
96
- throw new Error("\u26A0\uFE0F No match (seeing this in RN sometimes)");
119
+ if (!match) {
120
+ throw new Error("\u26A0\uFE0F No match");
97
121
  }
98
- mediaState[propKey] = !!match.matches;
99
- match.addListener(update);
100
- update();
101
- } catch (err) {
102
- console.error("Error running media query", str, err.message, err.stack);
103
- const isDefaultActive = (defaultActive == null ? void 0 : defaultActive.includes(key)) ?? true;
104
- mediaState[propKey] = isDefaultActive;
122
+ match.addListener(update2);
123
+ dispose.add(() => match.removeListener(update2));
124
+ update2();
105
125
  }
126
+ });
127
+ }
128
+ function useMediaQueryListeners(config) {
129
+ if (config.disableSSR) {
130
+ return;
106
131
  }
107
- }, "configureMedia");
108
- const useMedia = /* @__PURE__ */ __name(() => {
109
- const forceUpdate = (0, import_use_force_update.useForceUpdate)();
110
- const state = (0, import_react.useRef)();
111
- if (!state.current) {
112
- state.current = {
113
- selections: {},
114
- nextSelections: {},
115
- isUnmounted: false,
116
- isRendering: true
117
- };
118
- }
119
- state.current.isRendering = true;
120
- (0, import_platform.useIsomorphicLayoutEffect)(() => {
121
- const st = state.current;
122
- st.isRendering = false;
123
- for (const key in st.selections) {
124
- if (!(key in st.nextSelections)) {
125
- removeMediaQueryListener(key, forceUpdate);
126
- }
127
- }
128
- for (const key in st.nextSelections) {
129
- if (!(key in st.selections)) {
130
- addMediaQueryListener(key, forceUpdate);
132
+ (0, import_react.useEffect)(() => {
133
+ setupMediaListeners();
134
+ return unlisten;
135
+ }, []);
136
+ }
137
+ function useMedia() {
138
+ const [state, setState] = (0, import_react.useState)(initialMediaState || {});
139
+ const keys = (0, import_useSafeRef.useSafeRef)({});
140
+ function updateState() {
141
+ setState((prev) => {
142
+ for (const key in keys.current) {
143
+ if (prev[key] !== mediaState[key]) {
144
+ return { ...mediaState };
145
+ }
131
146
  }
132
- }
133
- });
134
- (0, import_platform.useIsomorphicLayoutEffect)(() => {
147
+ return prev;
148
+ });
149
+ }
150
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
151
+ const disposes = Object.keys(keys.current).map(
152
+ (key) => addMediaQueryListener(key, updateState)
153
+ );
154
+ updateState();
135
155
  return () => {
136
- const st = state.current;
137
- st.isUnmounted = true;
138
- const allKeys = __spreadValues(__spreadValues({}, st.selections), st.nextSelections);
139
- for (const key in allKeys) {
140
- removeMediaQueryListener(key, forceUpdate);
141
- }
156
+ disposes.forEach((cb) => cb());
142
157
  };
143
- }, []);
144
- return (0, import_useConstant.useConstant)(() => {
145
- const st = state.current;
146
- return new Proxy(mediaState, {
147
- get(target, key) {
148
- if (key[0] !== "$") {
149
- key = `$${key}`;
158
+ });
159
+ return (0, import_react.useMemo)(
160
+ () => new Proxy(state, {
161
+ get(_, key) {
162
+ if (process.env.NODE_ENV === "development") {
163
+ if (!currentMediaState) {
164
+ throw new Error(
165
+ `To use useMedia() you must pass in media configuration to createTamagui, none was found.`
166
+ );
167
+ }
150
168
  }
151
- if (!(key in mediaState)) {
152
- return Reflect.get(target, key);
169
+ if (!keys.current[key]) {
170
+ keys.current[key] = true;
153
171
  }
154
- if (!st.isUnmounted) {
155
- if (st.isRendering) {
156
- st.nextSelections[key] = true;
157
- }
172
+ return Reflect.get(state, key);
173
+ }
174
+ }),
175
+ [state, keys]
176
+ );
177
+ }
178
+ function useMediaPropsActive(props) {
179
+ const media = useMedia();
180
+ return (0, import_react.useMemo)(() => {
181
+ const evaluated = {};
182
+ const lastSetImportanceForKey = {};
183
+ const propNames = Object.keys(props);
184
+ const mediaKeysOrdered = Object.keys(getMedia());
185
+ function update(k, v, importance = 0) {
186
+ if (lastSetImportanceForKey[k] > importance) {
187
+ return;
188
+ }
189
+ lastSetImportanceForKey[k] = importance;
190
+ evaluated[k] = v;
191
+ }
192
+ for (let i = propNames.length - 1; i >= 0; i--) {
193
+ const key = propNames[i];
194
+ const val = props[key];
195
+ if (key[0] === "$") {
196
+ const shortKey = key.slice(1);
197
+ if (!media[shortKey]) {
198
+ continue;
158
199
  }
159
- if (key in mediaState) {
160
- return mediaState[key];
200
+ if (val && typeof val === "object") {
201
+ const subPropNames = Object.keys(val);
202
+ const mediaImportance = mediaKeysOrdered.indexOf(shortKey);
203
+ for (let j = subPropNames.length; j--; j >= 0) {
204
+ const skey = subPropNames[j];
205
+ update(skey, val[skey], mediaImportance);
206
+ }
161
207
  }
162
- return Reflect.get(mediaState, key);
208
+ } else {
209
+ update(key, val);
163
210
  }
164
- });
165
- });
166
- }, "useMedia");
211
+ }
212
+ return evaluated;
213
+ }, [media, props]);
214
+ }
167
215
  function camelToHyphen(str) {
168
216
  return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase();
169
217
  }
170
- __name(camelToHyphen, "camelToHyphen");
171
218
  function mediaObjectToString(query) {
172
219
  if (typeof query === "string") {
173
220
  return query;
@@ -183,16 +230,18 @@ function mediaObjectToString(query) {
183
230
  return `(${feature}: ${value})`;
184
231
  }).join(" and ");
185
232
  }
186
- __name(mediaObjectToString, "mediaObjectToString");
187
233
  // Annotate the CommonJS export names for ESM import in node:
188
234
  0 && (module.exports = {
189
235
  addMediaQueryListener,
190
236
  configureMedia,
237
+ getInitialMediaState,
191
238
  getMedia,
192
239
  mediaObjectToString,
193
240
  mediaQueryConfig,
194
241
  mediaState,
195
242
  removeMediaQueryListener,
196
- useMedia
243
+ useMedia,
244
+ useMediaPropsActive,
245
+ useMediaQueryListeners
197
246
  });
198
247
  //# sourceMappingURL=useMedia.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/useMedia.tsx"],
4
- "sourcesContent": ["import { useForceUpdate } from '@tamagui/use-force-update'\nimport { useRef } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { matchMedia } from '../helpers/matchMedia'\nimport {\n ConfigureMediaQueryOptions,\n MediaQueries,\n MediaQueryKey,\n MediaQueryObject,\n MediaQueryState,\n} from '../types'\nimport { useConstant } from './useConstant'\n\nexport const mediaState: MediaQueryState = {} as any\nconst mediaQueryListeners: { [key: string]: Set<Function> } = {}\n\nexport const addMediaQueryListener = (key: string, cb: any) => {\n mediaQueryListeners[key] = mediaQueryListeners[key] || new Set()\n mediaQueryListeners[key].add(cb)\n}\n\nexport const removeMediaQueryListener = (key: string, cb: any) => {\n mediaQueryListeners[key]?.delete(cb)\n}\n\nlet hasConfigured = false\nexport const mediaQueryConfig: MediaQueries = {}\n\nexport const getMedia = () => {\n return mediaState\n}\n\nexport const configureMedia = ({\n queries,\n defaultActive = ['sm', 'xs'],\n}: ConfigureMediaQueryOptions = {}) => {\n if (hasConfigured) {\n console.warn(\n `Already configured mediaQueries once (you may have called getMedia() before configureMedia())`\n )\n }\n\n if (queries) {\n Object.assign(mediaQueryConfig, queries)\n hasConfigured = true\n }\n\n // setup\n for (const key in queries) {\n const str = mediaObjectToString(queries[key])\n const propKey = `$${key}`\n try {\n const getMatch = () => matchMedia(str)\n const match = getMatch()\n if (!match || typeof match.addListener !== 'function') {\n // caught below\n throw new Error('\u26A0\uFE0F No match (seeing this in RN sometimes)')\n }\n mediaState[propKey] = !!match.matches\n match.addListener(update)\n\n function update() {\n const next = !!getMatch().matches\n if (next === mediaState[propKey]) return\n mediaState[propKey] = next\n const listeners = mediaQueryListeners[propKey]\n if (listeners?.size) {\n for (const cb of [...listeners]) {\n cb()\n }\n }\n }\n\n update()\n } catch (err: any) {\n console.error('Error running media query', str, err.message, err.stack)\n const isDefaultActive = defaultActive?.includes(key as any) ?? true\n mediaState[propKey] = isDefaultActive\n }\n }\n}\n\ntype UseMediaState = {\n selections: { [key: string]: boolean }\n nextSelections: { [key: string]: boolean }\n isRendering: boolean\n isUnmounted: boolean\n}\n\nexport const useMedia = () => {\n const forceUpdate = useForceUpdate()\n const state = useRef() as React.MutableRefObject<UseMediaState>\n if (!state.current) {\n state.current = {\n selections: {},\n nextSelections: {},\n isUnmounted: false,\n isRendering: true,\n }\n }\n state.current.isRendering = true\n\n // track usage\n useIsomorphicLayoutEffect(() => {\n const st = state.current\n st.isRendering = false\n // delete old\n for (const key in st.selections) {\n if (!(key in st.nextSelections)) {\n removeMediaQueryListener(key, forceUpdate)\n }\n }\n // add new\n for (const key in st.nextSelections) {\n if (!(key in st.selections)) {\n addMediaQueryListener(key, forceUpdate)\n }\n }\n })\n\n // unmount\n useIsomorphicLayoutEffect(() => {\n return () => {\n const st = state.current\n st.isUnmounted = true\n const allKeys = {\n ...st.selections,\n ...st.nextSelections,\n }\n for (const key in allKeys) {\n removeMediaQueryListener(key, forceUpdate)\n }\n }\n }, [])\n\n return useConstant(() => {\n const st = state.current\n return new Proxy(\n mediaState as {\n [key in MediaQueryKey]: boolean\n },\n {\n get(target, key: string) {\n if (key[0] !== '$') {\n key = `$${key}`\n }\n if (!(key in mediaState)) {\n return Reflect.get(target, key)\n }\n if (!st.isUnmounted) {\n if (st.isRendering) {\n st.nextSelections[key] = true\n }\n }\n if (key in mediaState) {\n return mediaState[key]\n }\n return Reflect.get(mediaState, key)\n },\n }\n )\n })\n}\n\nfunction camelToHyphen(str: string) {\n return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()\n}\n\nexport function mediaObjectToString(query: string | MediaQueryObject) {\n if (typeof query === 'string') {\n return query\n }\n return Object.entries(query)\n .map(([feature, value]) => {\n feature = camelToHyphen(feature)\n if (typeof value === 'string') {\n return `(${feature}: ${value})`\n }\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = `${value}px`\n }\n return `(${feature}: ${value})`\n })\n .join(' and ')\n}\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "sourcesContent": ["import { useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { startTransition, useEffect, useMemo, useState } from 'react'\n\nimport { getConfig } from '../config'\nimport { matchMedia } from '../helpers/matchMedia'\nimport {\n MediaQueries,\n MediaQueryKey,\n MediaQueryObject,\n MediaQueryState,\n TamaguiInternalConfig,\n} from '../types'\nimport { useSafeRef } from './useSafeRef'\n\nexport const mediaState: MediaQueryState =\n // development time safeguard\n process.env.NODE_ENV === 'development'\n ? new Proxy(\n {},\n {\n get(target, key) {\n if (typeof key === 'string' && key[0] === '$') {\n throw new Error(`Access of mediaState should never include $`)\n }\n return Reflect.get(target, key)\n },\n }\n )\n : ({} as any)\n\ntype MediaListener = (next: boolean) => void\n\nconst mediaQueryListeners: { [key: string]: Set<MediaListener> } = {}\n\nexport function addMediaQueryListener(key: MediaQueryKey, cb: MediaListener) {\n if (process.env.NODE_ENV === 'development' && key[0] === '$') {\n // eslint-disable-next-line no-console\n console.warn(`Warning, listening to media queries shouldn't use the \"$\" prefix`)\n }\n mediaQueryListeners[key] = mediaQueryListeners[key] || new Set()\n mediaQueryListeners[key].add(cb)\n return () => removeMediaQueryListener(key, cb)\n}\n\nexport function removeMediaQueryListener(key: MediaQueryKey, cb: MediaListener) {\n mediaQueryListeners[key]?.delete(cb)\n}\n\nexport const mediaQueryConfig: MediaQueries = {}\n\nexport const getMedia = () => {\n return mediaState\n}\n\n// for SSR capture it at time of startup\nlet currentMediaState: MediaQueryState | null\nlet initialMediaState: MediaQueryState | null\n\nexport const getInitialMediaState = () => {\n if (getConfig().disableSSR) {\n return currentMediaState || {}\n }\n return initialMediaState || {}\n}\n\nconst dispose = new Set<Function>()\n\nexport const configureMedia = (config: TamaguiInternalConfig) => {\n const { media, mediaQueryDefaultActive } = config\n if (!media) return\n for (const key in media) {\n mediaState[key] = mediaQueryDefaultActive?.[key] || false\n }\n Object.assign(mediaQueryConfig, media)\n currentMediaState = { ...mediaState }\n initialMediaState = currentMediaState\n if (config.disableSSR) {\n setupMediaListeners()\n }\n}\n\nfunction unlisten() {\n dispose.forEach((cb) => cb())\n dispose.clear()\n}\n\n/**\n * Note: This should *not* set the state on the first render!\n * Because to avoid hydration issues SSR must match the server\n * *and then* re-render with the actual media query state.\n */\nlet configuredKey = ''\nfunction setupMediaListeners() {\n // avoid setting up more than once per config\n const nextKey = JSON.stringify(mediaQueryConfig)\n if (nextKey === configuredKey) {\n return\n }\n configuredKey = nextKey\n\n // hmr, undo existing before re-binding\n unlisten()\n\n // theoretically this should make media reactions smoother but potentially delayed?\n // but i believe consistent, so that's a nicer default (we'll see)\n startTransition(() => {\n for (const key in mediaQueryConfig) {\n const str = mediaObjectToString(mediaQueryConfig[key])\n const getMatch = () => matchMedia(str)\n const match = getMatch()\n if (!match) {\n throw new Error('\u26A0\uFE0F No match')\n }\n // react native needs these deprecated apis for now\n match.addListener(update)\n dispose.add(() => match.removeListener(update))\n\n update()\n\n function update() {\n const next = !!getMatch().matches\n if (next === mediaState[key]) return\n mediaState[key] = next\n currentMediaState = { ...mediaState }\n const listeners = mediaQueryListeners[key]\n if (listeners?.size) {\n listeners.forEach((cb) => cb(next))\n }\n }\n }\n })\n}\n\nexport function useMediaQueryListeners(config: TamaguiInternalConfig) {\n if (config.disableSSR) {\n return\n }\n useEffect(() => {\n setupMediaListeners()\n return unlisten\n }, [])\n}\n\nexport function useMedia(): {\n [key in MediaQueryKey]: boolean\n} {\n const [state, setState] = useState<MediaQueryState>(initialMediaState || {})\n const keys = useSafeRef({} as Record<string, boolean>)\n\n function updateState() {\n setState((prev) => {\n for (const key in keys.current) {\n if (prev[key] !== mediaState[key]) {\n return { ...mediaState }\n }\n }\n return prev\n })\n }\n\n useIsomorphicLayoutEffect(() => {\n const disposes: Function[] = Object.keys(keys.current).map((key) =>\n addMediaQueryListener(key, updateState)\n )\n updateState()\n return () => {\n disposes.forEach((cb) => cb())\n }\n })\n\n return useMemo(\n () =>\n new Proxy(state, {\n get(_, key: string) {\n if (process.env.NODE_ENV === 'development') {\n if (!currentMediaState) {\n throw new Error(\n `To use useMedia() you must pass in media configuration to createTamagui, none was found.`\n )\n }\n }\n if (!keys.current[key]) {\n keys.current[key] = true\n }\n return Reflect.get(state, key)\n },\n }),\n [state, keys]\n )\n}\n\n/**\n * Useful for more complex components that need access to the currently active props,\n * accounting for the currently active media queries.\n *\n * Use sparingly, is will loop props and trigger re-render on all media queries.\n *\n * */\nexport function useMediaPropsActive<A extends Object>(\n props: A\n): {\n // remove all media\n [Key in keyof A extends `$${string}` ? never : keyof A]?: A[Key]\n} {\n const media = useMedia()\n\n return useMemo(() => {\n const evaluated = {} as A\n const lastSetImportanceForKey = {}\n const propNames = Object.keys(props)\n const mediaKeysOrdered = Object.keys(getMedia())\n\n function update(k: string, v: any, importance = 0) {\n if (lastSetImportanceForKey[k] > importance) {\n return\n }\n lastSetImportanceForKey[k] = importance\n evaluated[k] = v\n }\n\n for (let i = propNames.length - 1; i >= 0; i--) {\n const key = propNames[i]\n const val = props[key]\n if (key[0] === '$') {\n const shortKey = key.slice(1)\n if (!media[shortKey]) {\n continue\n }\n if (val && typeof val === 'object') {\n const subPropNames = Object.keys(val)\n const mediaImportance = mediaKeysOrdered.indexOf(shortKey)\n for (let j = subPropNames.length; j--; j >= 0) {\n const skey = subPropNames[j]\n update(skey, val[skey], mediaImportance)\n }\n }\n } else {\n update(key, val)\n }\n }\n\n return evaluated\n }, [media, props])\n}\n\nfunction camelToHyphen(str: string) {\n return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase()\n}\n\nexport function mediaObjectToString(query: string | MediaQueryObject) {\n if (typeof query === 'string') {\n return query\n }\n return Object.entries(query)\n .map(([feature, value]) => {\n feature = camelToHyphen(feature)\n if (typeof value === 'string') {\n return `(${feature}: ${value})`\n }\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = `${value}px`\n }\n return `(${feature}: ${value})`\n })\n .join(' and ')\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C;AAC1C,mBAA8D;AAE9D,oBAA0B;AAC1B,wBAA2B;AAQ3B,wBAA2B;AAEpB,MAAM,aAEX,QAAQ,IAAI,aAAa,gBACrB,IAAI;AAAA,EACF,CAAC;AAAA,EACD;AAAA,IACE,IAAI,QAAQ,KAAK;AACf,UAAI,OAAO,QAAQ,YAAY,IAAI,OAAO,KAAK;AAC7C,cAAM,IAAI,MAAM,6CAA6C;AAAA,MAC/D;AACA,aAAO,QAAQ,IAAI,QAAQ,GAAG;AAAA,IAChC;AAAA,EACF;AACF,IACC,CAAC;AAIR,MAAM,sBAA6D,CAAC;AAE7D,SAAS,sBAAsB,KAAoB,IAAmB;AAC3E,MAAI,QAAQ,IAAI,aAAa,iBAAiB,IAAI,OAAO,KAAK;AAE5D,YAAQ,KAAK,kEAAkE;AAAA,EACjF;AACA,sBAAoB,OAAO,oBAAoB,QAAQ,oBAAI,IAAI;AAC/D,sBAAoB,KAAK,IAAI,EAAE;AAC/B,SAAO,MAAM,yBAAyB,KAAK,EAAE;AAC/C;AAEO,SAAS,yBAAyB,KAAoB,IAAmB;AA5ChF;AA6CE,4BAAoB,SAApB,mBAA0B,OAAO;AACnC;AAEO,MAAM,mBAAiC,CAAC;AAExC,MAAM,WAAW,MAAM;AAC5B,SAAO;AACT;AAGA,IAAI;AACJ,IAAI;AAEG,MAAM,uBAAuB,MAAM;AACxC,UAAI,yBAAU,EAAE,YAAY;AAC1B,WAAO,qBAAqB,CAAC;AAAA,EAC/B;AACA,SAAO,qBAAqB,CAAC;AAC/B;AAEA,MAAM,UAAU,oBAAI,IAAc;AAE3B,MAAM,iBAAiB,CAAC,WAAkC;AAC/D,QAAM,EAAE,OAAO,wBAAwB,IAAI;AAC3C,MAAI,CAAC;AAAO;AACZ,aAAW,OAAO,OAAO;AACvB,eAAW,QAAO,mEAA0B,SAAQ;AAAA,EACtD;AACA,SAAO,OAAO,kBAAkB,KAAK;AACrC,sBAAoB,EAAE,GAAG,WAAW;AACpC,sBAAoB;AACpB,MAAI,OAAO,YAAY;AACrB,wBAAoB;AAAA,EACtB;AACF;AAEA,SAAS,WAAW;AAClB,UAAQ,QAAQ,CAAC,OAAO,GAAG,CAAC;AAC5B,UAAQ,MAAM;AAChB;AAOA,IAAI,gBAAgB;AACpB,SAAS,sBAAsB;AAE7B,QAAM,UAAU,KAAK,UAAU,gBAAgB;AAC/C,MAAI,YAAY,eAAe;AAC7B;AAAA,EACF;AACA,kBAAgB;AAGhB,WAAS;AAIT,oCAAgB,MAAM;AACpB,eAAW,OAAO,kBAAkB;AAalC,UAASA,UAAT,WAAkB;AAChB,cAAM,OAAO,CAAC,CAAC,SAAS,EAAE;AAC1B,YAAI,SAAS,WAAW;AAAM;AAC9B,mBAAW,OAAO;AAClB,4BAAoB,EAAE,GAAG,WAAW;AACpC,cAAM,YAAY,oBAAoB;AACtC,YAAI,uCAAW,MAAM;AACnB,oBAAU,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAAA,QACpC;AAAA,MACF;AATS,mBAAAA;AAZT,YAAM,MAAM,oBAAoB,iBAAiB,IAAI;AACrD,YAAM,WAAW,UAAM,8BAAW,GAAG;AACrC,YAAM,QAAQ,SAAS;AACvB,UAAI,CAAC,OAAO;AACV,cAAM,IAAI,MAAM,uBAAa;AAAA,MAC/B;AAEA,YAAM,YAAYA,OAAM;AACxB,cAAQ,IAAI,MAAM,MAAM,eAAeA,OAAM,CAAC;AAE9C,MAAAA,QAAO;AAAA,IAYT;AAAA,EACF,CAAC;AACH;AAEO,SAAS,uBAAuB,QAA+B;AACpE,MAAI,OAAO,YAAY;AACrB;AAAA,EACF;AACA,8BAAU,MAAM;AACd,wBAAoB;AACpB,WAAO;AAAA,EACT,GAAG,CAAC,CAAC;AACP;AAEO,SAAS,WAEd;AACA,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAA0B,qBAAqB,CAAC,CAAC;AAC3E,QAAM,WAAO,8BAAW,CAAC,CAA4B;AAErD,WAAS,cAAc;AACrB,aAAS,CAAC,SAAS;AACjB,iBAAW,OAAO,KAAK,SAAS;AAC9B,YAAI,KAAK,SAAS,WAAW,MAAM;AACjC,iBAAO,EAAE,GAAG,WAAW;AAAA,QACzB;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAEA,kDAA0B,MAAM;AAC9B,UAAM,WAAuB,OAAO,KAAK,KAAK,OAAO,EAAE;AAAA,MAAI,CAAC,QAC1D,sBAAsB,KAAK,WAAW;AAAA,IACxC;AACA,gBAAY;AACZ,WAAO,MAAM;AACX,eAAS,QAAQ,CAAC,OAAO,GAAG,CAAC;AAAA,IAC/B;AAAA,EACF,CAAC;AAED,aAAO;AAAA,IACL,MACE,IAAI,MAAM,OAAO;AAAA,MACf,IAAI,GAAG,KAAa;AAClB,YAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAI,CAAC,mBAAmB;AACtB,kBAAM,IAAI;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,YAAI,CAAC,KAAK,QAAQ,MAAM;AACtB,eAAK,QAAQ,OAAO;AAAA,QACtB;AACA,eAAO,QAAQ,IAAI,OAAO,GAAG;AAAA,MAC/B;AAAA,IACF,CAAC;AAAA,IACH,CAAC,OAAO,IAAI;AAAA,EACd;AACF;AASO,SAAS,oBACd,OAIA;AACA,QAAM,QAAQ,SAAS;AAEvB,aAAO,sBAAQ,MAAM;AACnB,UAAM,YAAY,CAAC;AACnB,UAAM,0BAA0B,CAAC;AACjC,UAAM,YAAY,OAAO,KAAK,KAAK;AACnC,UAAM,mBAAmB,OAAO,KAAK,SAAS,CAAC;AAE/C,aAAS,OAAO,GAAW,GAAQ,aAAa,GAAG;AACjD,UAAI,wBAAwB,KAAK,YAAY;AAC3C;AAAA,MACF;AACA,8BAAwB,KAAK;AAC7B,gBAAU,KAAK;AAAA,IACjB;AAEA,aAAS,IAAI,UAAU,SAAS,GAAG,KAAK,GAAG,KAAK;AAC9C,YAAM,MAAM,UAAU;AACtB,YAAM,MAAM,MAAM;AAClB,UAAI,IAAI,OAAO,KAAK;AAClB,cAAM,WAAW,IAAI,MAAM,CAAC;AAC5B,YAAI,CAAC,MAAM,WAAW;AACpB;AAAA,QACF;AACA,YAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,gBAAM,eAAe,OAAO,KAAK,GAAG;AACpC,gBAAM,kBAAkB,iBAAiB,QAAQ,QAAQ;AACzD,mBAAS,IAAI,aAAa,QAAQ,KAAK,KAAK,GAAG;AAC7C,kBAAM,OAAO,aAAa;AAC1B,mBAAO,MAAM,IAAI,OAAO,eAAe;AAAA,UACzC;AAAA,QACF;AAAA,MACF,OAAO;AACL,eAAO,KAAK,GAAG;AAAA,MACjB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,GAAG,CAAC,OAAO,KAAK,CAAC;AACnB;AAEA,SAAS,cAAc,KAAa;AAClC,SAAO,IAAI,QAAQ,UAAU,CAAC,MAAM,IAAI,EAAE,YAAY,GAAG,EAAE,YAAY;AACzE;AAEO,SAAS,oBAAoB,OAAkC;AACpE,MAAI,OAAO,UAAU,UAAU;AAC7B,WAAO;AAAA,EACT;AACA,SAAO,OAAO,QAAQ,KAAK,EACxB,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM;AACzB,cAAU,cAAc,OAAO;AAC/B,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,IAAI,YAAY;AAAA,IACzB;AACA,QAAI,OAAO,UAAU,YAAY,kBAAkB,KAAK,OAAO,GAAG;AAChE,cAAQ,GAAG;AAAA,IACb;AACA,WAAO,IAAI,YAAY;AAAA,EACzB,CAAC,EACA,KAAK,OAAO;AACjB;",
6
+ "names": ["update"]
7
7
  }
@@ -1,22 +1,8 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
- var __objRest = (source, exclude) => {
9
- var target = {};
10
- for (var prop in source)
11
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
12
- target[prop] = source[prop];
13
- if (source != null && __getOwnPropSymbols)
14
- for (var prop of __getOwnPropSymbols(source)) {
15
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
16
- target[prop] = source[prop];
17
- }
18
- return target;
19
- };
20
6
  var __export = (target, all) => {
21
7
  for (var name in all)
22
8
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -38,11 +24,11 @@ module.exports = __toCommonJS(usePressable_exports);
38
24
  var import_react_native = require("react-native");
39
25
  var _a, _b;
40
26
  const getPressable = (_b = (_a = import_react_native.Pressable) == null ? void 0 : _a["type"]) == null ? void 0 : _b["render"];
41
- const usePressable = /* @__PURE__ */ __name((props) => {
27
+ const usePressable = (props) => {
42
28
  const out = getPressable(props);
43
- const _a2 = out.props, { children, style } = _a2, pressableProps = __objRest(_a2, ["children", "style"]);
29
+ const { children, style, ...pressableProps } = out.props;
44
30
  return [pressableProps, style];
45
- }, "usePressable");
31
+ };
46
32
  // Annotate the CommonJS export names for ESM import in node:
47
33
  0 && (module.exports = {
48
34
  usePressable
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/hooks/usePressable.tsx"],
4
4
  "sourcesContent": ["import { Pressable, PressableProps } from 'react-native'\n\nconst getPressable = Pressable?.['type']?.['render']\n\nexport const usePressable = (props: PressableProps) => {\n const out = getPressable(props)\n const { children, style, ...pressableProps } = out.props\n return [pressableProps, style] as const\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0C;AAA1C;AAEA,MAAM,eAAe,iEAAY,YAAZ,mBAAsB;AAEpC,MAAM,eAAe,wBAAC,UAA0B;AACrD,QAAM,MAAM,aAAa,KAAK;AAC9B,QAA+C,UAAI,OAA3C,YAAU,UAA6B,KAAnB,2BAAmB,KAAnB,CAApB,YAAU;AAClB,SAAO,CAAC,gBAAgB,KAAK;AAC/B,GAJ4B;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAA0C;AAA1C;AAEA,MAAM,gBAAe,gEAAY,YAAZ,mBAAsB;AAEpC,MAAM,eAAe,CAAC,UAA0B;AACrD,QAAM,MAAM,aAAa,KAAK;AAC9B,QAAM,EAAE,UAAU,UAAU,eAAe,IAAI,IAAI;AACnD,SAAO,CAAC,gBAAgB,KAAK;AAC/B;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useSafeRef_exports = {};
20
+ __export(useSafeRef_exports, {
21
+ useSafeRef: () => useSafeRef
22
+ });
23
+ module.exports = __toCommonJS(useSafeRef_exports);
24
+ var import_constants = require("@tamagui/constants");
25
+ var import_react = require("react");
26
+ const useSafeRef = (initialValue) => {
27
+ const rawRef = (0, import_react.useRef)();
28
+ const raw = rawRef.current ?? (rawRef.current = {
29
+ isRendering: true,
30
+ comittedValue: initialValue,
31
+ currentValue: initialValue,
32
+ ref: {
33
+ get current() {
34
+ if (raw.isRendering) {
35
+ return raw.currentValue;
36
+ } else {
37
+ return raw.comittedValue;
38
+ }
39
+ },
40
+ set current(v) {
41
+ if (!raw.isRendering) {
42
+ raw.comittedValue = v;
43
+ }
44
+ raw.currentValue = v;
45
+ }
46
+ }
47
+ });
48
+ raw.isRendering = true;
49
+ Promise.resolve().then(() => raw.isRendering = false);
50
+ raw.currentValue = raw.comittedValue;
51
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
52
+ raw.comittedValue = raw.currentValue;
53
+ });
54
+ return raw.ref;
55
+ };
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ useSafeRef
59
+ });
60
+ //# sourceMappingURL=useSafeRef.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useSafeRef.ts"],
4
+ "sourcesContent": ["import { useIsomorphicLayoutEffect } from '@tamagui/constants'\nimport { useRef } from 'react'\n\n// dai-shi \uD83D\uDE4F\n// https://dev.to/uhyo_/a-concurrent-mode-safe-version-of-useref-1325\n\ntype Raw<T> = {\n isRendering: boolean\n comittedValue: T\n currentValue: T\n ref: { current: T }\n}\n\nexport const useSafeRef = <T>(initialValue: T) => {\n const rawRef = useRef<Raw<T>>()\n\n const raw: Raw<T> =\n rawRef.current ??\n (rawRef.current = {\n isRendering: true,\n comittedValue: initialValue,\n currentValue: initialValue,\n ref: {\n get current() {\n if (raw.isRendering) {\n return raw.currentValue\n } else {\n return raw.comittedValue\n }\n },\n set current(v) {\n if (!raw.isRendering) {\n raw.comittedValue = v\n }\n raw.currentValue = v\n },\n },\n })\n\n raw.isRendering = true\n Promise.resolve().then(() => (raw.isRendering = false))\n raw.currentValue = raw.comittedValue\n\n useIsomorphicLayoutEffect(() => {\n raw.comittedValue = raw.currentValue\n })\n\n return raw.ref\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C;AAC1C,mBAAuB;AAYhB,MAAM,aAAa,CAAI,iBAAoB;AAChD,QAAM,aAAS,qBAAe;AAE9B,QAAM,MACJ,OAAO,YACN,OAAO,UAAU;AAAA,IAChB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,cAAc;AAAA,IACd,KAAK;AAAA,MACH,IAAI,UAAU;AACZ,YAAI,IAAI,aAAa;AACnB,iBAAO,IAAI;AAAA,QACb,OAAO;AACL,iBAAO,IAAI;AAAA,QACb;AAAA,MACF;AAAA,MACA,IAAI,QAAQ,GAAG;AACb,YAAI,CAAC,IAAI,aAAa;AACpB,cAAI,gBAAgB;AAAA,QACtB;AACA,YAAI,eAAe;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAEF,MAAI,cAAc;AAClB,UAAQ,QAAQ,EAAE,KAAK,MAAO,IAAI,cAAc,KAAM;AACtD,MAAI,eAAe,IAAI;AAEvB,kDAA0B,MAAM;AAC9B,QAAI,gBAAgB,IAAI;AAAA,EAC1B,CAAC;AAED,SAAO,IAAI;AACb;",
6
+ "names": []
7
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var useServerHooks_exports = {};
20
+ __export(useServerHooks_exports, {
21
+ useServerRef: () => useServerRef,
22
+ useServerState: () => useServerState
23
+ });
24
+ module.exports = __toCommonJS(useServerHooks_exports);
25
+ var import_constants = require("@tamagui/constants");
26
+ var import_react = require("react");
27
+ const useServerState = import_constants.isRSC ? (val) => [val, idFn] : import_react.useState;
28
+ const useServerRef = import_constants.isRSC ? (val) => ({ current: val }) : import_react.useRef;
29
+ const idFn = () => {
30
+ };
31
+ // Annotate the CommonJS export names for ESM import in node:
32
+ 0 && (module.exports = {
33
+ useServerRef,
34
+ useServerState
35
+ });
36
+ //# sourceMappingURL=useServerHooks.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useServerHooks.tsx"],
4
+ "sourcesContent": ["import { isRSC } from '@tamagui/constants'\nimport { useRef, useState } from 'react'\n\nexport const useServerState = isRSC\n ? (((val: any) => [val, idFn]) as unknown as typeof useState)\n : useState\n\nexport const useServerRef = isRSC\n ? (((val: any) => ({ current: val })) as unknown as typeof useRef)\n : useRef\n\nconst idFn = () => {}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsB;AACtB,mBAAiC;AAE1B,MAAM,iBAAiB,yBACxB,CAAC,QAAa,CAAC,KAAK,IAAI,IAC1B;AAEG,MAAM,eAAe,yBACtB,CAAC,SAAc,EAAE,SAAS,IAAI,KAChC;AAEJ,MAAM,OAAO,MAAM;AAAC;",
6
+ "names": []
7
+ }