@tamagui/core 1.0.1-beta.21 → 1.0.1-beta.210

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 (790) hide show
  1. package/dist/cjs/Tamagui.js +16 -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} +34 -21
  6. package/dist/cjs/config.js.map +7 -0
  7. package/dist/cjs/constants/constants.js +17 -24
  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/contexts/TextAncestorContext.js +30 -0
  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 +878 -509
  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 +2 -2
  29. package/dist/cjs/createTamagui.js +134 -184
  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 +51 -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} +55 -60
  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/cache.js +43 -0
  50. package/dist/cjs/helpers/cache.js.map +7 -0
  51. package/dist/cjs/helpers/calc.js +71 -0
  52. package/dist/cjs/helpers/calc.js.map +7 -0
  53. package/dist/cjs/helpers/createMediaStyle.js +26 -12
  54. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  55. package/dist/cjs/helpers/createPropMapper.js +272 -122
  56. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  57. package/dist/cjs/helpers/createProxy.js +43 -0
  58. package/dist/cjs/helpers/createProxy.js.map +7 -0
  59. package/dist/cjs/helpers/expandStyle.js +90 -0
  60. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  61. package/dist/cjs/helpers/expandStyles.js +115 -0
  62. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  63. package/dist/cjs/helpers/extendStaticConfig.js +48 -37
  64. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  65. package/dist/cjs/helpers/fixNativeShadow.js +3 -3
  66. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  67. package/dist/cjs/helpers/getAnimationDriver.js +32 -0
  68. package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
  69. package/dist/cjs/helpers/getExpandedShorthands.js +4 -5
  70. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  71. package/dist/cjs/helpers/{getTextSize.js → getFont.js} +22 -12
  72. package/dist/cjs/helpers/getFont.js.map +7 -0
  73. package/dist/cjs/helpers/getFontLanguage.js +29 -0
  74. package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
  75. package/dist/cjs/helpers/getSize.js +19 -10
  76. package/dist/cjs/helpers/getSize.js.map +2 -2
  77. package/dist/cjs/helpers/getSplitStyles.js +557 -213
  78. package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
  79. package/dist/cjs/helpers/getStackSize.js +19 -38
  80. package/dist/cjs/helpers/getStackSize.js.map +2 -2
  81. package/dist/cjs/helpers/getStylesAtomic.js +177 -131
  82. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  83. package/dist/cjs/helpers/getStylesAtomic.native.js +1 -2
  84. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  85. package/dist/cjs/helpers/getThemeCSSRules.js +103 -0
  86. package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
  87. package/dist/cjs/{nativeGestureHandler.native.js → helpers/getThemeCSSRules.native.js} +18 -5
  88. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
  89. package/dist/cjs/helpers/getVariantExtras.js +89 -0
  90. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  91. package/dist/cjs/helpers/insertStyleRule.js +94 -51
  92. package/dist/cjs/helpers/insertStyleRule.js.map +3 -3
  93. package/dist/cjs/helpers/isObj.js +2 -2
  94. package/dist/cjs/helpers/isObj.js.map +1 -1
  95. package/dist/cjs/helpers/isTamaguiComponent.js +37 -0
  96. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  97. package/dist/cjs/helpers/isTamaguiElement.js +5 -5
  98. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  99. package/dist/cjs/helpers/matchMedia.js +7 -6
  100. package/dist/cjs/helpers/matchMedia.js.map +2 -2
  101. package/dist/cjs/helpers/matchMedia.native.js +6 -3
  102. package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
  103. package/dist/cjs/helpers/mergeProps.js +54 -0
  104. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  105. package/dist/cjs/helpers/mergeTransform.js +42 -0
  106. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  107. package/dist/cjs/helpers/normalizeColor.js +80 -0
  108. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  109. package/dist/cjs/helpers/normalizeValueWithProperty.js +123 -0
  110. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  111. package/dist/cjs/helpers/proxyThemeVariables.js +4 -4
  112. package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
  113. package/dist/cjs/helpers/pseudoDescriptors.js +42 -0
  114. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  115. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  116. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  117. package/dist/cjs/helpers/{wrapThemeManagerContext.js → startTransition.js} +12 -15
  118. package/dist/cjs/helpers/startTransition.js.map +7 -0
  119. package/dist/cjs/helpers/themeable.js +17 -40
  120. package/dist/cjs/helpers/themeable.js.map +3 -3
  121. package/dist/cjs/helpers/themes.js +79 -0
  122. package/dist/cjs/helpers/themes.js.map +7 -0
  123. package/dist/cjs/helpers/useShallowSetState.js +44 -0
  124. package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
  125. package/dist/cjs/helpers/validate.js +1 -122
  126. package/dist/cjs/helpers/validate.js.map +3 -3
  127. package/dist/cjs/helpers/withStaticProperties.js +3 -3
  128. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  129. package/dist/cjs/hooks/getThemeUnwrapped.js +37 -0
  130. package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
  131. package/dist/cjs/hooks/useConstant.js +4 -2
  132. package/dist/cjs/hooks/useConstant.js.map +2 -2
  133. package/dist/cjs/hooks/useElementLayout.js +92 -0
  134. package/dist/cjs/hooks/useElementLayout.js.map +7 -0
  135. package/dist/cjs/hooks/useId.js +3 -33
  136. package/dist/cjs/hooks/useId.js.map +2 -2
  137. package/dist/cjs/hooks/useIsMounted.js +3 -4
  138. package/dist/cjs/hooks/useIsMounted.js.map +2 -2
  139. package/dist/cjs/hooks/useIsTouchDevice.js +6 -12
  140. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  141. package/dist/cjs/hooks/useMedia.js +166 -123
  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 +58 -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 +168 -134
  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 +49 -26
  154. package/dist/cjs/index.js.map +2 -2
  155. package/dist/cjs/inject-styles.js +40 -0
  156. package/dist/cjs/inject-styles.js.map +7 -0
  157. package/dist/cjs/injectStyles.js +40 -0
  158. package/dist/cjs/injectStyles.js.map +7 -0
  159. package/dist/cjs/insertFont.js +93 -0
  160. package/dist/cjs/insertFont.js.map +7 -0
  161. package/dist/cjs/react-native.js +22 -0
  162. package/dist/cjs/react-native.js.map +7 -0
  163. package/dist/cjs/setupReactNative.js +37 -0
  164. package/dist/cjs/setupReactNative.js.map +7 -0
  165. package/dist/cjs/static.js +2 -15
  166. package/dist/cjs/static.js.map +2 -2
  167. package/dist/cjs/styled.js +57 -51
  168. package/dist/cjs/styled.js.map +2 -2
  169. package/dist/cjs/types-rnw.js +1 -0
  170. package/dist/cjs/types-rnw.js.map +2 -2
  171. package/dist/cjs/types.js +1 -0
  172. package/dist/cjs/types.js.map +2 -2
  173. package/dist/cjs/updateTheme.js +47 -0
  174. package/dist/cjs/updateTheme.js.map +7 -0
  175. package/dist/cjs/vendor/Pressability.js +32 -0
  176. package/dist/cjs/vendor/Pressability.js.map +7 -0
  177. package/dist/cjs/vendor/Pressability.native.js +32 -0
  178. package/dist/cjs/vendor/Pressability.native.js.map +7 -0
  179. package/dist/cjs/views/FontLanguage.js +38 -0
  180. package/dist/cjs/views/FontLanguage.js.map +7 -0
  181. package/dist/cjs/views/FontLanguage.native.js +38 -0
  182. package/dist/cjs/views/FontLanguage.native.js.map +7 -0
  183. package/dist/cjs/{helpers/nativeGestureHandler.native.js → views/FontLanguage.types.js} +4 -5
  184. package/dist/cjs/views/FontLanguage.types.js.map +7 -0
  185. package/dist/cjs/views/Slot.js +64 -72
  186. package/dist/cjs/views/Slot.js.map +2 -2
  187. package/dist/cjs/views/Stack.js +4 -19
  188. package/dist/cjs/views/Stack.js.map +2 -2
  189. package/dist/cjs/views/TamaguiProvider.js +86 -0
  190. package/dist/cjs/views/TamaguiProvider.js.map +7 -0
  191. package/dist/cjs/views/Text.js +32 -29
  192. package/dist/cjs/views/Text.js.map +2 -2
  193. package/dist/cjs/views/Theme.js +43 -21
  194. package/dist/cjs/views/Theme.js.map +3 -3
  195. package/dist/cjs/views/ThemeInverse.js +25 -25
  196. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  197. package/dist/cjs/views/ThemeProvider.js +35 -23
  198. package/dist/cjs/views/ThemeProvider.js.map +3 -3
  199. package/dist/cjs/views/ThemeReset.js +26 -20
  200. package/dist/cjs/views/ThemeReset.js.map +3 -3
  201. package/dist/esm/Tamagui.js +11 -12
  202. package/dist/esm/Tamagui.js.map +2 -2
  203. package/dist/esm/addTheme.js +56 -0
  204. package/dist/esm/addTheme.js.map +7 -0
  205. package/dist/esm/config.js +44 -0
  206. package/dist/esm/config.js.map +7 -0
  207. package/dist/esm/constants/constants.js +12 -8
  208. package/dist/esm/constants/constants.js.map +2 -2
  209. package/dist/esm/constants/isDevTools.js +5 -0
  210. package/dist/esm/constants/isDevTools.js.map +7 -0
  211. package/dist/esm/constants/platform.js +25 -12
  212. package/dist/esm/constants/platform.js.map +2 -2
  213. package/dist/esm/constants/platform.native.js +28 -0
  214. package/dist/esm/constants/platform.native.js.map +7 -0
  215. package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
  216. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +1 -1
  217. package/dist/esm/contexts/FontLanguageContext.js +6 -0
  218. package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
  219. package/dist/esm/contexts/TextAncestorContext.js +6 -0
  220. package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
  221. package/dist/esm/{ThemeContext.js → contexts/ThemeContext.js} +0 -0
  222. package/dist/esm/contexts/ThemeContext.js.map +7 -0
  223. package/dist/esm/createComponent.js +843 -416
  224. package/dist/esm/createComponent.js.map +3 -3
  225. package/dist/esm/createFont.js +4 -9
  226. package/dist/esm/createFont.js.map +2 -2
  227. package/dist/esm/createShorthands.js +0 -3
  228. package/dist/esm/createShorthands.js.map +2 -2
  229. package/dist/esm/createTamagui.js +133 -165
  230. package/dist/esm/createTamagui.js.map +3 -3
  231. package/dist/esm/createTheme.js +3 -3
  232. package/dist/esm/createTheme.js.map +2 -2
  233. package/dist/esm/createTokens.js +3 -24
  234. package/dist/esm/createTokens.js.map +2 -2
  235. package/dist/esm/createVariable.js +46 -26
  236. package/dist/esm/createVariable.js.map +2 -2
  237. package/dist/esm/createVariables.js +28 -0
  238. package/dist/esm/createVariables.js.map +7 -0
  239. package/dist/esm/helpers/RNComponents.js +11 -8
  240. package/dist/esm/helpers/RNComponents.js.map +2 -2
  241. package/dist/esm/{ThemeManager.js → helpers/ThemeManager.js} +54 -61
  242. package/dist/esm/helpers/ThemeManager.js.map +7 -0
  243. package/dist/esm/helpers/areEqualSets.js +2 -4
  244. package/dist/esm/helpers/areEqualSets.js.map +1 -1
  245. package/dist/esm/helpers/assignNativePropsToWeb.js +164 -0
  246. package/dist/esm/helpers/assignNativePropsToWeb.js.map +7 -0
  247. package/dist/esm/helpers/assignNativePropsToWeb.native.js +6 -0
  248. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +7 -0
  249. package/dist/esm/helpers/cache.js +18 -0
  250. package/dist/esm/helpers/cache.js.map +7 -0
  251. package/dist/esm/helpers/calc.js +47 -0
  252. package/dist/esm/helpers/calc.js.map +7 -0
  253. package/dist/esm/helpers/createMediaStyle.js +25 -13
  254. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  255. package/dist/esm/helpers/createPropMapper.js +267 -123
  256. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  257. package/dist/esm/helpers/createProxy.js +19 -0
  258. package/dist/esm/helpers/createProxy.js.map +7 -0
  259. package/dist/esm/helpers/expandStyle.js +66 -0
  260. package/dist/esm/helpers/expandStyle.js.map +7 -0
  261. package/dist/esm/helpers/expandStyles.js +89 -0
  262. package/dist/esm/helpers/expandStyles.js.map +7 -0
  263. package/dist/esm/helpers/extendStaticConfig.js +34 -28
  264. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  265. package/dist/esm/helpers/fixNativeShadow.js +2 -4
  266. package/dist/esm/helpers/fixNativeShadow.js.map +1 -1
  267. package/dist/esm/helpers/getAnimationDriver.js +8 -0
  268. package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
  269. package/dist/esm/helpers/getExpandedShorthands.js +2 -5
  270. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  271. package/dist/esm/helpers/{getTextSize.js → getFont.js} +17 -9
  272. package/dist/esm/helpers/getFont.js.map +7 -0
  273. package/dist/esm/helpers/getFontLanguage.js +5 -0
  274. package/dist/esm/helpers/getFontLanguage.js.map +7 -0
  275. package/dist/esm/helpers/getSize.js +16 -10
  276. package/dist/esm/helpers/getSize.js.map +2 -2
  277. package/dist/esm/helpers/getSplitStyles.js +552 -197
  278. package/dist/esm/helpers/getSplitStyles.js.map +3 -3
  279. package/dist/esm/helpers/getStackSize.js +17 -37
  280. package/dist/esm/helpers/getStackSize.js.map +2 -2
  281. package/dist/esm/helpers/getStylesAtomic.js +174 -108
  282. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  283. package/dist/esm/helpers/getStylesAtomic.native.js +0 -3
  284. package/dist/esm/helpers/getStylesAtomic.native.js.map +1 -1
  285. package/dist/esm/helpers/getThemeCSSRules.js +79 -0
  286. package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
  287. package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
  288. package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
  289. package/dist/esm/helpers/getVariantExtras.js +64 -0
  290. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  291. package/dist/esm/helpers/insertStyleRule.js +89 -49
  292. package/dist/esm/helpers/insertStyleRule.js.map +3 -3
  293. package/dist/esm/helpers/isObj.js +1 -3
  294. package/dist/esm/helpers/isObj.js.map +1 -1
  295. package/dist/esm/helpers/isTamaguiComponent.js +13 -0
  296. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  297. package/dist/esm/helpers/isTamaguiElement.js +4 -6
  298. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  299. package/dist/esm/helpers/matchMedia.js +6 -7
  300. package/dist/esm/helpers/matchMedia.js.map +2 -2
  301. package/dist/esm/helpers/matchMedia.native.js +1 -3
  302. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  303. package/dist/esm/helpers/mergeProps.js +30 -0
  304. package/dist/esm/helpers/mergeProps.js.map +7 -0
  305. package/dist/esm/helpers/mergeTransform.js +17 -0
  306. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  307. package/dist/esm/helpers/normalizeColor.js +49 -0
  308. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  309. package/dist/esm/helpers/normalizeValueWithProperty.js +98 -0
  310. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  311. package/dist/esm/helpers/proxyThemeVariables.js +3 -5
  312. package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
  313. package/dist/esm/helpers/pseudoDescriptors.js +18 -0
  314. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  315. package/dist/esm/helpers/registerCSSVariable.js +14 -0
  316. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  317. package/dist/esm/helpers/startTransition.js +6 -0
  318. package/dist/esm/helpers/startTransition.js.map +7 -0
  319. package/dist/esm/helpers/themeable.js +11 -9
  320. package/dist/esm/helpers/themeable.js.map +2 -2
  321. package/dist/esm/helpers/themes.js +54 -0
  322. package/dist/esm/helpers/themes.js.map +7 -0
  323. package/dist/esm/helpers/useShallowSetState.js +20 -0
  324. package/dist/esm/helpers/useShallowSetState.js.map +7 -0
  325. package/dist/esm/helpers/validate.js +0 -75
  326. package/dist/esm/helpers/validate.js.map +3 -3
  327. package/dist/esm/helpers/withStaticProperties.js +2 -4
  328. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  329. package/dist/esm/hooks/getThemeUnwrapped.js +12 -0
  330. package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
  331. package/dist/esm/hooks/useConstant.js +4 -4
  332. package/dist/esm/hooks/useConstant.js.map +2 -2
  333. package/dist/esm/hooks/useElementLayout.js +66 -0
  334. package/dist/esm/hooks/useElementLayout.js.map +7 -0
  335. package/dist/esm/hooks/useId.js +1 -31
  336. package/dist/esm/hooks/useId.js.map +2 -2
  337. package/dist/esm/hooks/useIsMounted.js +1 -4
  338. package/dist/esm/hooks/useIsMounted.js.map +2 -2
  339. package/dist/esm/hooks/useIsTouchDevice.js +5 -13
  340. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  341. package/dist/esm/hooks/useMedia.js +159 -113
  342. package/dist/esm/hooks/useMedia.js.map +3 -3
  343. package/dist/esm/hooks/usePressable.js +2 -4
  344. package/dist/esm/hooks/usePressable.js.map +1 -1
  345. package/dist/esm/hooks/useSafeRef.js +34 -0
  346. package/dist/esm/hooks/useSafeRef.js.map +7 -0
  347. package/dist/esm/hooks/useServerHooks.js +11 -0
  348. package/dist/esm/hooks/useServerHooks.js.map +7 -0
  349. package/dist/esm/hooks/useTheme.js +161 -111
  350. package/dist/esm/hooks/useTheme.js.map +3 -3
  351. package/dist/esm/hooks/useUnmountEffect.js +0 -3
  352. package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
  353. package/dist/esm/index.js +44 -18
  354. package/dist/esm/index.js.map +2 -2
  355. package/dist/esm/inject-styles.js +16 -0
  356. package/dist/esm/inject-styles.js.map +7 -0
  357. package/dist/esm/injectStyles.js +16 -0
  358. package/dist/esm/injectStyles.js.map +7 -0
  359. package/dist/esm/insertFont.js +67 -0
  360. package/dist/esm/insertFont.js.map +7 -0
  361. package/dist/esm/react-native.js +3 -0
  362. package/dist/esm/react-native.js.map +7 -0
  363. package/dist/esm/setupReactNative.js +12 -0
  364. package/dist/esm/setupReactNative.js.map +7 -0
  365. package/dist/esm/static.js +1 -15
  366. package/dist/esm/static.js.map +2 -2
  367. package/dist/esm/styled.js +50 -19
  368. package/dist/esm/styled.js.map +2 -2
  369. package/dist/esm/types-rnw.js +0 -0
  370. package/dist/esm/types-rnw.js.map +0 -0
  371. package/dist/esm/types.js +0 -0
  372. package/dist/esm/types.js.map +0 -0
  373. package/dist/esm/updateTheme.js +23 -0
  374. package/dist/esm/updateTheme.js.map +7 -0
  375. package/dist/esm/vendor/Pressability.js +7 -0
  376. package/dist/esm/vendor/Pressability.js.map +7 -0
  377. package/dist/esm/vendor/Pressability.native.js +7 -0
  378. package/dist/esm/vendor/Pressability.native.js.map +7 -0
  379. package/dist/esm/views/FontLanguage.js +14 -0
  380. package/dist/esm/views/FontLanguage.js.map +7 -0
  381. package/dist/esm/views/FontLanguage.native.js +14 -0
  382. package/dist/esm/views/FontLanguage.native.js.map +7 -0
  383. package/dist/esm/views/FontLanguage.types.js +1 -0
  384. package/dist/{cjs/defaultComponentState.js.map → esm/views/FontLanguage.types.js.map} +0 -0
  385. package/dist/esm/views/Slot.js +55 -37
  386. package/dist/esm/views/Slot.js.map +2 -2
  387. package/dist/esm/views/Stack.js +0 -0
  388. package/dist/esm/views/Stack.js.map +2 -2
  389. package/dist/esm/views/TamaguiProvider.js +56 -0
  390. package/dist/esm/views/TamaguiProvider.js.map +7 -0
  391. package/dist/esm/views/Text.js +17 -5
  392. package/dist/esm/views/Text.js.map +2 -2
  393. package/dist/esm/views/Theme.js +35 -19
  394. package/dist/esm/views/Theme.js.map +3 -3
  395. package/dist/esm/views/ThemeInverse.js +22 -20
  396. package/dist/esm/views/ThemeInverse.js.map +2 -2
  397. package/dist/esm/views/ThemeProvider.js +28 -21
  398. package/dist/esm/views/ThemeProvider.js.map +2 -2
  399. package/dist/esm/views/ThemeReset.js +21 -20
  400. package/dist/esm/views/ThemeReset.js.map +2 -2
  401. package/package.json +52 -16
  402. package/reset.css +25 -4
  403. package/src/Tamagui.ts +48 -0
  404. package/src/addTheme.ts +68 -0
  405. package/src/config.ts +44 -0
  406. package/src/constants/constants.ts +19 -0
  407. package/src/constants/isDevTools.ts +6 -0
  408. package/src/contexts/ButtonInsideButtonContext.tsx +3 -0
  409. package/src/contexts/FontLanguageContext.tsx +5 -0
  410. package/src/contexts/TextAncestorContext.tsx +3 -0
  411. package/src/contexts/ThemeContext.tsx +5 -0
  412. package/src/createComponent.tsx +1460 -0
  413. package/src/createFont.ts +29 -0
  414. package/src/createShorthands.ts +7 -0
  415. package/src/createTamagui.ts +225 -0
  416. package/src/createTheme.ts +13 -0
  417. package/src/createTokens.ts +35 -0
  418. package/src/createVariable.ts +83 -0
  419. package/src/createVariables.ts +42 -0
  420. package/src/helpers/RNComponents.tsx +14 -0
  421. package/src/helpers/ThemeManager.tsx +227 -0
  422. package/src/helpers/areEqualSets.tsx +9 -0
  423. package/src/helpers/cache.ts +18 -0
  424. package/src/helpers/createMediaStyle.ts +55 -0
  425. package/src/helpers/createPropMapper.ts +526 -0
  426. package/src/helpers/createProxy.ts +16 -0
  427. package/src/helpers/expandStyle.ts +81 -0
  428. package/src/helpers/expandStyles.ts +106 -0
  429. package/src/helpers/extendStaticConfig.ts +75 -0
  430. package/src/helpers/fixNativeShadow.tsx +2 -0
  431. package/src/helpers/getAnimationDriver.tsx +5 -0
  432. package/src/helpers/getExpandedShorthands.ts +15 -0
  433. package/src/helpers/getFontLanguage.ts +2 -0
  434. package/src/helpers/getSize.ts +22 -0
  435. package/src/helpers/getSplitStyles.tsx +901 -0
  436. package/src/helpers/getStylesAtomic.native.ts +3 -0
  437. package/src/helpers/getStylesAtomic.ts +272 -0
  438. package/src/helpers/getThemeCSSRules.native.ts +3 -0
  439. package/src/helpers/getThemeCSSRules.ts +105 -0
  440. package/src/helpers/getVariantExtras.tsx +85 -0
  441. package/src/helpers/insertStyleRule.tsx +163 -0
  442. package/src/helpers/isObj.ts +1 -0
  443. package/src/helpers/isTamaguiComponent.tsx +15 -0
  444. package/src/helpers/isTamaguiElement.tsx +12 -0
  445. package/src/helpers/matchMedia.native.ts +6 -0
  446. package/src/helpers/matchMedia.ts +17 -0
  447. package/src/helpers/mergeProps.ts +56 -0
  448. package/src/helpers/mergeTransform.ts +16 -0
  449. package/src/helpers/normalizeColor.ts +53 -0
  450. package/src/helpers/normalizeValueWithProperty.ts +110 -0
  451. package/src/helpers/proxyThemeVariables.tsx +15 -0
  452. package/src/helpers/pseudoDescriptors.ts +18 -0
  453. package/src/helpers/registerCSSVariable.ts +11 -0
  454. package/src/helpers/themeable.tsx +40 -0
  455. package/src/helpers/themes.ts +69 -0
  456. package/src/helpers/useShallowSetState.tsx +19 -0
  457. package/src/helpers/withStaticProperties.tsx +7 -0
  458. package/src/hooks/getThemeUnwrapped.tsx +7 -0
  459. package/src/hooks/useElementLayout.tsx +90 -0
  460. package/src/hooks/useId.tsx +1 -0
  461. package/src/hooks/useIsTouchDevice.tsx +6 -0
  462. package/src/hooks/useMedia.tsx +265 -0
  463. package/src/hooks/useSafeRef.ts +48 -0
  464. package/src/hooks/useServerHooks.tsx +12 -0
  465. package/src/hooks/useTheme.tsx +300 -0
  466. package/src/index.ts +74 -0
  467. package/src/inject-styles.ts +20 -0
  468. package/src/insertFont.ts +70 -0
  469. package/src/setupReactNative.ts +9 -0
  470. package/src/static.ts +5 -0
  471. package/src/styled.tsx +204 -0
  472. package/src/types-rnw.tsx +162 -0
  473. package/src/types.tsx +1327 -0
  474. package/src/updateTheme.ts +23 -0
  475. package/src/vendor/Pressability.native.tsx +3 -0
  476. package/src/vendor/Pressability.tsx +2 -0
  477. package/src/views/FontLanguage.native.tsx +10 -0
  478. package/src/views/FontLanguage.tsx +18 -0
  479. package/src/views/FontLanguage.types.ts +13 -0
  480. package/src/views/Slot.tsx +147 -0
  481. package/src/views/Stack.tsx +24 -0
  482. package/src/views/TamaguiProvider.tsx +60 -0
  483. package/src/views/Text.tsx +86 -0
  484. package/src/views/Theme.tsx +72 -0
  485. package/src/views/ThemeInverse.tsx +33 -0
  486. package/src/views/ThemeProvider.tsx +63 -0
  487. package/src/views/ThemeReset.tsx +43 -0
  488. package/types/Tamagui.d.ts +11 -11
  489. package/types/addTheme.d.ts +11 -0
  490. package/types/config.d.ts +47 -0
  491. package/types/constants/constants.d.ts +15 -4
  492. package/types/constants/isDevTools.d.ts +2 -0
  493. package/types/constants/platform.d.ts +7 -6
  494. package/types/constants/platform.native.d.ts +13 -0
  495. package/types/contexts/FontLanguageContext.d.ts +5 -0
  496. package/types/contexts/TextAncestorContext.d.ts +3 -0
  497. package/types/{ThemeContext.d.ts → contexts/ThemeContext.d.ts} +1 -1
  498. package/types/createComponent.d.ts +16 -14
  499. package/types/createShorthands.d.ts +2 -1
  500. package/types/createTamagui.d.ts +2 -17
  501. package/types/createTheme.d.ts +1 -1
  502. package/types/createTokens.d.ts +5 -6
  503. package/types/createVariable.d.ts +24 -12
  504. package/types/createVariables.d.ts +10 -0
  505. package/types/helpers/RNComponents.d.ts +1 -1
  506. package/types/helpers/ThemeManager.d.ts +45 -0
  507. package/types/helpers/assignNativePropsToWeb.d.ts +2 -0
  508. package/types/helpers/assignNativePropsToWeb.native.d.ts +2 -0
  509. package/types/helpers/cache.d.ts +12 -0
  510. package/types/helpers/calc.d.ts +1 -0
  511. package/types/helpers/createMediaStyle.d.ts +2 -4
  512. package/types/helpers/createPropMapper.d.ts +6 -3
  513. package/types/helpers/createProxy.d.ts +2 -0
  514. package/types/helpers/expandStyle.d.ts +6 -0
  515. package/types/helpers/expandStyles.d.ts +26 -0
  516. package/types/helpers/getAnimationDriver.d.ts +6 -0
  517. package/types/helpers/getFont.d.ts +3 -0
  518. package/types/helpers/getFontLanguage.d.ts +2 -0
  519. package/types/helpers/getSize.d.ts +3 -2
  520. package/types/helpers/getSplitStyles.d.ts +15 -12
  521. package/types/helpers/getStackSize.d.ts +6 -30
  522. package/types/helpers/getStylesAtomic.d.ts +14 -23
  523. package/types/helpers/getThemeCSSRules.d.ts +8 -0
  524. package/types/helpers/getThemeCSSRules.native.d.ts +2 -0
  525. package/types/helpers/getVariantExtras.d.ts +5 -0
  526. package/types/helpers/insertStyleRule.d.ts +8 -4
  527. package/types/helpers/isTamaguiComponent.d.ts +5 -0
  528. package/types/helpers/isTamaguiElement.d.ts +5 -1
  529. package/types/helpers/matchMedia.d.ts +1 -1
  530. package/types/helpers/mergeProps.d.ts +17 -0
  531. package/types/helpers/mergeTransform.d.ts +7 -0
  532. package/types/helpers/normalizeColor.d.ts +3 -0
  533. package/types/helpers/normalizeValueWithProperty.d.ts +7 -0
  534. package/types/helpers/pseudoDescriptors.d.ts +16 -0
  535. package/types/helpers/registerCSSVariable.d.ts +5 -0
  536. package/types/helpers/startTransition.d.ts +3 -0
  537. package/types/helpers/themeable.d.ts +4 -7
  538. package/types/helpers/themes.d.ts +4 -0
  539. package/types/helpers/useShallowSetState.d.ts +3 -0
  540. package/types/helpers/validate.d.ts +0 -3
  541. package/types/hooks/getThemeUnwrapped.d.ts +3 -0
  542. package/types/hooks/useElementLayout.d.ts +27 -0
  543. package/types/hooks/useId.d.ts +1 -8
  544. package/types/hooks/useMedia.d.ts +22 -6
  545. package/types/hooks/useMedia.test.d.ts +1 -0
  546. package/types/hooks/usePressablePressResponder.d.ts +84 -0
  547. package/types/hooks/useSafeRef.d.ts +4 -0
  548. package/types/hooks/useServerHooks.d.ts +4 -0
  549. package/types/hooks/useTheme.d.ts +22 -32
  550. package/types/index.d.ts +25 -14
  551. package/types/inject-styles.d.ts +7 -0
  552. package/types/injectStyles.d.ts +7 -0
  553. package/types/insertFont.d.ts +9 -0
  554. package/types/react-native.d.ts +8 -0
  555. package/types/setupReactNative.d.ts +3 -0
  556. package/types/static.d.ts +1 -15
  557. package/types/styled.d.ts +7 -3
  558. package/types/types.d.ts +314 -108
  559. package/types/updateTheme.d.ts +9 -0
  560. package/types/vendor/Pressability.d.ts +3 -0
  561. package/types/vendor/Pressability.native.d.ts +3 -0
  562. package/types/views/AbsoluteFill.d.ts +5 -0
  563. package/types/views/AbsoluteFill.native.d.ts +3 -0
  564. package/types/views/FontLanguage.d.ts +4 -0
  565. package/types/views/FontLanguage.native.d.ts +4 -0
  566. package/types/views/FontLanguage.types.d.ts +11 -0
  567. package/types/views/Slot.d.ts +5 -4
  568. package/types/views/Stack.d.ts +1 -1
  569. package/types/views/TamaguiProvider.d.ts +4 -0
  570. package/types/views/Text.d.ts +1 -1
  571. package/types/views/Theme.d.ts +3 -9
  572. package/types/views/ThemeInverse.d.ts +4 -8
  573. package/types/views/ThemeProvider.d.ts +2 -1
  574. package/dist/cjs/ThemeContext.js.map +0 -7
  575. package/dist/cjs/ThemeManager.js.map +0 -7
  576. package/dist/cjs/conf.js.map +0 -7
  577. package/dist/cjs/constants/rnw.js +0 -46
  578. package/dist/cjs/constants/rnw.js.map +0 -7
  579. package/dist/cjs/defaultComponentState.js +0 -1
  580. package/dist/cjs/helpers/addStylesUsingClassname.js +0 -87
  581. package/dist/cjs/helpers/addStylesUsingClassname.js.map +0 -7
  582. package/dist/cjs/helpers/createShallowUpdate.js +0 -55
  583. package/dist/cjs/helpers/createShallowUpdate.js.map +0 -7
  584. package/dist/cjs/helpers/createTamaguiProvider.js +0 -93
  585. package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -7
  586. package/dist/cjs/helpers/fixNativeShadow.native.js +0 -53
  587. package/dist/cjs/helpers/fixNativeShadow.native.js.map +0 -7
  588. package/dist/cjs/helpers/getButtonSize.js +0 -45
  589. package/dist/cjs/helpers/getButtonSize.js.map +0 -7
  590. package/dist/cjs/helpers/getTextSize.js.map +0 -7
  591. package/dist/cjs/helpers/nativeGestureHandler.js.map +0 -7
  592. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +0 -7
  593. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +0 -7
  594. package/dist/cjs/hooks/useFeatures.js +0 -228
  595. package/dist/cjs/hooks/useFeatures.js.map +0 -7
  596. package/dist/cjs/hooks/usePrevious.js +0 -1
  597. package/dist/cjs/hooks/usePrevious.js.map +0 -7
  598. package/dist/cjs/nativeGestureHandler.native.js.map +0 -7
  599. package/dist/cjs/views/TextAncestorContext.js +0 -45
  600. package/dist/cjs/views/TextAncestorContext.js.map +0 -7
  601. package/dist/esm/ThemeContext.js.map +0 -7
  602. package/dist/esm/ThemeManager.js.map +0 -7
  603. package/dist/esm/conf.js +0 -36
  604. package/dist/esm/conf.js.map +0 -7
  605. package/dist/esm/constants/rnw.js +0 -24
  606. package/dist/esm/constants/rnw.js.map +0 -7
  607. package/dist/esm/defaultComponentState.js +0 -1
  608. package/dist/esm/defaultComponentState.js.map +0 -7
  609. package/dist/esm/helpers/addStylesUsingClassname.js +0 -64
  610. package/dist/esm/helpers/addStylesUsingClassname.js.map +0 -7
  611. package/dist/esm/helpers/createShallowUpdate.js +0 -19
  612. package/dist/esm/helpers/createShallowUpdate.js.map +0 -7
  613. package/dist/esm/helpers/createTamaguiProvider.js +0 -40
  614. package/dist/esm/helpers/createTamaguiProvider.js.map +0 -7
  615. package/dist/esm/helpers/fixNativeShadow.native.js +0 -32
  616. package/dist/esm/helpers/fixNativeShadow.native.js.map +0 -7
  617. package/dist/esm/helpers/getButtonSize.js +0 -24
  618. package/dist/esm/helpers/getButtonSize.js.map +0 -7
  619. package/dist/esm/helpers/getTextSize.js.map +0 -7
  620. package/dist/esm/helpers/nativeGestureHandler.js +0 -7
  621. package/dist/esm/helpers/nativeGestureHandler.js.map +0 -7
  622. package/dist/esm/helpers/nativeGestureHandler.native.js +0 -2
  623. package/dist/esm/helpers/nativeGestureHandler.native.js.map +0 -7
  624. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -14
  625. package/dist/esm/helpers/wrapThemeManagerContext.js.map +0 -7
  626. package/dist/esm/hooks/useFeatures.js +0 -173
  627. package/dist/esm/hooks/useFeatures.js.map +0 -7
  628. package/dist/esm/hooks/usePrevious.js +0 -1
  629. package/dist/esm/hooks/usePrevious.js.map +0 -7
  630. package/dist/esm/nativeGestureHandler.native.js +0 -2
  631. package/dist/esm/nativeGestureHandler.native.js.map +0 -7
  632. package/dist/esm/views/TextAncestorContext.js +0 -18
  633. package/dist/esm/views/TextAncestorContext.js.map +0 -7
  634. package/dist/jsx/Tamagui.js +0 -41
  635. package/dist/jsx/ThemeContext.js +0 -5
  636. package/dist/jsx/ThemeManager.js +0 -186
  637. package/dist/jsx/conf.js +0 -35
  638. package/dist/jsx/constants/constants.js +0 -17
  639. package/dist/jsx/constants/platform.js +0 -25
  640. package/dist/jsx/constants/rnw.js +0 -23
  641. package/dist/jsx/contexts/ButtonInsideButtonContext.js +0 -5
  642. package/dist/jsx/createComponent.js +0 -636
  643. package/dist/jsx/createFont.js +0 -27
  644. package/dist/jsx/createShorthands.js +0 -9
  645. package/dist/jsx/createTamagui.js +0 -201
  646. package/dist/jsx/createTheme.js +0 -6
  647. package/dist/jsx/createTokens.js +0 -28
  648. package/dist/jsx/createVariable.js +0 -48
  649. package/dist/jsx/defaultComponentState.js +0 -0
  650. package/dist/jsx/helpers/RNComponents.js +0 -11
  651. package/dist/jsx/helpers/addStylesUsingClassname.js +0 -63
  652. package/dist/jsx/helpers/areEqualSets.js +0 -15
  653. package/dist/jsx/helpers/createMediaStyle.js +0 -30
  654. package/dist/jsx/helpers/createPropMapper.js +0 -237
  655. package/dist/jsx/helpers/createShallowUpdate.js +0 -18
  656. package/dist/jsx/helpers/createTamaguiProvider.js +0 -34
  657. package/dist/jsx/helpers/extendStaticConfig.js +0 -61
  658. package/dist/jsx/helpers/fixNativeShadow.js +0 -7
  659. package/dist/jsx/helpers/fixNativeShadow.native.js +0 -31
  660. package/dist/jsx/helpers/getButtonSize.js +0 -23
  661. package/dist/jsx/helpers/getExpandedShorthands.js +0 -18
  662. package/dist/jsx/helpers/getSize.js +0 -12
  663. package/dist/jsx/helpers/getSplitStyles.js +0 -322
  664. package/dist/jsx/helpers/getStackSize.js +0 -41
  665. package/dist/jsx/helpers/getStylesAtomic.js +0 -130
  666. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -9
  667. package/dist/jsx/helpers/getTextSize.js +0 -33
  668. package/dist/jsx/helpers/insertStyleRule.js +0 -94
  669. package/dist/jsx/helpers/isObj.js +0 -6
  670. package/dist/jsx/helpers/isTamaguiElement.js +0 -10
  671. package/dist/jsx/helpers/matchMedia.js +0 -17
  672. package/dist/jsx/helpers/matchMedia.native.js +0 -8
  673. package/dist/jsx/helpers/nativeGestureHandler.js +0 -6
  674. package/dist/jsx/helpers/nativeGestureHandler.native.js +0 -1
  675. package/dist/jsx/helpers/proxyThemeVariables.js +0 -17
  676. package/dist/jsx/helpers/themeable.js +0 -24
  677. package/dist/jsx/helpers/validate.js +0 -75
  678. package/dist/jsx/helpers/withStaticProperties.js +0 -9
  679. package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -10
  680. package/dist/jsx/hooks/useConstant.js +0 -14
  681. package/dist/jsx/hooks/useFeatures.js +0 -167
  682. package/dist/jsx/hooks/useId.js +0 -34
  683. package/dist/jsx/hooks/useIsMounted.js +0 -18
  684. package/dist/jsx/hooks/useIsTouchDevice.js +0 -16
  685. package/dist/jsx/hooks/useMedia.js +0 -158
  686. package/dist/jsx/hooks/usePressable.js +0 -13
  687. package/dist/jsx/hooks/usePrevious.js +0 -0
  688. package/dist/jsx/hooks/useTheme.js +0 -177
  689. package/dist/jsx/hooks/useUnmountEffect.js +0 -10
  690. package/dist/jsx/index.js +0 -54
  691. package/dist/jsx/nativeGestureHandler.native.js +0 -1
  692. package/dist/jsx/static.js +0 -16
  693. package/dist/jsx/styled.js +0 -47
  694. package/dist/jsx/types-rnw.js +0 -0
  695. package/dist/jsx/types.js +0 -0
  696. package/dist/jsx/views/Slot.js +0 -75
  697. package/dist/jsx/views/Stack.js +0 -12
  698. package/dist/jsx/views/Text.js +0 -56
  699. package/dist/jsx/views/TextAncestorContext.js +0 -15
  700. package/dist/jsx/views/Theme.js +0 -31
  701. package/dist/jsx/views/ThemeInverse.js +0 -27
  702. package/dist/jsx/views/ThemeProvider.js +0 -35
  703. package/dist/jsx/views/ThemeReset.js +0 -34
  704. package/types/Tamagui.d.ts.map +0 -1
  705. package/types/ThemeContext.d.ts.map +0 -1
  706. package/types/ThemeManager.d.ts +0 -49
  707. package/types/ThemeManager.d.ts.map +0 -1
  708. package/types/conf.d.ts +0 -27
  709. package/types/conf.d.ts.map +0 -1
  710. package/types/constants/constants.d.ts.map +0 -1
  711. package/types/constants/platform.d.ts.map +0 -1
  712. package/types/constants/rnw.d.ts +0 -2
  713. package/types/constants/rnw.d.ts.map +0 -1
  714. package/types/contexts/ButtonInsideButtonContext.d.ts.map +0 -1
  715. package/types/createComponent.d.ts.map +0 -1
  716. package/types/createFont.d.ts.map +0 -1
  717. package/types/createShorthands.d.ts.map +0 -1
  718. package/types/createTamagui.d.ts.map +0 -1
  719. package/types/createTheme.d.ts.map +0 -1
  720. package/types/createTokens.d.ts.map +0 -1
  721. package/types/createVariable.d.ts.map +0 -1
  722. package/types/defaultComponentState.d.ts +0 -1
  723. package/types/defaultComponentState.d.ts.map +0 -1
  724. package/types/helpers/RNComponents.d.ts.map +0 -1
  725. package/types/helpers/addStylesUsingClassname.d.ts +0 -3
  726. package/types/helpers/addStylesUsingClassname.d.ts.map +0 -1
  727. package/types/helpers/areEqualSets.d.ts.map +0 -1
  728. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  729. package/types/helpers/createPropMapper.d.ts.map +0 -1
  730. package/types/helpers/createShallowUpdate.d.ts +0 -4
  731. package/types/helpers/createShallowUpdate.d.ts.map +0 -1
  732. package/types/helpers/createTamaguiProvider.d.ts +0 -7
  733. package/types/helpers/createTamaguiProvider.d.ts.map +0 -1
  734. package/types/helpers/extendStaticConfig.d.ts.map +0 -1
  735. package/types/helpers/fixNativeShadow.d.ts.map +0 -1
  736. package/types/helpers/fixNativeShadow.native.d.ts +0 -3
  737. package/types/helpers/fixNativeShadow.native.d.ts.map +0 -1
  738. package/types/helpers/getButtonSize.d.ts +0 -8
  739. package/types/helpers/getButtonSize.d.ts.map +0 -1
  740. package/types/helpers/getExpandedShorthands.d.ts.map +0 -1
  741. package/types/helpers/getSize.d.ts.map +0 -1
  742. package/types/helpers/getSplitStyles.d.ts.map +0 -1
  743. package/types/helpers/getStackSize.d.ts.map +0 -1
  744. package/types/helpers/getStylesAtomic.d.ts.map +0 -1
  745. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  746. package/types/helpers/getTextSize.d.ts +0 -3
  747. package/types/helpers/getTextSize.d.ts.map +0 -1
  748. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  749. package/types/helpers/isObj.d.ts.map +0 -1
  750. package/types/helpers/isTamaguiElement.d.ts.map +0 -1
  751. package/types/helpers/matchMedia.d.ts.map +0 -1
  752. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  753. package/types/helpers/nativeGestureHandler.d.ts +0 -2
  754. package/types/helpers/nativeGestureHandler.d.ts.map +0 -1
  755. package/types/helpers/nativeGestureHandler.native.d.ts +0 -2
  756. package/types/helpers/nativeGestureHandler.native.d.ts.map +0 -1
  757. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  758. package/types/helpers/themeable.d.ts.map +0 -1
  759. package/types/helpers/validate.d.ts.map +0 -1
  760. package/types/helpers/withStaticProperties.d.ts.map +0 -1
  761. package/types/helpers/wrapThemeManagerContext.d.ts +0 -3
  762. package/types/helpers/wrapThemeManagerContext.d.ts.map +0 -1
  763. package/types/hooks/useConstant.d.ts.map +0 -1
  764. package/types/hooks/useFeatures.d.ts +0 -18
  765. package/types/hooks/useFeatures.d.ts.map +0 -1
  766. package/types/hooks/useId.d.ts.map +0 -1
  767. package/types/hooks/useIsMounted.d.ts.map +0 -1
  768. package/types/hooks/useIsTouchDevice.d.ts.map +0 -1
  769. package/types/hooks/useMedia.d.ts.map +0 -1
  770. package/types/hooks/usePressable.d.ts.map +0 -1
  771. package/types/hooks/usePrevious.d.ts +0 -1
  772. package/types/hooks/usePrevious.d.ts.map +0 -1
  773. package/types/hooks/useTheme.d.ts.map +0 -1
  774. package/types/hooks/useUnmountEffect.d.ts.map +0 -1
  775. package/types/index.d.ts.map +0 -1
  776. package/types/nativeGestureHandler.native.d.ts +0 -2
  777. package/types/nativeGestureHandler.native.d.ts.map +0 -1
  778. package/types/static.d.ts.map +0 -1
  779. package/types/styled.d.ts.map +0 -1
  780. package/types/types-rnw.d.ts.map +0 -1
  781. package/types/types.d.ts.map +0 -1
  782. package/types/views/Slot.d.ts.map +0 -1
  783. package/types/views/Stack.d.ts.map +0 -1
  784. package/types/views/Text.d.ts.map +0 -1
  785. package/types/views/TextAncestorContext.d.ts +0 -5
  786. package/types/views/TextAncestorContext.d.ts.map +0 -1
  787. package/types/views/Theme.d.ts.map +0 -1
  788. package/types/views/ThemeInverse.d.ts.map +0 -1
  789. package/types/views/ThemeProvider.d.ts.map +0 -1
  790. 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,193 @@ var useMedia_exports = {};
34
20
  __export(useMedia_exports, {
35
21
  addMediaQueryListener: () => addMediaQueryListener,
36
22
  configureMedia: () => configureMedia,
23
+ getInitialMediaState: () => getInitialMediaState,
37
24
  getMedia: () => getMedia,
25
+ getMediaKeyImportance: () => getMediaKeyImportance,
38
26
  mediaObjectToString: () => mediaObjectToString,
39
27
  mediaQueryConfig: () => mediaQueryConfig,
40
28
  mediaState: () => mediaState,
29
+ mergeMediaByImportance: () => mergeMediaByImportance,
41
30
  removeMediaQueryListener: () => removeMediaQueryListener,
42
- useMedia: () => useMedia
31
+ useMedia: () => useMedia,
32
+ useMediaListeners: () => useMediaListeners,
33
+ useMediaPropsActive: () => useMediaPropsActive
43
34
  });
44
35
  module.exports = __toCommonJS(useMedia_exports);
45
- var import_use_force_update = require("@tamagui/use-force-update");
36
+ var import_constants = require("@tamagui/constants");
46
37
  var import_react = require("react");
47
- var import_platform = require("../constants/platform");
38
+ var import_config = require("../config");
39
+ var import_createProxy = require("../helpers/createProxy");
48
40
  var import_matchMedia = require("../helpers/matchMedia");
49
- var import_useConstant = require("./useConstant");
50
- const mediaState = {};
51
- const mediaQueryListeners = {};
52
- const addMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
53
- mediaQueryListeners[key] = mediaQueryListeners[key] || /* @__PURE__ */ new Set();
54
- mediaQueryListeners[key].add(cb);
55
- }, "addMediaQueryListener");
56
- const removeMediaQueryListener = /* @__PURE__ */ __name((key, cb) => {
41
+ var import_useSafeRef = require("./useSafeRef");
42
+ const mediaState = process.env.NODE_ENV === "development" ? (0, import_createProxy.createProxy)(
43
+ {},
44
+ {
45
+ get(target, key) {
46
+ if (typeof key === "string" && key[0] === "$" && key[1] !== "$") {
47
+ throw new Error(`Access mediaState should not use "$": ${key}`);
48
+ }
49
+ return Reflect.get(target, key);
50
+ }
51
+ }
52
+ ) : {};
53
+ const listeners = {};
54
+ function addMediaQueryListener(key, cb) {
55
+ if (process.env.NODE_ENV === "development" && key[0] === "$") {
56
+ console.warn(`Warning, listening to media queries shouldn't use the "$" prefix`);
57
+ }
58
+ listeners[key] = listeners[key] || /* @__PURE__ */ new Set();
59
+ listeners[key].add(cb);
60
+ return () => removeMediaQueryListener(key, cb);
61
+ }
62
+ function removeMediaQueryListener(key, cb) {
57
63
  var _a;
58
- (_a = mediaQueryListeners[key]) == null ? void 0 : _a.delete(cb);
59
- }, "removeMediaQueryListener");
60
- let hasConfigured = false;
64
+ (_a = listeners[key]) == null ? void 0 : _a.delete(cb);
65
+ }
61
66
  const mediaQueryConfig = {};
62
- const getMedia = /* @__PURE__ */ __name(() => {
67
+ const getMedia = () => {
63
68
  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())`);
69
+ };
70
+ let curState;
71
+ let initState;
72
+ const getInitialMediaState = () => {
73
+ return ((0, import_config.getConfig)().disableSSR ? curState : initState) || {};
74
+ };
75
+ let mediaKeysOrdered;
76
+ const getMediaKeyImportance = (key) => mediaKeysOrdered.indexOf(key[0] === "$" ? key.slice(1) : key) + 2;
77
+ const dispose = /* @__PURE__ */ new Set();
78
+ const configureMedia = (config) => {
79
+ const { media, mediaQueryDefaultActive } = config;
80
+ if (!media)
81
+ return;
82
+ for (const key in media) {
83
+ mediaState[key] = (mediaQueryDefaultActive == null ? void 0 : mediaQueryDefaultActive[key]) || false;
71
84
  }
72
- if (queries) {
73
- Object.assign(mediaQueryConfig, queries);
74
- hasConfigured = true;
85
+ Object.assign(mediaQueryConfig, media);
86
+ curState = { ...mediaState };
87
+ initState = curState;
88
+ mediaKeysOrdered = Object.keys(media);
89
+ if (config.disableSSR) {
90
+ setupMediaListeners();
75
91
  }
76
- for (const key in queries) {
77
- const str = mediaObjectToString(queries[key]);
78
- const propKey = `$${key}`;
79
- try {
80
- let update = function() {
81
- const next = !!getMatch().matches;
82
- if (next === mediaState[propKey])
83
- return;
84
- mediaState[propKey] = next;
85
- const listeners = mediaQueryListeners[propKey];
86
- if (listeners == null ? void 0 : listeners.size) {
87
- for (const cb of [...listeners]) {
88
- cb();
89
- }
90
- }
91
- };
92
- __name(update, "update");
93
- const getMatch = /* @__PURE__ */ __name(() => (0, import_matchMedia.matchMedia)(str), "getMatch");
94
- const match = getMatch();
95
- if (!match || typeof match.addListener !== "function") {
96
- throw new Error("\u26A0\uFE0F No match (seeing this in RN sometimes)");
97
- }
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;
105
- }
92
+ };
93
+ function unlisten() {
94
+ dispose.forEach((cb) => cb());
95
+ dispose.clear();
96
+ }
97
+ let configuredKey = "";
98
+ function setupMediaListeners() {
99
+ const nextKey = JSON.stringify(mediaQueryConfig);
100
+ if (nextKey === configuredKey) {
101
+ return;
106
102
  }
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
103
+ configuredKey = nextKey;
104
+ unlisten();
105
+ for (const key in mediaQueryConfig) {
106
+ let update2 = function() {
107
+ const next = !!getMatch().matches;
108
+ if (next === mediaState[key])
109
+ return;
110
+ mediaState[key] = next;
111
+ curState = { ...mediaState };
112
+ const cur = listeners[key];
113
+ if (cur == null ? void 0 : cur.size) {
114
+ cur.forEach((cb) => cb(next));
115
+ }
117
116
  };
117
+ var update = update2;
118
+ const str = mediaObjectToString(mediaQueryConfig[key]);
119
+ const getMatch = () => (0, import_matchMedia.matchMedia)(str);
120
+ const match = getMatch();
121
+ if (!match) {
122
+ throw new Error("\u26A0\uFE0F No match");
123
+ }
124
+ match.addListener(update2);
125
+ dispose.add(() => match.removeListener(update2));
126
+ update2();
118
127
  }
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);
128
+ }
129
+ function useMediaListeners(config) {
130
+ if (config.disableSSR)
131
+ return;
132
+ (0, import_react.useEffect)(() => {
133
+ setupMediaListeners();
134
+ return unlisten;
135
+ }, []);
136
+ }
137
+ function useMedia() {
138
+ const keys = (0, import_useSafeRef.useSafeRef)({});
139
+ const [state, setState] = (0, import_react.useState)(() => getMediaState(initState || {}, keys));
140
+ function updateState() {
141
+ setState((prev) => {
142
+ for (const key in keys.current) {
143
+ if (prev[key] !== mediaState[key]) {
144
+ return getMediaState({ ...mediaState }, keys);
145
+ }
126
146
  }
127
- }
128
- for (const key in st.nextSelections) {
129
- if (!(key in st.selections)) {
130
- addMediaQueryListener(key, forceUpdate);
147
+ return prev;
148
+ });
149
+ }
150
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
151
+ updateState();
152
+ const disposers = Object.keys(keys.current).map(
153
+ (key) => addMediaQueryListener(key, updateState)
154
+ );
155
+ return () => {
156
+ disposers.forEach((cb) => cb());
157
+ };
158
+ }, [keys.current]);
159
+ return state;
160
+ }
161
+ function getMediaState(state, keys) {
162
+ return new Proxy(state, {
163
+ get(_, key) {
164
+ if (!keys.current[key]) {
165
+ keys.current[key] = true;
131
166
  }
167
+ return Reflect.get(state, key);
132
168
  }
133
169
  });
134
- (0, import_platform.useIsomorphicLayoutEffect)(() => {
135
- 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
- }
142
- };
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}`;
150
- }
151
- if (!(key in mediaState)) {
152
- return Reflect.get(target, key);
170
+ }
171
+ function useMediaPropsActive(props) {
172
+ const media = useMedia();
173
+ return (0, import_react.useMemo)(() => {
174
+ const next = {};
175
+ const importancesUsed = {};
176
+ const propNames = Object.keys(props);
177
+ for (let i = propNames.length - 1; i >= 0; i--) {
178
+ const key = propNames[i];
179
+ const val = props[key];
180
+ if (key[0] === "$") {
181
+ if (!media[key.slice(1)]) {
182
+ continue;
153
183
  }
154
- if (!st.isUnmounted) {
155
- if (st.isRendering) {
156
- st.nextSelections[key] = true;
184
+ if (val && typeof val === "object") {
185
+ const subKeys = Object.keys(val);
186
+ for (let j = subKeys.length; j--; j >= 0) {
187
+ const subKey = subKeys[j];
188
+ mergeMediaByImportance(next, subKey, val[subKey], importancesUsed);
157
189
  }
158
190
  }
159
- if (key in mediaState) {
160
- return mediaState[key];
161
- }
162
- return Reflect.get(mediaState, key);
191
+ } else {
192
+ mergeMediaByImportance(next, key, val, importancesUsed);
163
193
  }
164
- });
165
- });
166
- }, "useMedia");
194
+ }
195
+ return next;
196
+ }, [media, props]);
197
+ }
198
+ function mergeMediaByImportance(onto, key, value, importancesUsed) {
199
+ const importance = getMediaKeyImportance(key);
200
+ if (importancesUsed[key] > importance) {
201
+ return false;
202
+ }
203
+ importancesUsed[key] = importance;
204
+ onto[key] = value;
205
+ return true;
206
+ }
167
207
  function camelToHyphen(str) {
168
208
  return str.replace(/[A-Z]/g, (m) => `-${m.toLowerCase()}`).toLowerCase();
169
209
  }
170
- __name(camelToHyphen, "camelToHyphen");
171
210
  function mediaObjectToString(query) {
172
211
  if (typeof query === "string") {
173
212
  return query;
@@ -183,16 +222,20 @@ function mediaObjectToString(query) {
183
222
  return `(${feature}: ${value})`;
184
223
  }).join(" and ");
185
224
  }
186
- __name(mediaObjectToString, "mediaObjectToString");
187
225
  // Annotate the CommonJS export names for ESM import in node:
188
226
  0 && (module.exports = {
189
227
  addMediaQueryListener,
190
228
  configureMedia,
229
+ getInitialMediaState,
191
230
  getMedia,
231
+ getMediaKeyImportance,
192
232
  mediaObjectToString,
193
233
  mediaQueryConfig,
194
234
  mediaState,
235
+ mergeMediaByImportance,
195
236
  removeMediaQueryListener,
196
- useMedia
237
+ useMedia,
238
+ useMediaListeners,
239
+ useMediaPropsActive
197
240
  });
198
241
  //# 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 { MutableRefObject, useEffect, useMemo, useState } from 'react'\n\nimport { getConfig } from '../config'\nimport { createProxy } from '../helpers/createProxy'\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 ? createProxy(\n {},\n {\n get(target, key) {\n if (\n typeof key === 'string' &&\n key[0] === '$' &&\n // dont error on $$typeof\n key[1] !== '$'\n ) {\n throw new Error(`Access mediaState should not use \"$\": ${key}`)\n }\n return Reflect.get(target, key)\n },\n }\n )\n : ({} as any)\n\ntype MediaListener = (next: boolean) => void\n\nconst listeners: { [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 listeners[key] = listeners[key] || new Set()\n listeners[key].add(cb)\n return () => removeMediaQueryListener(key, cb)\n}\n\nexport function removeMediaQueryListener(key: MediaQueryKey, cb: MediaListener) {\n listeners[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 curState: MediaQueryState\nlet initState: MediaQueryState\nexport const getInitialMediaState = () => {\n return (getConfig().disableSSR ? curState : initState) || {}\n}\n\nlet mediaKeysOrdered: string[]\nexport const getMediaKeyImportance = (key: string) =>\n // + 2 because we set base usedKeys=1 in getSplitStyles and all media go above 1\n mediaKeysOrdered.indexOf(key[0] === '$' ? key.slice(1) : key) + 2\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 curState = { ...mediaState }\n initState = curState\n mediaKeysOrdered = Object.keys(media)\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 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 curState = { ...mediaState }\n const cur = listeners[key]\n if (cur?.size) {\n cur.forEach((cb) => cb(next))\n }\n }\n }\n}\n\nexport function useMediaListeners(config: TamaguiInternalConfig) {\n if (config.disableSSR) return\n useEffect(() => {\n setupMediaListeners()\n return unlisten\n }, [])\n}\n\nexport function useMedia(): {\n [key in MediaQueryKey]: boolean\n} {\n const keys = useSafeRef({} as Record<string, boolean>)\n const [state, setState] = useState<MediaQueryState>(() => getMediaState(initState || {}, keys))\n\n function updateState() {\n setState((prev) => {\n for (const key in keys.current) {\n if (prev[key] !== mediaState[key]) {\n return getMediaState({ ...mediaState }, keys)\n }\n }\n return prev\n })\n }\n\n useIsomorphicLayoutEffect(() => {\n updateState()\n const disposers = Object.keys(keys.current).map((key) =>\n addMediaQueryListener(key, updateState)\n )\n return () => {\n disposers.forEach((cb) => cb())\n }\n }, [keys.current])\n\n return state\n}\n\nfunction getMediaState(state: MediaQueryState, keys: MutableRefObject<Record<string, boolean>>) {\n return new Proxy(state, {\n get(_, key: string) {\n if (!keys.current[key]) {\n keys.current[key] = true\n }\n return Reflect.get(state, key)\n },\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 next = {} as A\n const importancesUsed = {}\n const propNames = Object.keys(props)\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 if (!media[key.slice(1)]) {\n continue\n }\n if (val && typeof val === 'object') {\n const subKeys = Object.keys(val)\n for (let j = subKeys.length; j--; j >= 0) {\n const subKey = subKeys[j]\n mergeMediaByImportance(next, subKey, val[subKey], importancesUsed)\n }\n }\n } else {\n mergeMediaByImportance(next, key, val, importancesUsed)\n }\n }\n\n return next\n }, [media, props])\n}\n\nexport function mergeMediaByImportance(\n onto: Record<string, any>,\n key: string,\n value: any,\n importancesUsed: Record<string, number>\n) {\n const importance = getMediaKeyImportance(key)\n if (importancesUsed[key] > importance) {\n return false\n }\n importancesUsed[key] = importance\n onto[key] = value\n return true\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": ["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,58 @@
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
+ hold: true,
30
+ next: initialValue,
31
+ cur: initialValue,
32
+ ref: {
33
+ get current() {
34
+ return raw.hold ? raw.cur : raw.next;
35
+ },
36
+ set current(v) {
37
+ if (!raw.hold) {
38
+ raw.next = v;
39
+ }
40
+ raw.cur = v;
41
+ }
42
+ }
43
+ });
44
+ raw.hold = true;
45
+ Promise.resolve().then(() => {
46
+ raw.hold = false;
47
+ });
48
+ raw.cur = raw.next;
49
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
50
+ raw.next = raw.cur;
51
+ });
52
+ return raw.ref;
53
+ };
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ useSafeRef
57
+ });
58
+ //# 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// probably can live without it though to save a bit of b\n\ntype Raw<T> = {\n hold: boolean\n next: T\n cur: 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 hold: true,\n next: initialValue,\n cur: initialValue,\n ref: {\n get current() {\n return raw.hold ? raw.cur : raw.next\n },\n set current(v) {\n if (!raw.hold) {\n raw.next = v\n }\n raw.cur = v\n },\n },\n })\n\n raw.hold = true\n Promise.resolve().then(() => {\n raw.hold = false\n })\n raw.cur = raw.next\n\n useIsomorphicLayoutEffect(() => {\n raw.next = raw.cur\n })\n\n return raw.ref\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0C;AAC1C,mBAAuB;AAahB,MAAM,aAAa,CAAI,iBAAoB;AAChD,QAAM,aAAS,qBAAe;AAE9B,QAAM,MACJ,OAAO,YACN,OAAO,UAAU;AAAA,IAChB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,KAAK;AAAA,IACL,KAAK;AAAA,MACH,IAAI,UAAU;AACZ,eAAO,IAAI,OAAO,IAAI,MAAM,IAAI;AAAA,MAClC;AAAA,MACA,IAAI,QAAQ,GAAG;AACb,YAAI,CAAC,IAAI,MAAM;AACb,cAAI,OAAO;AAAA,QACb;AACA,YAAI,MAAM;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEF,MAAI,OAAO;AACX,UAAQ,QAAQ,EAAE,KAAK,MAAM;AAC3B,QAAI,OAAO;AAAA,EACb,CAAC;AACD,MAAI,MAAM,IAAI;AAEd,kDAA0B,MAAM;AAC9B,QAAI,OAAO,IAAI;AAAA,EACjB,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
+ }