@tamagui/core 1.0.0-beta.8 → 1.0.1-beta.100

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 (559) hide show
  1. package/dist/cjs/Pressability.js +28 -0
  2. package/dist/cjs/Pressability.js.map +7 -0
  3. package/dist/cjs/Pressability.native.js +28 -0
  4. package/dist/cjs/Pressability.native.js.map +7 -0
  5. package/dist/cjs/Tamagui.js +6 -8
  6. package/dist/cjs/Tamagui.js.map +2 -2
  7. package/dist/cjs/ThemeManager.js +25 -32
  8. package/dist/cjs/ThemeManager.js.map +2 -2
  9. package/dist/cjs/conf.js +20 -15
  10. package/dist/cjs/conf.js.map +2 -2
  11. package/dist/cjs/constants/constants.js +1 -1
  12. package/dist/cjs/constants/constants.js.map +1 -1
  13. package/dist/cjs/constants/platform.js +8 -8
  14. package/dist/cjs/constants/platform.js.map +2 -2
  15. package/dist/cjs/constants/rnw.js +5 -19
  16. package/dist/cjs/constants/rnw.js.map +2 -2
  17. package/dist/cjs/constants/rnw.native.js +28 -0
  18. package/dist/cjs/constants/rnw.native.js.map +7 -0
  19. package/dist/cjs/createComponent.js +612 -295
  20. package/dist/cjs/createComponent.js.map +2 -2
  21. package/dist/cjs/createFont.js +2 -3
  22. package/dist/cjs/createFont.js.map +2 -2
  23. package/dist/cjs/createShorthands.js +0 -2
  24. package/dist/cjs/createShorthands.js.map +1 -1
  25. package/dist/cjs/createTamagui.js +147 -100
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +3 -2
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +4 -21
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +39 -14
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/createVariables.js +55 -0
  34. package/dist/cjs/createVariables.js.map +7 -0
  35. package/dist/cjs/helpers/areEqualSets.js +2 -3
  36. package/dist/cjs/helpers/areEqualSets.js.map +1 -1
  37. package/dist/cjs/helpers/assignNativePropsToWeb.js +187 -0
  38. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +7 -0
  39. package/dist/cjs/helpers/assignNativePropsToWeb.native.js +29 -0
  40. package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +7 -0
  41. package/dist/cjs/helpers/calc.js +70 -0
  42. package/dist/cjs/helpers/calc.js.map +7 -0
  43. package/dist/cjs/helpers/createMediaStyle.js +4 -4
  44. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  45. package/dist/cjs/helpers/createPropMapper.js +133 -113
  46. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  47. package/dist/cjs/helpers/createShallowUpdate.js +3 -4
  48. package/dist/cjs/helpers/createShallowUpdate.js.map +2 -2
  49. package/dist/cjs/helpers/createTamaguiProvider.js +16 -18
  50. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  51. package/dist/cjs/helpers/cssHash.js +50 -0
  52. package/dist/cjs/helpers/cssHash.js.map +7 -0
  53. package/dist/cjs/helpers/expandStyle.js +111 -0
  54. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  55. package/dist/cjs/helpers/expandStyles.js +126 -0
  56. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  57. package/dist/cjs/helpers/extendStaticConfig.js +25 -17
  58. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  59. package/dist/cjs/helpers/fixNativeShadow.js +2 -3
  60. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  61. package/dist/cjs/helpers/getExpandedShorthands.js +0 -2
  62. package/dist/cjs/helpers/getExpandedShorthands.js.map +1 -1
  63. package/dist/cjs/helpers/getFont.js +61 -0
  64. package/dist/cjs/helpers/getFont.js.map +7 -0
  65. package/dist/cjs/helpers/getSize.js +17 -9
  66. package/dist/cjs/helpers/getSize.js.map +2 -2
  67. package/dist/cjs/helpers/getSplitStyles.js +268 -168
  68. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  69. package/dist/cjs/helpers/getStackSize.js +45 -0
  70. package/dist/cjs/helpers/getStackSize.js.map +7 -0
  71. package/dist/cjs/helpers/getStylesAtomic.js +178 -118
  72. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  73. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -2
  74. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  75. package/dist/cjs/helpers/getTextSize.js +3 -4
  76. package/dist/cjs/helpers/getTextSize.js.map +2 -2
  77. package/dist/cjs/helpers/getVariantExtras.js +46 -0
  78. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  79. package/dist/cjs/helpers/insertStyleRule.js +55 -37
  80. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  81. package/dist/cjs/helpers/isObj.js +1 -2
  82. package/dist/cjs/helpers/isObj.js.map +1 -1
  83. package/dist/cjs/helpers/isTamaguiComponent.js +36 -0
  84. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  85. package/dist/cjs/helpers/isTamaguiElement.js +4 -5
  86. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  87. package/dist/cjs/helpers/matchMedia.js +2 -3
  88. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  89. package/dist/cjs/helpers/matchMedia.native.js +1 -2
  90. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  91. package/dist/cjs/helpers/mergeProps.js +49 -0
  92. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  93. package/dist/cjs/helpers/mergeTransform.js +41 -0
  94. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  95. package/dist/cjs/helpers/nativeGestureHandler.native.js +18 -0
  96. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +7 -0
  97. package/dist/cjs/helpers/normalizeColor.js +76 -0
  98. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  99. package/dist/cjs/helpers/normalizeValueWithProperty.js +90 -0
  100. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  101. package/dist/cjs/helpers/proxyThemeVariables.js +1 -3
  102. package/dist/cjs/helpers/proxyThemeVariables.js.map +1 -1
  103. package/dist/cjs/helpers/pseudoDescriptors.js +41 -0
  104. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  105. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  106. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  107. package/dist/cjs/helpers/themeable.js +3 -5
  108. package/dist/cjs/helpers/themeable.js.map +2 -2
  109. package/dist/cjs/helpers/validate.js +39 -37
  110. package/dist/cjs/helpers/validate.js.map +2 -2
  111. package/dist/cjs/helpers/withStaticProperties.js +2 -3
  112. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  113. package/dist/cjs/helpers/wrapThemeManagerContext.js +0 -2
  114. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +2 -2
  115. package/dist/cjs/hooks/useConstant.js +0 -2
  116. package/dist/cjs/hooks/useConstant.js.map +1 -1
  117. package/dist/cjs/hooks/useFeatures.js +22 -20
  118. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  119. package/dist/cjs/hooks/useId.js +5 -6
  120. package/dist/cjs/hooks/useId.js.map +2 -2
  121. package/dist/cjs/hooks/useIsMounted.js +2 -4
  122. package/dist/cjs/hooks/useIsMounted.js.map +2 -2
  123. package/dist/cjs/hooks/useIsTouchDevice.js +3 -4
  124. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  125. package/dist/cjs/hooks/useMedia.js +11 -15
  126. package/dist/cjs/hooks/useMedia.js.map +1 -1
  127. package/dist/cjs/hooks/usePressable.js +2 -3
  128. package/dist/cjs/hooks/usePressable.js.map +1 -1
  129. package/dist/cjs/hooks/usePrevious.js +1 -0
  130. package/dist/cjs/hooks/usePrevious.js.map +7 -0
  131. package/dist/cjs/hooks/useTheme.js +21 -33
  132. package/dist/cjs/hooks/useTheme.js.map +2 -2
  133. package/dist/cjs/hooks/useUnmountEffect.js +0 -2
  134. package/dist/cjs/hooks/useUnmountEffect.js.map +1 -1
  135. package/dist/cjs/index.js +21 -12
  136. package/dist/cjs/index.js.map +2 -2
  137. package/dist/cjs/insertFont.js +89 -0
  138. package/dist/cjs/insertFont.js.map +7 -0
  139. package/dist/cjs/static.js +3 -1
  140. package/dist/cjs/static.js.map +2 -2
  141. package/dist/cjs/styled.js +0 -3
  142. package/dist/cjs/styled.js.map +2 -2
  143. package/dist/cjs/types-rnw.js.map +1 -1
  144. package/dist/cjs/types.js.map +1 -1
  145. package/dist/cjs/views/Slot.js +40 -26
  146. package/dist/cjs/views/Slot.js.map +2 -2
  147. package/dist/cjs/views/Text.js +11 -15
  148. package/dist/cjs/views/Text.js.map +2 -2
  149. package/dist/cjs/views/TextAncestorContext.js +4 -6
  150. package/dist/cjs/views/TextAncestorContext.js.map +2 -2
  151. package/dist/cjs/views/Theme.js +6 -9
  152. package/dist/cjs/views/Theme.js.map +2 -2
  153. package/dist/cjs/views/ThemeInverse.js +7 -5
  154. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  155. package/dist/cjs/views/ThemeProvider.js +6 -6
  156. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  157. package/dist/cjs/views/ThemeReset.js +3 -3
  158. package/dist/cjs/views/ThemeReset.js.map +2 -2
  159. package/dist/esm/Pressability.js +5 -0
  160. package/dist/esm/Pressability.js.map +7 -0
  161. package/dist/esm/Pressability.native.js +5 -0
  162. package/dist/esm/Pressability.native.js.map +7 -0
  163. package/dist/esm/Tamagui.js +5 -8
  164. package/dist/esm/Tamagui.js.map +2 -2
  165. package/dist/esm/ThemeManager.js +25 -33
  166. package/dist/esm/ThemeManager.js.map +2 -2
  167. package/dist/esm/conf.js +18 -15
  168. package/dist/esm/conf.js.map +2 -2
  169. package/dist/esm/constants/constants.js +24 -9
  170. package/dist/esm/constants/constants.js.map +2 -2
  171. package/dist/esm/constants/platform.js +6 -6
  172. package/dist/esm/constants/platform.js.map +2 -2
  173. package/dist/esm/constants/rnw.js +2 -20
  174. package/dist/esm/constants/rnw.js.map +2 -2
  175. package/dist/esm/constants/rnw.native.js +5 -0
  176. package/dist/esm/constants/rnw.native.js.map +7 -0
  177. package/dist/esm/createComponent.js +705 -331
  178. package/dist/esm/createComponent.js.map +2 -2
  179. package/dist/esm/createFont.js +2 -4
  180. package/dist/esm/createFont.js.map +2 -2
  181. package/dist/esm/createShorthands.js +0 -3
  182. package/dist/esm/createShorthands.js.map +1 -1
  183. package/dist/esm/createTamagui.js +172 -105
  184. package/dist/esm/createTamagui.js.map +2 -2
  185. package/dist/esm/createTheme.js +3 -3
  186. package/dist/esm/createTheme.js.map +2 -2
  187. package/dist/esm/createTokens.js +3 -20
  188. package/dist/esm/createTokens.js.map +2 -2
  189. package/dist/esm/createVariable.js +38 -14
  190. package/dist/esm/createVariable.js.map +2 -2
  191. package/dist/esm/createVariables.js +32 -0
  192. package/dist/esm/createVariables.js.map +7 -0
  193. package/dist/esm/helpers/areEqualSets.js +2 -4
  194. package/dist/esm/helpers/areEqualSets.js.map +1 -1
  195. package/dist/esm/helpers/assignNativePropsToWeb.js +164 -0
  196. package/dist/esm/helpers/assignNativePropsToWeb.js.map +7 -0
  197. package/dist/esm/helpers/assignNativePropsToWeb.native.js +6 -0
  198. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +7 -0
  199. package/dist/esm/helpers/calc.js +47 -0
  200. package/dist/esm/helpers/calc.js.map +7 -0
  201. package/dist/esm/helpers/createMediaStyle.js +4 -5
  202. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  203. package/dist/esm/helpers/createPropMapper.js +131 -114
  204. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  205. package/dist/esm/helpers/createShallowUpdate.js +19 -5
  206. package/dist/esm/helpers/createShallowUpdate.js.map +2 -2
  207. package/dist/esm/helpers/createTamaguiProvider.js +46 -19
  208. package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
  209. package/dist/esm/helpers/cssHash.js +27 -0
  210. package/dist/esm/helpers/cssHash.js.map +7 -0
  211. package/dist/esm/helpers/expandStyle.js +90 -0
  212. package/dist/esm/helpers/expandStyle.js.map +7 -0
  213. package/dist/esm/helpers/expandStyles.js +103 -0
  214. package/dist/esm/helpers/expandStyles.js.map +7 -0
  215. package/dist/esm/helpers/extendStaticConfig.js +46 -40
  216. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  217. package/dist/esm/helpers/fixNativeShadow.js +2 -4
  218. package/dist/esm/helpers/fixNativeShadow.js.map +1 -1
  219. package/dist/esm/helpers/getExpandedShorthands.js +0 -3
  220. package/dist/esm/helpers/getExpandedShorthands.js.map +1 -1
  221. package/dist/{jsx/helpers/getTextSize.js → esm/helpers/getFont.js} +12 -7
  222. package/dist/esm/helpers/getFont.js.map +7 -0
  223. package/dist/esm/helpers/getSize.js +15 -9
  224. package/dist/esm/helpers/getSize.js.map +2 -2
  225. package/dist/esm/helpers/getSplitStyles.js +282 -176
  226. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  227. package/dist/esm/helpers/getStackSize.js +22 -0
  228. package/dist/esm/helpers/getStackSize.js.map +7 -0
  229. package/dist/esm/helpers/getStylesAtomic.js +188 -110
  230. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  231. package/dist/esm/helpers/getStylesAtomic.native.js +0 -3
  232. package/dist/esm/helpers/getStylesAtomic.native.js.map +1 -1
  233. package/dist/esm/helpers/getTextSize.js +3 -5
  234. package/dist/esm/helpers/getTextSize.js.map +2 -2
  235. package/dist/esm/helpers/getVariantExtras.js +23 -0
  236. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  237. package/dist/esm/helpers/insertStyleRule.js +55 -38
  238. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  239. package/dist/esm/helpers/isObj.js +1 -3
  240. package/dist/esm/helpers/isObj.js.map +1 -1
  241. package/dist/esm/helpers/isTamaguiComponent.js +13 -0
  242. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  243. package/dist/esm/helpers/isTamaguiElement.js +4 -6
  244. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  245. package/dist/esm/helpers/matchMedia.js +2 -4
  246. package/dist/esm/helpers/matchMedia.js.map +1 -1
  247. package/dist/esm/helpers/matchMedia.native.js +1 -3
  248. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  249. package/dist/esm/helpers/mergeProps.js +26 -0
  250. package/dist/esm/helpers/mergeProps.js.map +7 -0
  251. package/dist/esm/helpers/mergeTransform.js +17 -0
  252. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  253. package/dist/esm/helpers/nativeGestureHandler.native.js +2 -0
  254. package/dist/esm/helpers/nativeGestureHandler.native.js.map +7 -0
  255. package/dist/esm/helpers/normalizeColor.js +49 -0
  256. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  257. package/dist/esm/helpers/normalizeValueWithProperty.js +67 -0
  258. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  259. package/dist/esm/helpers/proxyThemeVariables.js +1 -4
  260. package/dist/esm/helpers/proxyThemeVariables.js.map +1 -1
  261. package/dist/esm/helpers/pseudoDescriptors.js +18 -0
  262. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  263. package/dist/esm/helpers/registerCSSVariable.js +15 -0
  264. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  265. package/dist/esm/helpers/themeable.js +34 -5
  266. package/dist/esm/helpers/themeable.js.map +2 -2
  267. package/dist/esm/helpers/validate.js +42 -19
  268. package/dist/esm/helpers/validate.js.map +2 -2
  269. package/dist/esm/helpers/withStaticProperties.js +2 -4
  270. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  271. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -3
  272. package/dist/esm/helpers/wrapThemeManagerContext.js.map +2 -2
  273. package/dist/esm/hooks/useConstant.js +0 -3
  274. package/dist/esm/hooks/useConstant.js.map +1 -1
  275. package/dist/esm/hooks/useFeatures.js +59 -26
  276. package/dist/esm/hooks/useFeatures.js.map +2 -2
  277. package/dist/esm/hooks/useId.js +8 -11
  278. package/dist/esm/hooks/useId.js.map +2 -2
  279. package/dist/esm/hooks/useIsMounted.js +1 -4
  280. package/dist/esm/hooks/useIsMounted.js.map +2 -2
  281. package/dist/esm/hooks/useIsTouchDevice.js +4 -6
  282. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  283. package/dist/esm/hooks/useMedia.js +28 -21
  284. package/dist/esm/hooks/useMedia.js.map +1 -1
  285. package/dist/esm/hooks/usePressable.js +18 -5
  286. package/dist/esm/hooks/usePressable.js.map +1 -1
  287. package/dist/esm/hooks/usePrevious.js +1 -0
  288. package/dist/esm/hooks/usePrevious.js.map +7 -0
  289. package/dist/esm/hooks/useTheme.js +45 -41
  290. package/dist/esm/hooks/useTheme.js.map +2 -2
  291. package/dist/esm/hooks/useUnmountEffect.js +0 -3
  292. package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
  293. package/dist/esm/index.js +18 -9
  294. package/dist/esm/index.js.map +2 -2
  295. package/dist/esm/insertFont.js +64 -0
  296. package/dist/esm/insertFont.js.map +7 -0
  297. package/dist/esm/static.js +3 -1
  298. package/dist/esm/static.js.map +2 -2
  299. package/dist/esm/styled.js +37 -12
  300. package/dist/esm/styled.js.map +2 -2
  301. package/dist/esm/views/Slot.js +74 -34
  302. package/dist/esm/views/Slot.js.map +2 -2
  303. package/dist/esm/views/Stack.js +21 -3
  304. package/dist/esm/views/Stack.js.map +1 -1
  305. package/dist/esm/views/Text.js +27 -19
  306. package/dist/esm/views/Text.js.map +2 -2
  307. package/dist/esm/views/TextAncestorContext.js +4 -7
  308. package/dist/esm/views/TextAncestorContext.js.map +2 -2
  309. package/dist/esm/views/Theme.js +6 -10
  310. package/dist/esm/views/Theme.js.map +2 -2
  311. package/dist/esm/views/ThemeInverse.js +8 -7
  312. package/dist/esm/views/ThemeInverse.js.map +2 -2
  313. package/dist/esm/views/ThemeProvider.js +6 -7
  314. package/dist/esm/views/ThemeProvider.js.map +2 -2
  315. package/dist/esm/views/ThemeReset.js +3 -4
  316. package/dist/esm/views/ThemeReset.js.map +2 -2
  317. package/package.json +18 -11
  318. package/reset.css +41 -0
  319. package/types/Pressability.d.ts +2 -0
  320. package/types/Pressability.native.d.ts +2 -0
  321. package/types/Tamagui.d.ts +4 -6
  322. package/types/Tamagui.d.ts.map +1 -1
  323. package/types/ThemeContext.d.ts +0 -0
  324. package/types/ThemeContext.d.ts.map +0 -0
  325. package/types/ThemeManager.d.ts +10 -7
  326. package/types/ThemeManager.d.ts.map +1 -1
  327. package/types/conf.d.ts +3 -4
  328. package/types/conf.d.ts.map +1 -1
  329. package/types/constants/constants.d.ts +1 -1
  330. package/types/constants/platform.d.ts +2 -2
  331. package/types/constants/rnw.d.ts +1 -1
  332. package/types/constants/rnw.d.ts.map +1 -1
  333. package/types/constants/rnw.native.d.ts +2 -0
  334. package/types/contexts/ButtonInsideButtonContext.d.ts +0 -0
  335. package/types/createComponent.d.ts +40 -15
  336. package/types/createComponent.d.ts.map +1 -1
  337. package/types/createFont.d.ts +0 -0
  338. package/types/createFont.d.ts.map +0 -0
  339. package/types/createShorthands.d.ts +0 -0
  340. package/types/createTamagui.d.ts +10 -2
  341. package/types/createTamagui.d.ts.map +1 -1
  342. package/types/createTheme.d.ts +1 -1
  343. package/types/createTokens.d.ts +0 -1
  344. package/types/createTokens.d.ts.map +1 -1
  345. package/types/createVariable.d.ts +16 -11
  346. package/types/createVariables.d.ts +10 -0
  347. package/types/defaultComponentState.d.ts +0 -0
  348. package/types/helpers/RNComponents.d.ts +0 -0
  349. package/types/helpers/areEqualSets.d.ts +0 -0
  350. package/types/helpers/assignNativePropsToWeb.d.ts +2 -0
  351. package/types/helpers/assignNativePropsToWeb.d.ts.map +1 -0
  352. package/types/helpers/assignNativePropsToWeb.native.d.ts +2 -0
  353. package/types/helpers/calc.d.ts +12 -0
  354. package/types/helpers/calc.d.ts.map +1 -0
  355. package/types/helpers/createMediaStyle.d.ts +1 -1
  356. package/types/helpers/createMediaStyle.d.ts.map +1 -1
  357. package/types/helpers/createPropMapper.d.ts +4 -3
  358. package/types/helpers/createPropMapper.d.ts.map +1 -1
  359. package/types/helpers/createShallowUpdate.d.ts +1 -2
  360. package/types/helpers/createTamaguiProvider.d.ts +2 -6
  361. package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
  362. package/types/helpers/cssHash.d.ts +2 -0
  363. package/types/helpers/cssHash.d.ts.map +1 -0
  364. package/types/helpers/expandStyle.d.ts +2 -0
  365. package/types/helpers/expandStyle.d.ts.map +1 -0
  366. package/types/helpers/expandStyles.d.ts +7 -0
  367. package/types/helpers/expandStyles.d.ts.map +1 -0
  368. package/types/helpers/extendStaticConfig.d.ts +0 -0
  369. package/types/helpers/extendStaticConfig.d.ts.map +1 -1
  370. package/types/helpers/fixNativeShadow.d.ts +0 -0
  371. package/types/helpers/getExpandedShorthands.d.ts +0 -0
  372. package/types/helpers/getExpandedShorthands.d.ts.map +0 -0
  373. package/types/helpers/getFont.d.ts +3 -0
  374. package/types/helpers/getFont.d.ts.map +1 -0
  375. package/types/helpers/getSize.d.ts +3 -2
  376. package/types/helpers/getSize.d.ts.map +1 -1
  377. package/types/helpers/getSplitStyles.d.ts +10 -7
  378. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  379. package/types/helpers/getStackSize.d.ts +8 -0
  380. package/types/helpers/getStackSize.d.ts.map +1 -0
  381. package/types/helpers/getStylesAtomic.d.ts +7 -17
  382. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  383. package/types/helpers/getStylesAtomic.native.d.ts +0 -0
  384. package/types/helpers/getVariantExtras.d.ts +7 -0
  385. package/types/helpers/getVariantExtras.d.ts.map +1 -0
  386. package/types/helpers/insertStyleRule.d.ts +1 -1
  387. package/types/helpers/isObj.d.ts +0 -0
  388. package/types/helpers/isTamaguiComponent.d.ts +5 -0
  389. package/types/helpers/isTamaguiComponent.d.ts.map +1 -0
  390. package/types/helpers/isTamaguiElement.d.ts +1 -1
  391. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  392. package/types/helpers/matchMedia.d.ts +0 -0
  393. package/types/helpers/matchMedia.native.d.ts +0 -0
  394. package/types/helpers/mergeProps.d.ts +2 -0
  395. package/types/helpers/mergeTransform.d.ts +7 -0
  396. package/types/helpers/nativeGestureHandler.native.d.ts +2 -0
  397. package/types/helpers/normalizeColor.d.ts +3 -0
  398. package/types/helpers/normalizeColor.d.ts.map +1 -0
  399. package/types/helpers/normalizeValueWithProperty.d.ts +2 -0
  400. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -0
  401. package/types/helpers/proxyThemeVariables.d.ts +0 -0
  402. package/types/helpers/pseudoDescriptors.d.ts +16 -0
  403. package/types/helpers/registerCSSVariable.d.ts +5 -0
  404. package/types/helpers/themeable.d.ts +0 -0
  405. package/types/helpers/themeable.d.ts.map +1 -1
  406. package/types/helpers/validate.d.ts +0 -0
  407. package/types/helpers/withStaticProperties.d.ts +0 -0
  408. package/types/helpers/wrapThemeManagerContext.d.ts +0 -0
  409. package/types/helpers/wrapThemeManagerContext.d.ts.map +0 -0
  410. package/types/hooks/useConstant.d.ts +0 -0
  411. package/types/hooks/useFeatures.d.ts +11 -5
  412. package/types/hooks/useFeatures.d.ts.map +1 -1
  413. package/types/hooks/useId.d.ts +0 -0
  414. package/types/hooks/useIsMounted.d.ts +0 -0
  415. package/types/hooks/useIsTouchDevice.d.ts +0 -0
  416. package/types/hooks/useMedia.d.ts +0 -0
  417. package/types/hooks/useMedia.d.ts.map +0 -0
  418. package/types/hooks/usePressable.d.ts +0 -0
  419. package/types/hooks/usePrevious.d.ts +1 -0
  420. package/types/hooks/useTheme.d.ts +15 -6
  421. package/types/hooks/useTheme.d.ts.map +1 -1
  422. package/types/hooks/useUnmountEffect.d.ts +0 -0
  423. package/types/index.d.ts +16 -6
  424. package/types/index.d.ts.map +1 -1
  425. package/types/insertFont.d.ts +6 -0
  426. package/types/insertFont.d.ts.map +1 -0
  427. package/types/static.d.ts +3 -1
  428. package/types/static.d.ts.map +1 -1
  429. package/types/styled.d.ts +2 -2
  430. package/types/styled.d.ts.map +1 -1
  431. package/types/types-rnw.d.ts +0 -0
  432. package/types/types.d.ts +71 -51
  433. package/types/types.d.ts.map +1 -1
  434. package/types/views/Slot.d.ts +1 -0
  435. package/types/views/Stack.d.ts +0 -0
  436. package/types/views/Stack.d.ts.map +0 -0
  437. package/types/views/Text.d.ts +0 -0
  438. package/types/views/Text.d.ts.map +1 -1
  439. package/types/views/TextAncestorContext.d.ts +0 -0
  440. package/types/views/TextAncestorContext.d.ts.map +1 -1
  441. package/types/views/Theme.d.ts +1 -9
  442. package/types/views/Theme.d.ts.map +1 -1
  443. package/types/views/ThemeInverse.d.ts +0 -0
  444. package/types/views/ThemeInverse.d.ts.map +1 -1
  445. package/types/views/ThemeProvider.d.ts +2 -0
  446. package/types/views/ThemeProvider.d.ts.map +1 -1
  447. package/types/views/ThemeReset.d.ts +0 -0
  448. package/types/views/ThemeReset.d.ts.map +0 -0
  449. package/dist/cjs/helpers/addStylesUsingClassname.js +0 -87
  450. package/dist/cjs/helpers/addStylesUsingClassname.js.map +0 -7
  451. package/dist/cjs/helpers/fixNativeShadow.native.js +0 -63
  452. package/dist/cjs/helpers/fixNativeShadow.native.js.map +0 -7
  453. package/dist/cjs/helpers/getButtonSize.js +0 -45
  454. package/dist/cjs/helpers/getButtonSize.js.map +0 -7
  455. package/dist/esm/helpers/addStylesUsingClassname.js +0 -64
  456. package/dist/esm/helpers/addStylesUsingClassname.js.map +0 -7
  457. package/dist/esm/helpers/fixNativeShadow.native.js +0 -41
  458. package/dist/esm/helpers/fixNativeShadow.native.js.map +0 -7
  459. package/dist/esm/helpers/getButtonSize.js +0 -24
  460. package/dist/esm/helpers/getButtonSize.js.map +0 -7
  461. package/dist/jsx/Tamagui.js +0 -41
  462. package/dist/jsx/ThemeContext.js +0 -5
  463. package/dist/jsx/ThemeManager.js +0 -186
  464. package/dist/jsx/conf.js +0 -35
  465. package/dist/jsx/constants/constants.js +0 -17
  466. package/dist/jsx/constants/platform.js +0 -25
  467. package/dist/jsx/constants/rnw.js +0 -23
  468. package/dist/jsx/contexts/ButtonInsideButtonContext.js +0 -5
  469. package/dist/jsx/createComponent.js +0 -617
  470. package/dist/jsx/createFont.js +0 -27
  471. package/dist/jsx/createShorthands.js +0 -9
  472. package/dist/jsx/createTamagui.js +0 -201
  473. package/dist/jsx/createTheme.js +0 -6
  474. package/dist/jsx/createTokens.js +0 -28
  475. package/dist/jsx/createVariable.js +0 -48
  476. package/dist/jsx/defaultComponentState.js +0 -0
  477. package/dist/jsx/helpers/RNComponents.js +0 -11
  478. package/dist/jsx/helpers/addStylesUsingClassname.js +0 -63
  479. package/dist/jsx/helpers/areEqualSets.js +0 -15
  480. package/dist/jsx/helpers/createMediaStyle.js +0 -30
  481. package/dist/jsx/helpers/createPropMapper.js +0 -237
  482. package/dist/jsx/helpers/createShallowUpdate.js +0 -18
  483. package/dist/jsx/helpers/createTamaguiProvider.js +0 -34
  484. package/dist/jsx/helpers/extendStaticConfig.js +0 -61
  485. package/dist/jsx/helpers/fixNativeShadow.js +0 -7
  486. package/dist/jsx/helpers/fixNativeShadow.native.js +0 -40
  487. package/dist/jsx/helpers/getButtonSize.js +0 -23
  488. package/dist/jsx/helpers/getExpandedShorthands.js +0 -18
  489. package/dist/jsx/helpers/getSize.js +0 -12
  490. package/dist/jsx/helpers/getSplitStyles.js +0 -302
  491. package/dist/jsx/helpers/getStylesAtomic.js +0 -130
  492. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -9
  493. package/dist/jsx/helpers/insertStyleRule.js +0 -94
  494. package/dist/jsx/helpers/isObj.js +0 -6
  495. package/dist/jsx/helpers/isTamaguiElement.js +0 -10
  496. package/dist/jsx/helpers/matchMedia.js +0 -17
  497. package/dist/jsx/helpers/matchMedia.native.js +0 -8
  498. package/dist/jsx/helpers/proxyThemeVariables.js +0 -17
  499. package/dist/jsx/helpers/themeable.js +0 -24
  500. package/dist/jsx/helpers/validate.js +0 -75
  501. package/dist/jsx/helpers/withStaticProperties.js +0 -9
  502. package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -10
  503. package/dist/jsx/hooks/useConstant.js +0 -14
  504. package/dist/jsx/hooks/useFeatures.js +0 -167
  505. package/dist/jsx/hooks/useId.js +0 -34
  506. package/dist/jsx/hooks/useIsMounted.js +0 -18
  507. package/dist/jsx/hooks/useIsTouchDevice.js +0 -16
  508. package/dist/jsx/hooks/useMedia.js +0 -158
  509. package/dist/jsx/hooks/usePressable.js +0 -13
  510. package/dist/jsx/hooks/useTheme.js +0 -177
  511. package/dist/jsx/hooks/useUnmountEffect.js +0 -10
  512. package/dist/jsx/index.js +0 -54
  513. package/dist/jsx/static.js +0 -16
  514. package/dist/jsx/styled.js +0 -48
  515. package/dist/jsx/types-rnw.js +0 -0
  516. package/dist/jsx/types.js +0 -0
  517. package/dist/jsx/views/Slot.js +0 -56
  518. package/dist/jsx/views/Stack.js +0 -12
  519. package/dist/jsx/views/Text.js +0 -61
  520. package/dist/jsx/views/TextAncestorContext.js +0 -15
  521. package/dist/jsx/views/Theme.js +0 -31
  522. package/dist/jsx/views/ThemeInverse.js +0 -22
  523. package/dist/jsx/views/ThemeProvider.js +0 -35
  524. package/dist/jsx/views/ThemeReset.js +0 -34
  525. package/types/constants/constants.d.ts.map +0 -1
  526. package/types/constants/platform.d.ts.map +0 -1
  527. package/types/contexts/ButtonInsideButtonContext.d.ts.map +0 -1
  528. package/types/createShorthands.d.ts.map +0 -1
  529. package/types/createTheme.d.ts.map +0 -1
  530. package/types/createVariable.d.ts.map +0 -1
  531. package/types/defaultComponentState.d.ts.map +0 -1
  532. package/types/helpers/RNComponents.d.ts.map +0 -1
  533. package/types/helpers/addStylesUsingClassname.d.ts +0 -3
  534. package/types/helpers/addStylesUsingClassname.d.ts.map +0 -1
  535. package/types/helpers/areEqualSets.d.ts.map +0 -1
  536. package/types/helpers/createShallowUpdate.d.ts.map +0 -1
  537. package/types/helpers/fixNativeShadow.d.ts.map +0 -1
  538. package/types/helpers/fixNativeShadow.native.d.ts +0 -2
  539. package/types/helpers/fixNativeShadow.native.d.ts.map +0 -1
  540. package/types/helpers/getButtonSize.d.ts +0 -8
  541. package/types/helpers/getButtonSize.d.ts.map +0 -1
  542. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  543. package/types/helpers/getTextSize.d.ts +0 -3
  544. package/types/helpers/getTextSize.d.ts.map +0 -1
  545. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  546. package/types/helpers/isObj.d.ts.map +0 -1
  547. package/types/helpers/matchMedia.d.ts.map +0 -1
  548. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  549. package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
  550. package/types/helpers/validate.d.ts.map +0 -1
  551. package/types/helpers/withStaticProperties.d.ts.map +0 -1
  552. package/types/hooks/useConstant.d.ts.map +0 -1
  553. package/types/hooks/useId.d.ts.map +0 -1
  554. package/types/hooks/useIsMounted.d.ts.map +0 -1
  555. package/types/hooks/useIsTouchDevice.d.ts.map +0 -1
  556. package/types/hooks/usePressable.d.ts.map +0 -1
  557. package/types/hooks/useUnmountEffect.d.ts.map +0 -1
  558. package/types/types-rnw.d.ts.map +0 -1
  559. package/types/views/Slot.d.ts.map +0 -1
@@ -1,28 +1,12 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- var __accessCheck = (obj, member, msg) => {
4
- if (!member.has(obj))
5
- throw TypeError("Cannot " + msg);
6
- };
7
- var __privateAdd = (obj, member, value) => {
8
- if (member.has(obj))
9
- throw TypeError("Cannot add the same private member more than once");
10
- member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
11
- };
12
- var __privateMethod = (obj, member, method) => {
13
- __accessCheck(obj, member, "access private method");
14
- return method;
15
- };
16
- var _getClassName, getClassName_fn;
17
1
  import { createContext } from "react";
18
2
  import { getThemes } from "./conf";
19
3
  import { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from "./constants/constants";
20
4
  class ThemeManager {
21
- constructor(name = "", theme = null, parentManager = null) {
5
+ constructor(name = "", theme = null, parentManager = null, reset = false) {
22
6
  this.name = name;
23
7
  this.theme = theme;
24
8
  this.parentManager = parentManager;
25
- __privateAdd(this, _getClassName);
9
+ this.reset = reset;
26
10
  this.keys = /* @__PURE__ */ new Map();
27
11
  this.listeners = /* @__PURE__ */ new Map();
28
12
  this.themeListeners = /* @__PURE__ */ new Set();
@@ -71,8 +55,8 @@ class ThemeManager {
71
55
  }
72
56
  }
73
57
  update({ name, theme, className } = {}) {
74
- const sameNameOrClassName = this.className ? className == this.className : name === this.name;
75
- if (sameNameOrClassName) {
58
+ const nameChanged = name !== this.name;
59
+ if (!nameChanged) {
76
60
  return false;
77
61
  }
78
62
  this.className = className || null;
@@ -81,8 +65,17 @@ class ThemeManager {
81
65
  this.notifyListeners();
82
66
  return true;
83
67
  }
84
- getNextTheme(opts = {}, props) {
85
- const { themes = getThemes(), name, componentName } = opts;
68
+ getNextTheme(props = {}, debug) {
69
+ var _a;
70
+ const { themes = getThemes(), name, componentName } = props;
71
+ if (props.reset && name) {
72
+ return {
73
+ name,
74
+ theme: themes[name],
75
+ className: this.getClassName(name)
76
+ };
77
+ }
78
+ const parentIsReset = (_a = this.parentManager) == null ? void 0 : _a.reset;
86
79
  if (!name) {
87
80
  if (componentName) {
88
81
  const names = [
@@ -91,7 +84,8 @@ class ThemeManager {
91
84
  ];
92
85
  for (const name2 of names) {
93
86
  if (name2 in themes) {
94
- return { name: name2, theme: themes[name2], className: __privateMethod(this, _getClassName, getClassName_fn).call(this, name2) };
87
+ const className = this.getClassName(name2);
88
+ return { name: name2, theme: themes[name2], className };
95
89
  }
96
90
  }
97
91
  }
@@ -101,7 +95,7 @@ class ThemeManager {
101
95
  };
102
96
  }
103
97
  let nextName = name || this.name || "";
104
- let parentName = this.fullName;
98
+ let parentName = parentIsReset ? this.parentName || this.fullName : this.fullName;
105
99
  while (true) {
106
100
  if (nextName in themes) {
107
101
  break;
@@ -131,15 +125,18 @@ class ThemeManager {
131
125
  if (!theme) {
132
126
  theme = themes[`light_${nextName}`];
133
127
  }
134
- if (process.env.NODE_ENV === "development" && props && props["debug"]) {
135
- console.log("getNextTheme", { name: opts.name, nextName, parentName });
128
+ if (process.env.NODE_ENV === "development" && debug) {
129
+ console.log("getNextTheme", { props, nextName, parentName }, this);
136
130
  }
137
131
  return {
138
132
  name: nextName,
139
133
  theme,
140
- className: __privateMethod(this, _getClassName, getClassName_fn).call(this, nextName)
134
+ className: this.getClassName(nextName)
141
135
  };
142
136
  }
137
+ getClassName(name) {
138
+ return `${THEME_CLASSNAME_PREFIX}${name} t_Theme`.replace("light_", "").replace("dark_", "");
139
+ }
143
140
  track(uuid, keys) {
144
141
  if (!this.name)
145
142
  return;
@@ -171,14 +168,9 @@ class ThemeManager {
171
168
  };
172
169
  }
173
170
  }
174
- __name(ThemeManager, "ThemeManager");
175
- _getClassName = new WeakSet();
176
- getClassName_fn = /* @__PURE__ */ __name(function(name) {
177
- return `${THEME_CLASSNAME_PREFIX}${name} tui_theme`.replace("light_", "").replace("dark_", "");
178
- }, "#getClassName");
179
171
  const ThemeManagerContext = createContext(null);
180
172
  const emptyManager = new ThemeManager();
181
- const withoutComponentName = /* @__PURE__ */ __name((name) => name.replace(/\_[A-Z][a-z]+$/, ""), "withoutComponentName");
173
+ const withoutComponentName = (name) => name.replace(/(\_[A-Z][a-zA-Z]+)+$/g, "");
182
174
  export {
183
175
  ThemeManager,
184
176
  ThemeManagerContext,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ThemeManager.tsx"],
4
- "sourcesContent": ["import { createContext } from 'react'\n\nimport { getThemes } from './conf'\nimport { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from './constants/constants'\nimport { ThemeObject, Themes } from './types'\n\ntype ThemeListener = (name: string | null, themeManager: ThemeManager) => void\n\nexport type SetActiveThemeProps = {\n className?: string\n parentManager?: ThemeManager | null\n name?: string | null\n theme?: any\n}\n\nexport class ThemeManager {\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n themeListeners = new Set<ThemeListener>()\n className: string | null = null\n\n constructor(\n public name: string = '',\n public theme: ThemeObject | null = null,\n public parentManager: ThemeManager | null = null\n ) {\n // find the nearest different parentManager\n let parent = parentManager\n let tries = 0\n while (true) {\n tries++\n if (tries > 10) {\n throw new Error(`Nested 10 of the same theme in a row, likely error`)\n }\n if (!parent) break\n if (parent.name === name) {\n // go up if same\n parent = parent.parentManager\n } else {\n this.parentManager = parent\n break\n }\n }\n }\n\n get parentName() {\n return this.parentManager?.name || null\n }\n\n get fullName(): string {\n return this.getNextTheme().name || this.name || ''\n // const parentName = this.parentManager?.fullName || ''\n // const name = this.name || ''\n // const parts = [...new Set([...`${parentName}_${name}`.split('_')])].filter(Boolean)\n // return parts.join('_')\n }\n\n // gets value going up to parents\n getValue(key: string) {\n let theme = this.theme\n let manager = this as ThemeManager | null\n while (true) {\n if (!theme) return\n if (key in theme) {\n return theme[key]\n }\n manager = this.parentManager\n if (!manager) {\n return\n }\n if (manager.theme === theme) {\n return\n }\n theme = manager.theme\n }\n }\n\n update({ name, theme, className }: SetActiveThemeProps = {}) {\n // className compare on web, avoids light/dark re-renders\n const sameNameOrClassName = this.className\n ? // == instead of === (sometimes its undefined/null)\n className == this.className\n : name === this.name\n if (sameNameOrClassName) {\n return false\n }\n this.className = className || null\n this.name = name || ''\n this.theme = theme\n this.notifyListeners()\n return true\n }\n\n getNextTheme(\n opts: { themes?: Themes; name?: string | null; componentName?: string | null } = {},\n props?: any\n ) {\n const { themes = getThemes(), name, componentName } = opts\n\n if (!name) {\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${this.name}_${componentName}`,\n `${withoutComponentName(this.name)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n return { name, theme: themes[name], className: this.#getClassName(name) }\n }\n }\n }\n return {\n name: this.name,\n theme: this.theme,\n }\n }\n\n let nextName = name || this.name || ''\n let parentName = this.fullName\n\n while (true) {\n if (nextName in themes) {\n break\n }\n nextName = `${parentName}_${name}`\n if (nextName in themes) {\n break\n }\n if (!parentName.includes(THEME_NAME_SEPARATOR)) {\n // not found!\n console.warn('theme not found', name)\n break\n }\n // go up one\n parentName = parentName.slice(0, parentName.lastIndexOf(THEME_NAME_SEPARATOR))\n }\n\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${nextName}_${componentName}`,\n `${withoutComponentName(nextName)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n nextName = name\n }\n }\n }\n\n let theme = themes[nextName]\n if (!theme) {\n theme = themes[`light_${nextName}`]\n }\n\n if (process.env.NODE_ENV === 'development' && props && props['debug']) {\n console.log('getNextTheme', { name: opts.name, nextName, parentName })\n }\n\n return {\n name: nextName,\n theme,\n className: this.#getClassName(nextName),\n }\n }\n\n #getClassName(name: string) {\n return `${THEME_CLASSNAME_PREFIX}${name} tui_theme`.replace('light_', '').replace('dark_', '')\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n notifyListeners() {\n if (!this.name) {\n this.keys.clear()\n }\n for (const [uuid, keys] of this.keys.entries()) {\n if (keys.size) {\n this.listeners.get(uuid)?.()\n }\n }\n this.themeListeners.forEach((cb) => cb(this.name, this))\n }\n\n onChangeTheme(cb: ThemeListener) {\n this.themeListeners.add(cb)\n return () => {\n this.themeListeners.delete(cb)\n }\n }\n\n onUpdate(uuid: any, cb: Function) {\n this.listeners.set(uuid, cb)\n return () => {\n this.listeners.delete(uuid)\n this.keys.delete(uuid)\n }\n }\n}\n\nexport const ThemeManagerContext = createContext<ThemeManager | null>(null)\nexport const emptyManager = new ThemeManager()\n\nconst withoutComponentName = (name: string) => name.replace(/\\_[A-Z][a-z]+$/, '')\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { createContext } from 'react'\n\nimport { getThemes } from './conf'\nimport { THEME_CLASSNAME_PREFIX, THEME_NAME_SEPARATOR } from './constants/constants'\nimport { ThemeObject, Themes } from './types'\n\ntype ThemeListener = (name: string | null, themeManager: ThemeManager) => void\n\nexport type SetActiveThemeProps = {\n className?: string\n parentManager?: ThemeManager | null\n name?: string | null\n theme?: any\n}\n\nexport type GetNextThemeProps = {\n themes?: Themes\n name?: string | null\n componentName?: string | null\n reset?: boolean\n}\n\nexport class ThemeManager {\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n themeListeners = new Set<ThemeListener>()\n className: string | null = null\n\n constructor(\n public name: string = '',\n public theme: ThemeObject | null = null,\n public parentManager: ThemeManager | null = null,\n public reset: boolean = false\n ) {\n // find the nearest different parentManager\n let parent = parentManager\n let tries = 0\n while (true) {\n tries++\n if (tries > 10) {\n throw new Error(`Nested 10 of the same theme in a row, likely error`)\n }\n if (!parent) break\n if (parent.name === name) {\n // go up if same\n parent = parent.parentManager\n } else {\n this.parentManager = parent\n break\n }\n }\n }\n\n get parentName() {\n return this.parentManager?.name || null\n }\n\n get fullName(): string {\n return this.getNextTheme().name || this.name || ''\n // const parentName = this.parentManager?.fullName || ''\n // const name = this.name || ''\n // const parts = [...new Set([...`${parentName}_${name}`.split('_')])].filter(Boolean)\n // return parts.join('_')\n }\n\n // gets value going up to parents\n getValue(key: string) {\n let theme = this.theme\n let manager = this as ThemeManager | null\n while (true) {\n if (!theme) return\n if (key in theme) {\n return theme[key]\n }\n manager = this.parentManager\n if (!manager) {\n return\n }\n if (manager.theme === theme) {\n return\n }\n theme = manager.theme\n }\n }\n\n update({ name, theme, className }: SetActiveThemeProps = {}) {\n // className compare on web, avoids light/dark re-renders\n const nameChanged = name !== this.name\n if (!nameChanged) {\n return false\n }\n this.className = className || null\n this.name = name || ''\n this.theme = theme\n this.notifyListeners()\n return true\n }\n\n getNextTheme(props: GetNextThemeProps = {}, debug?: any) {\n const { themes = getThemes(), name, componentName } = props\n\n if (props.reset && name) {\n return {\n name: name,\n theme: themes[name],\n className: this.getClassName(name),\n }\n }\n\n const parentIsReset = this.parentManager?.reset\n\n if (!name) {\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${this.name}_${componentName}`,\n `${withoutComponentName(this.name)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n const className = this.getClassName(name)\n return { name, theme: themes[name], className }\n }\n }\n }\n return {\n name: this.name,\n theme: this.theme,\n }\n }\n\n let nextName = name || this.name || ''\n let parentName = parentIsReset ? this.parentName || this.fullName : this.fullName\n\n while (true) {\n if (nextName in themes) {\n break\n }\n nextName = `${parentName}_${name}`\n if (nextName in themes) {\n break\n }\n if (!parentName.includes(THEME_NAME_SEPARATOR)) {\n // not found!\n console.warn('theme not found', name)\n // this happens in next during _document.getInitialProps and has a terrible/non-existent stack trace\n // throw new Error(`Theme not found: ${name}`)\n break\n }\n // go up one\n parentName = parentName.slice(0, parentName.lastIndexOf(THEME_NAME_SEPARATOR))\n }\n\n if (componentName) {\n // allow for _Card_Button or just _Button\n const names = [\n `${nextName}_${componentName}`,\n `${withoutComponentName(nextName)}_${componentName}`,\n ]\n for (const name of names) {\n if (name in themes) {\n nextName = name\n }\n }\n }\n\n let theme = themes[nextName]\n if (!theme) {\n theme = themes[`light_${nextName}`]\n }\n\n if (process.env.NODE_ENV === 'development' && debug) {\n console.log('getNextTheme', { props, nextName, parentName }, this)\n }\n\n return {\n name: nextName,\n theme,\n className: this.getClassName(nextName),\n }\n }\n\n getClassName(name: string) {\n return `${THEME_CLASSNAME_PREFIX}${name} t_Theme`.replace('light_', '').replace('dark_', '')\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n notifyListeners() {\n if (!this.name) {\n this.keys.clear()\n }\n for (const [uuid, keys] of this.keys.entries()) {\n if (keys.size) {\n this.listeners.get(uuid)?.()\n }\n }\n this.themeListeners.forEach((cb) => cb(this.name, this))\n }\n\n onChangeTheme(cb: ThemeListener) {\n this.themeListeners.add(cb)\n return () => {\n this.themeListeners.delete(cb)\n }\n }\n\n onUpdate(uuid: any, cb: Function) {\n this.listeners.set(uuid, cb)\n return () => {\n this.listeners.delete(uuid)\n this.keys.delete(uuid)\n }\n }\n}\n\nexport const ThemeManagerContext = createContext<ThemeManager | null>(null)\nexport const emptyManager = new ThemeManager()\n\nconst withoutComponentName = (name: string) => name.replace(/(\\_[A-Z][a-zA-Z]+)+$/g, '')\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/esm/conf.js CHANGED
@@ -1,29 +1,31 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- import { Tamagui } from "./Tamagui";
4
1
  let conf;
5
- const setConfig = /* @__PURE__ */ __name((next) => {
2
+ const setConfig = (next) => {
6
3
  conf = next;
7
4
  if (configListeners.size) {
8
5
  configListeners.forEach((cb) => cb(conf));
9
6
  configListeners.clear();
10
7
  }
11
- }, "setConfig");
12
- const getHasConfigured = /* @__PURE__ */ __name(() => !!conf, "getHasConfigured");
13
- const getConfig = /* @__PURE__ */ __name(() => conf, "getConfig");
14
- const getTokens = /* @__PURE__ */ __name(() => conf.tokensParsed, "getTokens");
15
- const getThemes = /* @__PURE__ */ __name(() => conf.themes, "getThemes");
8
+ };
9
+ const setConfigFont = (name, font, fontParsed) => {
10
+ if (process.env.NODE_ENV === "development") {
11
+ if (!conf)
12
+ throw new Error(`Haven't called createTamagui yet`);
13
+ }
14
+ Object.assign(conf.fonts, { [name]: font });
15
+ Object.assign(conf.fontsParsed, { [`$${name}`]: fontParsed });
16
+ };
17
+ const getHasConfigured = () => !!conf;
18
+ const getConfig = () => conf;
19
+ const getTokens = () => conf.tokensParsed;
20
+ const getThemes = () => conf.themes;
16
21
  const configListeners = /* @__PURE__ */ new Set();
17
- const onConfiguredOnce = /* @__PURE__ */ __name((cb) => {
22
+ const onConfiguredOnce = (cb) => {
18
23
  if (conf) {
19
24
  cb(conf);
20
25
  } else {
21
26
  configListeners.add(cb);
22
27
  }
23
- if (!globalThis["Tamagui"]) {
24
- globalThis["Tamagui"] = Tamagui;
25
- }
26
- }, "onConfiguredOnce");
28
+ };
27
29
  export {
28
30
  configListeners,
29
31
  getConfig,
@@ -31,6 +33,7 @@ export {
31
33
  getThemes,
32
34
  getTokens,
33
35
  onConfiguredOnce,
34
- setConfig
36
+ setConfig,
37
+ setConfigFont
35
38
  };
36
39
  //# sourceMappingURL=conf.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/conf.ts"],
4
- "sourcesContent": ["import { Tamagui } from './Tamagui'\nimport { ConfigListener, TamaguiInternalConfig } from './types'\n\nlet conf: TamaguiInternalConfig | null\n\nexport const setConfig = (next: TamaguiInternalConfig) => {\n conf = next\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(conf!))\n configListeners.clear()\n }\n}\n\nexport const getHasConfigured = () => !!conf\nexport const getConfig = () => conf!\nexport const getTokens = () => conf!.tokensParsed\nexport const getThemes = () => conf!.themes\n\nexport const configListeners = new Set<ConfigListener>()\n\nexport const onConfiguredOnce = (cb: ConfigListener) => {\n if (conf) {\n cb(conf!)\n } else {\n configListeners.add(cb)\n }\n\n if (!globalThis['Tamagui']) {\n globalThis['Tamagui'] = Tamagui\n }\n}\n"],
5
- "mappings": ";;AAAA;AAGA,IAAI;AAEG,MAAM,YAAY,wBAAC,SAAgC;AACxD,SAAO;AACP,MAAI,gBAAgB,MAAM;AACxB,oBAAgB,QAAQ,CAAC,OAAO,GAAG,IAAK,CAAC;AACzC,oBAAgB,MAAM;AAAA,EACxB;AACF,GANyB;AAQlB,MAAM,mBAAmB,6BAAM,CAAC,CAAC,MAAR;AACzB,MAAM,YAAY,6BAAM,MAAN;AAClB,MAAM,YAAY,6BAAM,KAAM,cAAZ;AAClB,MAAM,YAAY,6BAAM,KAAM,QAAZ;AAElB,MAAM,kBAAkB,oBAAI,IAAoB;AAEhD,MAAM,mBAAmB,wBAAC,OAAuB;AACtD,MAAI,MAAM;AACR,OAAG,IAAK;AAAA,EACV,OAAO;AACL,oBAAgB,IAAI,EAAE;AAAA,EACxB;AAEA,MAAI,CAAC,WAAW,YAAY;AAC1B,eAAW,aAAa;AAAA,EAC1B;AACF,GAVgC;",
4
+ "sourcesContent": ["import { ConfigListener, TamaguiInternalConfig } from './types'\n\nlet conf: TamaguiInternalConfig | null\n\nexport const setConfig = (next: TamaguiInternalConfig) => {\n conf = next\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(conf!))\n configListeners.clear()\n }\n}\n\nexport const setConfigFont = (name: string, font: any, fontParsed: any) => {\n if (process.env.NODE_ENV === 'development') {\n if (!conf) throw new Error(`Haven't called createTamagui yet`)\n }\n Object.assign(conf!.fonts, { [name]: font })\n Object.assign(conf!.fontsParsed, { [`$${name}`]: fontParsed })\n}\n\nexport const getHasConfigured = () => !!conf\nexport const getConfig = () => conf!\nexport const getTokens = () => conf!.tokensParsed\nexport const getThemes = () => conf!.themes\n\nexport const configListeners = new Set<ConfigListener>()\n\nexport const onConfiguredOnce = (cb: ConfigListener) => {\n if (conf) {\n cb(conf!)\n } else {\n configListeners.add(cb)\n }\n}\n"],
5
+ "mappings": "AAEA,IAAI;AAEG,MAAM,YAAY,CAAC,SAAgC;AACxD,SAAO;AACP,MAAI,gBAAgB,MAAM;AACxB,oBAAgB,QAAQ,CAAC,OAAO,GAAG,IAAK,CAAC;AACzC,oBAAgB,MAAM;AAAA,EACxB;AACF;AAEO,MAAM,gBAAgB,CAAC,MAAc,MAAW,eAAoB;AACzE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC;AAAM,YAAM,IAAI,MAAM,kCAAkC;AAAA,EAC/D;AACA,SAAO,OAAO,KAAM,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC;AAC3C,SAAO,OAAO,KAAM,aAAa,EAAE,CAAC,IAAI,SAAS,WAAW,CAAC;AAC/D;AAEO,MAAM,mBAAmB,MAAM,CAAC,CAAC;AACjC,MAAM,YAAY,MAAM;AACxB,MAAM,YAAY,MAAM,KAAM;AAC9B,MAAM,YAAY,MAAM,KAAM;AAE9B,MAAM,kBAAkB,oBAAI,IAAoB;AAEhD,MAAM,mBAAmB,CAAC,OAAuB;AACtD,MAAI,MAAM;AACR,OAAG,IAAK;AAAA,EACV,OAAO;AACL,oBAAgB,IAAI,EAAE;AAAA,EACxB;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,15 +1,30 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
1
17
  import { isWeb } from "./platform";
2
18
  const THEME_NAME_SEPARATOR = "_";
3
- const THEME_CLASSNAME_PREFIX = `tui_`;
4
- const stackDefaultStyles = {
19
+ const THEME_CLASSNAME_PREFIX = `t_`;
20
+ const stackDefaultStyles = __spreadValues({
5
21
  alignItems: "stretch",
6
- flexShrink: 0,
7
- ...isWeb && {
8
- display: "flex",
9
- flexBasis: "auto",
10
- boxSizing: "border-box"
11
- }
12
- };
22
+ flexShrink: 0
23
+ }, isWeb && {
24
+ display: "flex",
25
+ flexBasis: "auto",
26
+ boxSizing: "border-box"
27
+ });
13
28
  export {
14
29
  THEME_CLASSNAME_PREFIX,
15
30
  THEME_NAME_SEPARATOR,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants/constants.ts"],
4
- "sourcesContent": ["import { isWeb } from './platform'\n\nexport const THEME_NAME_SEPARATOR = '_'\nexport const THEME_CLASSNAME_PREFIX = `tui_`\n\nexport const stackDefaultStyles = {\n alignItems: 'stretch',\n flexShrink: 0,\n // more accurately match react-native defaults on web\n ...(isWeb && {\n display: 'flex',\n flexBasis: 'auto',\n boxSizing: 'border-box',\n }),\n}\n"],
5
- "mappings": "AAAA;AAEO,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAE/B,MAAM,qBAAqB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AAAA,KAER,SAAS;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,EACb;AACF;",
4
+ "sourcesContent": ["import { isWeb } from './platform'\n\nexport const THEME_NAME_SEPARATOR = '_'\nexport const THEME_CLASSNAME_PREFIX = `t_`\n\nexport const stackDefaultStyles = {\n alignItems: 'stretch',\n flexShrink: 0,\n // more accurately match react-native defaults on web\n ...(isWeb && {\n display: 'flex',\n flexBasis: 'auto',\n boxSizing: 'border-box',\n }),\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAEO,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAE/B,MAAM,qBAAqB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AAAA,GAER,SAAS;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AACb;",
6
6
  "names": []
7
7
  }
@@ -1,15 +1,15 @@
1
- var _a, _b, _c;
1
+ var _a, _b;
2
2
  import { useEffect, useLayoutEffect } from "react";
3
3
  import { Platform } from "react-native";
4
4
  const isAndroid = ((_a = Platform) == null ? void 0 : _a.OS) === "android";
5
5
  const isIOS = ((_b = Platform) == null ? void 0 : _b.OS) === "ios";
6
- const isWeb = process.env.TAMAGUI_TARGET !== "native" && (process.env.TAMAGUI_TARGET === "web" || ((_c = Platform) == null ? void 0 : _c.OS) === "web");
6
+ const isWeb = process.env.TAMAGUI_TARGET === "web";
7
7
  const isSSR = isWeb && typeof window === "undefined";
8
8
  const isClient = isWeb && typeof window !== "undefined";
9
9
  const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;
10
10
  const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
11
- const supportsTouchWeb = typeof window !== "undefined" && "ontouchstart" in window;
12
- const isTouchDevice = !isWeb || supportsTouchWeb;
11
+ const isWebTouchable = typeof window !== "undefined" && "ontouchstart" in window;
12
+ const isTouchable = !isWeb || isWebTouchable;
13
13
  const isWebIOS = isWeb && typeof navigator !== "undefined" && (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window["MSStream"];
14
14
  export {
15
15
  isAndroid,
@@ -17,10 +17,10 @@ export {
17
17
  isClient,
18
18
  isIOS,
19
19
  isSSR,
20
- isTouchDevice,
20
+ isTouchable,
21
21
  isWeb,
22
22
  isWebIOS,
23
- supportsTouchWeb,
23
+ isWebTouchable,
24
24
  useIsomorphicLayoutEffect
25
25
  };
26
26
  //# sourceMappingURL=platform.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants/platform.ts"],
4
- "sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\n\nexport const isWeb =\n process.env.TAMAGUI_TARGET !== 'native' &&\n (process.env.TAMAGUI_TARGET === 'web' || Platform?.OS === 'web')\n\nexport const isSSR = isWeb && typeof window === 'undefined'\nexport const isClient = isWeb && typeof window !== 'undefined'\nexport const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const supportsTouchWeb = typeof window !== 'undefined' && 'ontouchstart' in window\nexport const isTouchDevice = !isWeb || supportsTouchWeb\nexport const isWebIOS =\n isWeb &&\n typeof navigator !== 'undefined' &&\n (/iPad|iPhone|iPod/.test(navigator.platform) ||\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) &&\n !window['MSStream']\n"],
5
- "mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAE/B,MAAM,QACX,QAAQ,IAAI,mBAAmB,YAC9B,SAAQ,IAAI,mBAAmB,SAAS,uCAAU,QAAO;AAErD,MAAM,QAAQ,SAAS,OAAO,WAAW;AACzC,MAAM,WAAW,SAAS,OAAO,WAAW;AAC5C,MAAM,4BAA4B,QAAQ,YAAY;AACtD,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa,EAAE;AAC5F,MAAM,mBAAmB,OAAO,WAAW,eAAe,kBAAkB;AAC5E,MAAM,gBAAgB,CAAC,SAAS;AAChC,MAAM,WACX,SACA,OAAO,cAAc,eACpB,oBAAmB,KAAK,UAAU,QAAQ,KACxC,UAAU,aAAa,cAAc,UAAU,iBAAiB,MACnE,CAAC,OAAO;",
4
+ "sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web'\nexport const isSSR = isWeb && typeof window === 'undefined'\nexport const isClient = isWeb && typeof window !== 'undefined'\nexport const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const isWebTouchable = typeof window !== 'undefined' && 'ontouchstart' in window\nexport const isTouchable = !isWeb || isWebTouchable\nexport const isWebIOS =\n isWeb &&\n typeof navigator !== 'undefined' &&\n (/iPad|iPhone|iPod/.test(navigator.platform) ||\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) &&\n !window['MSStream']\n"],
5
+ "mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ,QAAQ,IAAI,mBAAmB;AAC7C,MAAM,QAAQ,SAAS,OAAO,WAAW;AACzC,MAAM,WAAW,SAAS,OAAO,WAAW;AAC5C,MAAM,4BAA4B,QAAQ,YAAY;AACtD,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa,EAAE;AAC5F,MAAM,iBAAiB,OAAO,WAAW,eAAe,kBAAkB;AAC1E,MAAM,cAAc,CAAC,SAAS;AAC9B,MAAM,WACX,SACA,OAAO,cAAc,eACpB,oBAAmB,KAAK,UAAU,QAAQ,KACxC,UAAU,aAAa,cAAc,UAAU,iBAAiB,MACnE,CAAC,OAAO;",
6
6
  "names": []
7
7
  }
@@ -1,23 +1,5 @@
1
- var __defProp = Object.defineProperty;
2
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
- const interopRequire = /* @__PURE__ */ __name((src) => "default" in src ? src.default : src, "interopRequire");
4
- const rnw = {};
5
- if (process.env.IS_STATIC === "is_static") {
6
- const createDOMProps = require("react-native-web/dist/cjs/modules/createDOMProps/index.js");
7
- const createCompileableStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createCompileableStyle");
8
- const createReactDOMStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createReactDOMStyle");
9
- const i18Style = require("react-native-web/dist/cjs/exports/StyleSheet/i18nStyle");
10
- const atomic = require("react-native-web/dist/cjs/exports/StyleSheet/compile").atomic;
11
- Object.assign(rnw, {
12
- createDOMProps,
13
- createCompileableStyle,
14
- createReactDOMStyle,
15
- i18Style,
16
- atomic
17
- });
18
- } else if (process.env.TAMAGUI_TARGET === "web") {
19
- Object.assign(rnw, interopRequire(require("react-native-web").TamaguiExports));
20
- }
1
+ import * as RNW from "react-native-web";
2
+ const rnw = RNW["TamaguiExports"];
21
3
  export {
22
4
  rnw
23
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/constants/rnw.tsx"],
4
- "sourcesContent": ["const interopRequire = (src: any) => ('default' in src ? src.default : src)\n\nexport const rnw: Record<string, any> = {}\n\n// in static mode, require them directly since we can't import react-native-web at all (it has flow stuff in it)\nif (process.env.IS_STATIC === 'is_static') {\n const createDOMProps = require('react-native-web/dist/cjs/modules/createDOMProps/index.js')\n const createCompileableStyle = require('react-native-web/dist/cjs/exports/StyleSheet/createCompileableStyle')\n const createReactDOMStyle = require('react-native-web/dist/cjs/exports/StyleSheet/createReactDOMStyle')\n const i18Style = require('react-native-web/dist/cjs/exports/StyleSheet/i18nStyle')\n const atomic = require('react-native-web/dist/cjs/exports/StyleSheet/compile').atomic\n Object.assign(rnw, {\n createDOMProps,\n createCompileableStyle,\n createReactDOMStyle,\n i18Style,\n atomic,\n })\n} else if (process.env.TAMAGUI_TARGET === 'web') {\n // when targeting web (client) import it like so\n Object.assign(rnw, interopRequire(require('react-native-web').TamaguiExports))\n}\n"],
5
- "mappings": ";;AAAA,MAAM,iBAAiB,wBAAC,QAAc,aAAa,MAAM,IAAI,UAAU,KAAhD;AAEhB,MAAM,MAA2B,CAAC;AAGzC,IAAI,QAAQ,IAAI,cAAc,aAAa;AACzC,QAAM,iBAAiB,QAAQ,2DAA2D;AAC1F,QAAM,yBAAyB,QAAQ,qEAAqE;AAC5G,QAAM,sBAAsB,QAAQ,kEAAkE;AACtG,QAAM,WAAW,QAAQ,wDAAwD;AACjF,QAAM,SAAS,QAAQ,sDAAsD,EAAE;AAC/E,SAAO,OAAO,KAAK;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH,WAAW,QAAQ,IAAI,mBAAmB,OAAO;AAE/C,SAAO,OAAO,KAAK,eAAe,QAAQ,kBAAkB,EAAE,cAAc,CAAC;AAC/E;",
4
+ "sourcesContent": ["import * as RNW from 'react-native-web'\n\nexport const rnw = RNW['TamaguiExports']\n"],
5
+ "mappings": "AAAA;AAEO,MAAM,MAAM,IAAI;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,5 @@
1
+ const rnw = {};
2
+ export {
3
+ rnw
4
+ };
5
+ //# sourceMappingURL=rnw.native.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/rnw.native.tsx"],
4
+ "sourcesContent": ["export const rnw = {} as any\n"],
5
+ "mappings": "AAAO,MAAM,MAAM,CAAC;",
6
+ "names": []
7
+ }