@tamagui/core 1.0.0-alpha.31 → 1.0.0-alpha.38

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 (333) hide show
  1. package/dist/constants/constants.js +32 -0
  2. package/dist/constants/constants.js.map +7 -0
  3. package/dist/{esm/constants → constants}/platform.js +2 -2
  4. package/dist/constants/platform.js.map +7 -0
  5. package/dist/constants/rnw.js +10 -0
  6. package/dist/constants/rnw.js.map +7 -0
  7. package/dist/constants/styleConstants.js +59 -0
  8. package/dist/constants/styleConstants.js.map +7 -0
  9. package/dist/{esm/createComponent.js → createComponent.js} +125 -191
  10. package/dist/createComponent.js.map +7 -0
  11. package/dist/{esm/createShorthands.js → createShorthands.js} +0 -0
  12. package/dist/createShorthands.js.map +7 -0
  13. package/dist/createTamagui.js +107 -0
  14. package/dist/createTamagui.js.map +7 -0
  15. package/dist/{esm/createTokens.js → createTokens.js} +0 -4
  16. package/dist/createTokens.js.map +7 -0
  17. package/dist/{esm/createVariable.js → createVariable.js} +2 -6
  18. package/dist/createVariable.js.map +7 -0
  19. package/dist/helpers/addStylesUsingClassname.js +28 -0
  20. package/dist/helpers/addStylesUsingClassname.js.map +7 -0
  21. package/dist/{esm/helpers → helpers}/createMediaStyle.js +0 -0
  22. package/dist/{esm/helpers → helpers}/createMediaStyle.js.map +1 -1
  23. package/dist/{esm/helpers → helpers}/createTamaguiProvider.js +20 -2
  24. package/dist/helpers/createTamaguiProvider.js.map +7 -0
  25. package/dist/helpers/extendStaticConfig.js +158 -0
  26. package/dist/helpers/extendStaticConfig.js.map +7 -0
  27. package/dist/helpers/fixNativeShadow.js +38 -0
  28. package/dist/helpers/fixNativeShadow.js.map +7 -0
  29. package/dist/{esm/helpers → helpers}/getSplitStyles.js +40 -43
  30. package/dist/helpers/getSplitStyles.js.map +7 -0
  31. package/dist/{esm/helpers → helpers}/insertStyleRule.js +0 -7
  32. package/dist/helpers/insertStyleRule.js.map +7 -0
  33. package/dist/{esm/helpers → helpers}/matchMedia.js +0 -3
  34. package/dist/helpers/matchMedia.js.map +7 -0
  35. package/dist/{esm/helpers → helpers}/matchMedia.native.js +0 -1
  36. package/dist/{esm/helpers → helpers}/matchMedia.native.js.map +3 -3
  37. package/dist/helpers/setIfChanged.js +17 -0
  38. package/dist/helpers/setIfChanged.js.map +7 -0
  39. package/dist/{esm/helpers → helpers}/themeable.js +0 -0
  40. package/dist/{esm/helpers → helpers}/themeable.js.map +3 -3
  41. package/dist/{esm/hooks → hooks}/useConstant.js +0 -0
  42. package/dist/{esm/hooks → hooks}/useConstant.js.map +1 -1
  43. package/dist/{esm/hooks → hooks}/useFeatures.js +51 -39
  44. package/dist/hooks/useFeatures.js.map +7 -0
  45. package/dist/hooks/useForceUpdate.js +28 -0
  46. package/dist/hooks/useForceUpdate.js.map +7 -0
  47. package/dist/{esm/hooks → hooks}/useMedia.js +16 -16
  48. package/dist/hooks/useMedia.js.map +7 -0
  49. package/dist/{esm/hooks → hooks}/usePressable.js +0 -0
  50. package/dist/{esm/hooks → hooks}/usePressable.js.map +1 -1
  51. package/dist/{esm/hooks → hooks}/useTheme.js +24 -26
  52. package/dist/hooks/useTheme.js.map +7 -0
  53. package/dist/index.cjs +1837 -0
  54. package/dist/index.cjs.map +7 -0
  55. package/dist/{esm/index.js → index.js} +4 -6
  56. package/dist/index.js.map +7 -0
  57. package/dist/{esm/static → static}/postProcessStyles.js +3 -3
  58. package/dist/static/postProcessStyles.js.map +7 -0
  59. package/dist/{esm/static.js → static.js} +1 -6
  60. package/dist/static.js.map +7 -0
  61. package/dist/styled.js +28 -0
  62. package/dist/styled.js.map +7 -0
  63. package/dist/testtypes.js +1 -0
  64. package/dist/{esm/types.js.map → testtypes.js.map} +0 -0
  65. package/dist/{esm/types.js → types.js} +0 -0
  66. package/dist/types.js.map +7 -0
  67. package/dist/{esm/views → views}/Animated.js +0 -0
  68. package/dist/{esm/views → views}/Animated.js.map +3 -3
  69. package/dist/{esm/views → views}/Stack.js +1 -1
  70. package/dist/views/Stack.js.map +7 -0
  71. package/dist/views/Text.js +36 -0
  72. package/dist/views/Text.js.map +7 -0
  73. package/dist/{esm/views → views}/TextAncestorContext.js +8 -7
  74. package/dist/views/TextAncestorContext.js.map +7 -0
  75. package/dist/{esm/views → views}/Theme.js +23 -28
  76. package/dist/views/Theme.js.map +7 -0
  77. package/dist/{esm/views → views}/ThemeContext.js +0 -0
  78. package/dist/{esm/views → views}/ThemeContext.js.map +1 -1
  79. package/dist/{esm/views → views}/ThemeInverse.js +1 -0
  80. package/dist/{esm/views → views}/ThemeInverse.js.map +3 -3
  81. package/dist/{esm/views → views}/ThemeManagerContext.js +5 -11
  82. package/dist/views/ThemeManagerContext.js.map +7 -0
  83. package/dist/{esm/views → views}/ThemeProvider.js +10 -10
  84. package/dist/views/ThemeProvider.js.map +7 -0
  85. package/package.json +6 -9
  86. package/types/createTheme.d.ts +1 -1
  87. package/types/helpers/fixNativeShadow.native.d.ts +1 -1
  88. package/types/styled.d.ts +1 -1
  89. package/types/types.d.ts +1 -1
  90. package/dist/cjs/constants/constants.js +0 -50
  91. package/dist/cjs/constants/constants.js.map +0 -7
  92. package/dist/cjs/constants/platform.js +0 -43
  93. package/dist/cjs/constants/platform.js.map +0 -7
  94. package/dist/cjs/constants/pseudos.js +0 -25
  95. package/dist/cjs/constants/pseudos.js.map +0 -7
  96. package/dist/cjs/constants/rnw.js +0 -28
  97. package/dist/cjs/constants/rnw.js.map +0 -7
  98. package/dist/cjs/createComponent.js +0 -529
  99. package/dist/cjs/createComponent.js.map +0 -7
  100. package/dist/cjs/createFont.js +0 -50
  101. package/dist/cjs/createFont.js.map +0 -7
  102. package/dist/cjs/createShorthands.js +0 -16
  103. package/dist/cjs/createShorthands.js.map +0 -7
  104. package/dist/cjs/createTamagui.js +0 -223
  105. package/dist/cjs/createTamagui.js.map +0 -7
  106. package/dist/cjs/createTheme.js +0 -13
  107. package/dist/cjs/createTheme.js.map +0 -7
  108. package/dist/cjs/createTokens.js +0 -55
  109. package/dist/cjs/createTokens.js.map +0 -7
  110. package/dist/cjs/createVariable.js +0 -47
  111. package/dist/cjs/createVariable.js.map +0 -7
  112. package/dist/cjs/helpers/addStylesUsingClassname.js +0 -79
  113. package/dist/cjs/helpers/addStylesUsingClassname.js.map +0 -7
  114. package/dist/cjs/helpers/createMediaStyle.js +0 -56
  115. package/dist/cjs/helpers/createMediaStyle.js.map +0 -7
  116. package/dist/cjs/helpers/createPropMapper.js +0 -197
  117. package/dist/cjs/helpers/createPropMapper.js.map +0 -7
  118. package/dist/cjs/helpers/createTamaguiProvider.js +0 -74
  119. package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -7
  120. package/dist/cjs/helpers/extendStaticConfig.js +0 -82
  121. package/dist/cjs/helpers/extendStaticConfig.js.map +0 -7
  122. package/dist/cjs/helpers/fixNativeShadow.js +0 -14
  123. package/dist/cjs/helpers/fixNativeShadow.js.map +0 -7
  124. package/dist/cjs/helpers/fixNativeShadow.native.js +0 -36
  125. package/dist/cjs/helpers/fixNativeShadow.native.js.map +0 -7
  126. package/dist/cjs/helpers/getSplitStyles.js +0 -180
  127. package/dist/cjs/helpers/getSplitStyles.js.map +0 -7
  128. package/dist/cjs/helpers/getStylesAtomic.js +0 -117
  129. package/dist/cjs/helpers/getStylesAtomic.js.map +0 -7
  130. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -16
  131. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -7
  132. package/dist/cjs/helpers/insertStyleRule.js +0 -46
  133. package/dist/cjs/helpers/insertStyleRule.js.map +0 -7
  134. package/dist/cjs/helpers/isObj.js +0 -13
  135. package/dist/cjs/helpers/isObj.js.map +0 -7
  136. package/dist/cjs/helpers/isTamaguiElement.js +0 -33
  137. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -7
  138. package/dist/cjs/helpers/matchMedia.js +0 -24
  139. package/dist/cjs/helpers/matchMedia.js.map +0 -7
  140. package/dist/cjs/helpers/matchMedia.native.js +0 -31
  141. package/dist/cjs/helpers/matchMedia.native.js.map +0 -7
  142. package/dist/cjs/helpers/themeable.js +0 -78
  143. package/dist/cjs/helpers/themeable.js.map +0 -7
  144. package/dist/cjs/helpers/validate.js +0 -82
  145. package/dist/cjs/helpers/validate.js.map +0 -7
  146. package/dist/cjs/hooks/useConstant.js +0 -37
  147. package/dist/cjs/hooks/useConstant.js.map +0 -7
  148. package/dist/cjs/hooks/useFeatures.js +0 -100
  149. package/dist/cjs/hooks/useFeatures.js.map +0 -7
  150. package/dist/cjs/hooks/useMedia.js +0 -207
  151. package/dist/cjs/hooks/useMedia.js.map +0 -7
  152. package/dist/cjs/hooks/usePressable.js +0 -50
  153. package/dist/cjs/hooks/usePressable.js.map +0 -7
  154. package/dist/cjs/hooks/useTheme.js +0 -118
  155. package/dist/cjs/hooks/useTheme.js.map +0 -7
  156. package/dist/cjs/index.js +0 -55
  157. package/dist/cjs/index.js.map +0 -7
  158. package/dist/cjs/static/postProcessStyles.js +0 -40
  159. package/dist/cjs/static/postProcessStyles.js.map +0 -7
  160. package/dist/cjs/static.js +0 -34
  161. package/dist/cjs/static.js.map +0 -7
  162. package/dist/cjs/styled.js +0 -72
  163. package/dist/cjs/styled.js.map +0 -7
  164. package/dist/cjs/types.js +0 -4
  165. package/dist/cjs/types.js.map +0 -7
  166. package/dist/cjs/views/Animated.js +0 -129
  167. package/dist/cjs/views/Animated.js.map +0 -7
  168. package/dist/cjs/views/Stack.js +0 -51
  169. package/dist/cjs/views/Stack.js.map +0 -7
  170. package/dist/cjs/views/Text.js +0 -93
  171. package/dist/cjs/views/Text.js.map +0 -7
  172. package/dist/cjs/views/TextAncestorContext.js +0 -40
  173. package/dist/cjs/views/TextAncestorContext.js.map +0 -7
  174. package/dist/cjs/views/Theme.js +0 -91
  175. package/dist/cjs/views/Theme.js.map +0 -7
  176. package/dist/cjs/views/ThemeContext.js +0 -29
  177. package/dist/cjs/views/ThemeContext.js.map +0 -7
  178. package/dist/cjs/views/ThemeInverse.js +0 -48
  179. package/dist/cjs/views/ThemeInverse.js.map +0 -7
  180. package/dist/cjs/views/ThemeManagerContext.js +0 -84
  181. package/dist/cjs/views/ThemeManagerContext.js.map +0 -7
  182. package/dist/cjs/views/ThemeProvider.js +0 -67
  183. package/dist/cjs/views/ThemeProvider.js.map +0 -7
  184. package/dist/esm/constants/constants.js +0 -14
  185. package/dist/esm/constants/constants.js.map +0 -7
  186. package/dist/esm/constants/platform.js.map +0 -7
  187. package/dist/esm/constants/pseudos.js +0 -18
  188. package/dist/esm/constants/pseudos.js.map +0 -7
  189. package/dist/esm/constants/rnw.js +0 -22
  190. package/dist/esm/constants/rnw.js.map +0 -7
  191. package/dist/esm/createComponent.js.map +0 -7
  192. package/dist/esm/createFont.js +0 -28
  193. package/dist/esm/createFont.js.map +0 -7
  194. package/dist/esm/createShorthands.js.map +0 -7
  195. package/dist/esm/createTamagui.js +0 -184
  196. package/dist/esm/createTamagui.js.map +0 -7
  197. package/dist/esm/createTheme.js +0 -7
  198. package/dist/esm/createTheme.js.map +0 -7
  199. package/dist/esm/createTokens.js.map +0 -7
  200. package/dist/esm/createVariable.js.map +0 -7
  201. package/dist/esm/helpers/addStylesUsingClassname.js +0 -57
  202. package/dist/esm/helpers/addStylesUsingClassname.js.map +0 -7
  203. package/dist/esm/helpers/createPropMapper.js +0 -160
  204. package/dist/esm/helpers/createPropMapper.js.map +0 -7
  205. package/dist/esm/helpers/createTamaguiProvider.js.map +0 -7
  206. package/dist/esm/helpers/extendStaticConfig.js +0 -59
  207. package/dist/esm/helpers/extendStaticConfig.js.map +0 -7
  208. package/dist/esm/helpers/fixNativeShadow.js +0 -8
  209. package/dist/esm/helpers/fixNativeShadow.js.map +0 -7
  210. package/dist/esm/helpers/fixNativeShadow.native.js +0 -30
  211. package/dist/esm/helpers/fixNativeShadow.native.js.map +0 -7
  212. package/dist/esm/helpers/getSplitStyles.js.map +0 -7
  213. package/dist/esm/helpers/getStylesAtomic.js +0 -83
  214. package/dist/esm/helpers/getStylesAtomic.js.map +0 -7
  215. package/dist/esm/helpers/getStylesAtomic.native.js +0 -10
  216. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -7
  217. package/dist/esm/helpers/insertStyleRule.js.map +0 -7
  218. package/dist/esm/helpers/isObj.js +0 -7
  219. package/dist/esm/helpers/isObj.js.map +0 -7
  220. package/dist/esm/helpers/isTamaguiElement.js +0 -10
  221. package/dist/esm/helpers/isTamaguiElement.js.map +0 -7
  222. package/dist/esm/helpers/matchMedia.js.map +0 -7
  223. package/dist/esm/helpers/validate.js +0 -60
  224. package/dist/esm/helpers/validate.js.map +0 -7
  225. package/dist/esm/hooks/useFeatures.js.map +0 -7
  226. package/dist/esm/hooks/useMedia.js.map +0 -7
  227. package/dist/esm/hooks/useTheme.js.map +0 -7
  228. package/dist/esm/index.js.map +0 -7
  229. package/dist/esm/static/postProcessStyles.js.map +0 -7
  230. package/dist/esm/static.js.map +0 -7
  231. package/dist/esm/styled.js +0 -21
  232. package/dist/esm/styled.js.map +0 -7
  233. package/dist/esm/views/Stack.js.map +0 -7
  234. package/dist/esm/views/Text.js +0 -60
  235. package/dist/esm/views/Text.js.map +0 -7
  236. package/dist/esm/views/TextAncestorContext.js.map +0 -7
  237. package/dist/esm/views/Theme.js.map +0 -7
  238. package/dist/esm/views/ThemeManagerContext.js.map +0 -7
  239. package/dist/esm/views/ThemeProvider.js.map +0 -7
  240. package/dist/jsx/constants/constants.js +0 -13
  241. package/dist/jsx/constants/platform.js +0 -18
  242. package/dist/jsx/constants/pseudos.js +0 -17
  243. package/dist/jsx/constants/rnw.js +0 -21
  244. package/dist/jsx/createComponent.js +0 -455
  245. package/dist/jsx/createFont.js +0 -27
  246. package/dist/jsx/createShorthands.js +0 -9
  247. package/dist/jsx/createTamagui.js +0 -183
  248. package/dist/jsx/createTheme.js +0 -6
  249. package/dist/jsx/createTokens.js +0 -32
  250. package/dist/jsx/createVariable.js +0 -24
  251. package/dist/jsx/helpers/addStylesUsingClassname.js +0 -56
  252. package/dist/jsx/helpers/createMediaStyle.js +0 -33
  253. package/dist/jsx/helpers/createPropMapper.js +0 -159
  254. package/dist/jsx/helpers/createTamaguiProvider.js +0 -19
  255. package/dist/jsx/helpers/extendStaticConfig.js +0 -58
  256. package/dist/jsx/helpers/fixNativeShadow.js +0 -7
  257. package/dist/jsx/helpers/fixNativeShadow.native.js +0 -29
  258. package/dist/jsx/helpers/getSplitStyles.js +0 -149
  259. package/dist/jsx/helpers/getStylesAtomic.js +0 -82
  260. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -9
  261. package/dist/jsx/helpers/insertStyleRule.js +0 -23
  262. package/dist/jsx/helpers/isObj.js +0 -6
  263. package/dist/jsx/helpers/isTamaguiElement.js +0 -9
  264. package/dist/jsx/helpers/matchMedia.js +0 -17
  265. package/dist/jsx/helpers/matchMedia.native.js +0 -8
  266. package/dist/jsx/helpers/themeable.js +0 -23
  267. package/dist/jsx/helpers/validate.js +0 -59
  268. package/dist/jsx/hooks/useConstant.js +0 -14
  269. package/dist/jsx/hooks/useFeatures.js +0 -57
  270. package/dist/jsx/hooks/useMedia.js +0 -172
  271. package/dist/jsx/hooks/usePressable.js +0 -12
  272. package/dist/jsx/hooks/useTheme.js +0 -95
  273. package/dist/jsx/index.js +0 -31
  274. package/dist/jsx/static/postProcessStyles.js +0 -17
  275. package/dist/jsx/static.js +0 -14
  276. package/dist/jsx/styled.js +0 -20
  277. package/dist/jsx/types.js +0 -0
  278. package/dist/jsx/views/Animated.js +0 -74
  279. package/dist/jsx/views/Stack.js +0 -11
  280. package/dist/jsx/views/Text.js +0 -59
  281. package/dist/jsx/views/TextAncestorContext.js +0 -14
  282. package/dist/jsx/views/Theme.js +0 -62
  283. package/dist/jsx/views/ThemeContext.js +0 -5
  284. package/dist/jsx/views/ThemeInverse.js +0 -22
  285. package/dist/jsx/views/ThemeManagerContext.js +0 -60
  286. package/dist/jsx/views/ThemeProvider.js +0 -39
  287. package/types/constants/constants.d.ts.map +0 -1
  288. package/types/constants/platform.d.ts.map +0 -1
  289. package/types/constants/pseudos.d.ts.map +0 -1
  290. package/types/constants/rnw.d.ts.map +0 -1
  291. package/types/createComponent.d.ts.map +0 -1
  292. package/types/createFont.d.ts.map +0 -1
  293. package/types/createShorthands.d.ts.map +0 -1
  294. package/types/createTamagui.d.ts.map +0 -1
  295. package/types/createTheme.d.ts.map +0 -1
  296. package/types/createTokens.d.ts.map +0 -1
  297. package/types/createVariable.d.ts.map +0 -1
  298. package/types/helpers/addStylesUsingClassname.d.ts.map +0 -1
  299. package/types/helpers/createMediaStyle.d.ts.map +0 -1
  300. package/types/helpers/createPropMapper.d.ts.map +0 -1
  301. package/types/helpers/createTamaguiProvider.d.ts.map +0 -1
  302. package/types/helpers/extendStaticConfig.d.ts.map +0 -1
  303. package/types/helpers/fixNativeShadow.d.ts.map +0 -1
  304. package/types/helpers/fixNativeShadow.native.d.ts.map +0 -1
  305. package/types/helpers/getSplitStyles.d.ts.map +0 -1
  306. package/types/helpers/getStylesAtomic.d.ts.map +0 -1
  307. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -1
  308. package/types/helpers/insertStyleRule.d.ts.map +0 -1
  309. package/types/helpers/isObj.d.ts.map +0 -1
  310. package/types/helpers/isTamaguiElement.d.ts.map +0 -1
  311. package/types/helpers/matchMedia.d.ts.map +0 -1
  312. package/types/helpers/matchMedia.native.d.ts.map +0 -1
  313. package/types/helpers/themeable.d.ts.map +0 -1
  314. package/types/helpers/validate.d.ts.map +0 -1
  315. package/types/hooks/useConstant.d.ts.map +0 -1
  316. package/types/hooks/useFeatures.d.ts.map +0 -1
  317. package/types/hooks/useMedia.d.ts.map +0 -1
  318. package/types/hooks/usePressable.d.ts.map +0 -1
  319. package/types/hooks/useTheme.d.ts.map +0 -1
  320. package/types/index.d.ts.map +0 -1
  321. package/types/static/postProcessStyles.d.ts.map +0 -1
  322. package/types/static.d.ts.map +0 -1
  323. package/types/styled.d.ts.map +0 -1
  324. package/types/types.d.ts.map +0 -1
  325. package/types/views/Animated.d.ts.map +0 -1
  326. package/types/views/Stack.d.ts.map +0 -1
  327. package/types/views/Text.d.ts.map +0 -1
  328. package/types/views/TextAncestorContext.d.ts.map +0 -1
  329. package/types/views/Theme.d.ts.map +0 -1
  330. package/types/views/ThemeContext.d.ts.map +0 -1
  331. package/types/views/ThemeInverse.d.ts.map +0 -1
  332. package/types/views/ThemeManagerContext.d.ts.map +0 -1
  333. package/types/views/ThemeProvider.d.ts.map +0 -1
@@ -10,39 +10,24 @@ const Theme = /* @__PURE__ */ __name((props) => {
10
10
  const parent = useContext(ThemeManagerContext);
11
11
  const themes = useContext(ThemeContext);
12
12
  const [parentName, setParentName] = useState(parent.name || "light");
13
- if (!themes) {
14
- console.warn("Error, no themes in context", props);
15
- return props.children;
16
- }
17
- const nextNameParent = `${props.name}-${parentName}`;
18
- const nextNameParentParent = `${props.name}-${parent.parentName}`;
19
- const name = !props.name ? null : props.name in themes ? props.name : nextNameParent in themes ? nextNameParent : nextNameParentParent in themes ? nextNameParentParent : null;
20
- const theme = name ? themes[name] : null;
13
+ const { name, theme } = getTheme(props.name, parentName, themes);
21
14
  const themeManager = useConstant(() => {
22
- if (!theme) {
23
- return null;
24
- }
25
15
  const manager = new ThemeManager();
26
16
  if (name) {
27
- manager.setActiveTheme({ name, theme: themes[name], parentName });
17
+ manager.setActiveTheme(name, themes[name]);
28
18
  }
29
19
  return manager;
30
20
  });
31
21
  useIsomorphicLayoutEffect(() => {
32
- if (!themeManager) {
33
- return;
34
- }
35
- if (name) {
36
- themeManager.setActiveTheme({ name, theme, parentName });
37
- }
22
+ themeManager.setActiveTheme(name, theme);
38
23
  return parent.onChangeTheme((next) => {
39
24
  if (next) {
40
- themeManager.setActiveTheme({ name: next, theme: themes[next], parentName });
25
+ themeManager.setActiveTheme(next, themes[next]);
41
26
  setParentName(next);
42
27
  }
43
28
  });
44
- }, [themes, name, parentName]);
45
- if (!name || !theme) {
29
+ }, [themes, name]);
30
+ if (!name) {
46
31
  return props.children;
47
32
  }
48
33
  const contents = themeManager ? /* @__PURE__ */ React.createElement(ThemeManagerContext.Provider, {
@@ -52,16 +37,26 @@ const Theme = /* @__PURE__ */ __name((props) => {
52
37
  if (props.disableThemeClass) {
53
38
  return contents;
54
39
  }
55
- if (name) {
56
- const color = themes[name]?.["color"]?.["variable"];
57
- return /* @__PURE__ */ React.createElement("div", {
58
- className: getThemeParentClassName(props.name),
59
- style: { display: "contents", color }
60
- }, contents);
61
- }
40
+ return /* @__PURE__ */ React.createElement("div", {
41
+ className: getThemeParentClassName(name),
42
+ style: { display: "contents", color: themes[name]?.["color"] }
43
+ }, contents);
62
44
  }
63
45
  return contents;
64
46
  }, "Theme");
47
+ function getTheme(name, parentName, themes) {
48
+ let fullName = name || parentName || "";
49
+ let nextTheme = themes[fullName];
50
+ if (name && !nextTheme) {
51
+ const themeSchemeName = `${fullName}-${parentName}`;
52
+ if (themes[themeSchemeName]) {
53
+ fullName = themeSchemeName;
54
+ nextTheme = themes[themeSchemeName];
55
+ }
56
+ }
57
+ return { name: fullName, theme: nextTheme };
58
+ }
59
+ __name(getTheme, "getTheme");
65
60
  export {
66
61
  Theme
67
62
  };
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/views/Theme.tsx"],
4
+ "sourcesContent": ["import React, { useContext, useState } from 'react'\n\nimport { isWeb, useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getThemeParentClassName } from '../createTamagui'\nimport { useConstant } from '../hooks/useConstant'\nimport { ThemeName, Themes } from '../types'\nimport { ThemeContext } from './ThemeContext'\nimport { ThemeManager, ThemeManagerContext } from './ThemeManagerContext'\n\nexport type ThemeProps = {\n disableThemeClass?: boolean\n name: ThemeName | null\n children?: any\n}\n\nexport const Theme = (props: ThemeProps) => {\n const parent = useContext(ThemeManagerContext)\n const themes = useContext(ThemeContext)\n const [parentName, setParentName] = useState(parent.name || 'light')\n const { name, theme } = getTheme(props.name as string, parentName, themes)\n const themeManager = useConstant<ThemeManager>(() => {\n const manager = new ThemeManager()\n if (name) {\n manager.setActiveTheme(name, themes[name])\n }\n return manager\n })\n\n useIsomorphicLayoutEffect(() => {\n themeManager.setActiveTheme(name, theme)\n return parent.onChangeTheme((next) => {\n if (next) {\n themeManager.setActiveTheme(next, themes[next])\n setParentName(next)\n }\n })\n }, [themes, name])\n\n if (!name) {\n return props.children\n }\n\n const contents = themeManager ? (\n <ThemeManagerContext.Provider value={themeManager}>{props.children}</ThemeManagerContext.Provider>\n ) : (\n props.children\n )\n\n if (isWeb) {\n if (props.disableThemeClass) {\n return contents\n }\n return (\n <div\n className={getThemeParentClassName(name)}\n // in order to provide currentColor, set color by default\n // @ts-ignore TODO\n style={{ display: 'contents', color: themes[name]?.['color'] }}\n >\n {contents}\n </div>\n )\n }\n\n return contents\n}\n\n// this will get the theme, but if there is none, will try and find a \"parent matching\" theme:\n// so if you parent theme name is \"light\", and you pass in \"purple\" and there's no purple theme,\n// this will check if \"purple-light\" exists and if so use that.\nfunction getTheme(name: string, parentName: string, themes: Themes) {\n let fullName = name || parentName || ''\n let nextTheme = themes[fullName]\n if (name && !nextTheme) {\n const themeSchemeName = `${fullName}-${parentName}`\n if (themes[themeSchemeName]) {\n fullName = themeSchemeName\n nextTheme = themes[themeSchemeName]\n }\n }\n return { name: fullName, theme: nextTheme }\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AACA;AAEA;AACA;AAQO,MAAM,QAAQ,wBAAC,UAAsB;AAC1C,QAAM,SAAS,WAAW;AAC1B,QAAM,SAAS,WAAW;AAC1B,QAAM,CAAC,YAAY,iBAAiB,SAAS,OAAO,QAAQ;AAC5D,QAAM,EAAE,MAAM,UAAU,SAAS,MAAM,MAAgB,YAAY;AACnE,QAAM,eAAe,YAA0B,MAAM;AACnD,UAAM,UAAU,IAAI;AACpB,QAAI,MAAM;AACR,cAAQ,eAAe,MAAM,OAAO;AAAA;AAEtC,WAAO;AAAA;AAGT,4BAA0B,MAAM;AAC9B,iBAAa,eAAe,MAAM;AAClC,WAAO,OAAO,cAAc,CAAC,SAAS;AACpC,UAAI,MAAM;AACR,qBAAa,eAAe,MAAM,OAAO;AACzC,sBAAc;AAAA;AAAA;AAAA,KAGjB,CAAC,QAAQ;AAEZ,MAAI,CAAC,MAAM;AACT,WAAO,MAAM;AAAA;AAGf,QAAM,WAAW,eACf,oCAAC,oBAAoB,UAArB;AAAA,IAA8B,OAAO;AAAA,KAAe,MAAM,YAE1D,MAAM;AAGR,MAAI,OAAO;AACT,QAAI,MAAM,mBAAmB;AAC3B,aAAO;AAAA;AAET,WACE,oCAAC,OAAD;AAAA,MACE,WAAW,wBAAwB;AAAA,MAGnC,OAAO,EAAE,SAAS,YAAY,OAAO,OAAO,QAAQ;AAAA,OAEnD;AAAA;AAKP,SAAO;AAAA,GAjDY;AAuDrB,kBAAkB,MAAc,YAAoB,QAAgB;AAClE,MAAI,WAAW,QAAQ,cAAc;AACrC,MAAI,YAAY,OAAO;AACvB,MAAI,QAAQ,CAAC,WAAW;AACtB,UAAM,kBAAkB,GAAG,YAAY;AACvC,QAAI,OAAO,kBAAkB;AAC3B,iBAAW;AACX,kBAAY,OAAO;AAAA;AAAA;AAGvB,SAAO,EAAE,MAAM,UAAU,OAAO;AAAA;AAVzB;",
6
+ "names": []
7
+ }
File without changes
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/views/ThemeContext.tsx"],
3
+ "sources": ["../../src/views/ThemeContext.tsx"],
4
4
  "sourcesContent": ["import { createContext } from 'react'\n\nimport { Themes } from '../types'\n\nexport const ThemeContext = createContext<Themes>(null as any)\n"],
5
5
  "mappings": "AAAA;AAIO,MAAM,eAAe,cAAsB;",
6
6
  "names": []
@@ -15,6 +15,7 @@ const ThemeInverse = /* @__PURE__ */ __name((props) => {
15
15
  const themeName = useThemeName();
16
16
  const defaultTheme = useDefaultThemeName();
17
17
  const name = inversions[themeName] || inversions[defaultTheme] || null;
18
+ console.log("todo fixme invert", { themeName, defaultTheme, next: name });
18
19
  return /* @__PURE__ */ React.createElement(Theme, {
19
20
  name
20
21
  }, props.children);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/views/ThemeInverse.tsx"],
4
- "sourcesContent": ["import React from 'react'\n\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = (props: { children: any }) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const name = inversions[themeName] || inversions[defaultTheme] || null\n return <Theme name={name}>{props.children}</Theme>\n}\n"],
5
- "mappings": ";;AAAA;AAEA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA;AAGD,4BAA4B,MAAoB;AACrD,eAAa;AAAA;AADC;AAIT,MAAM,eAAe,wBAAC,UAA6B;AACxD,QAAM,YAAY;AAClB,QAAM,eAAe;AACrB,QAAM,OAAO,WAAW,cAAc,WAAW,iBAAiB;AAClE,SAAO,oCAAC,OAAD;AAAA,IAAO;AAAA,KAAa,MAAM;AAAA,GAJP;",
3
+ "sources": ["../../src/views/ThemeInverse.tsx"],
4
+ "sourcesContent": ["import React from 'react'\n\nimport { useDefaultThemeName, useThemeName } from '../hooks/useTheme'\nimport { Theme } from './Theme'\n\ntype StringRecord = { [key: string]: string }\n\nlet inversions: StringRecord = {\n light: 'dark',\n dark: 'light',\n}\n\nexport function setThemeInversions(next: StringRecord) {\n inversions = next\n}\n\nexport const ThemeInverse = (props: { children: any }) => {\n const themeName = useThemeName()\n const defaultTheme = useDefaultThemeName()\n const name = inversions[themeName] || inversions[defaultTheme] || null\n console.log('todo fixme invert', { themeName, defaultTheme, next: name })\n return <Theme name={name}>{props.children}</Theme>\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AAIA,IAAI,aAA2B;AAAA,EAC7B,OAAO;AAAA,EACP,MAAM;AAAA;AAGD,4BAA4B,MAAoB;AACrD,eAAa;AAAA;AADC;AAIT,MAAM,eAAe,wBAAC,UAA6B;AACxD,QAAM,YAAY;AAClB,QAAM,eAAe;AACrB,QAAM,OAAO,WAAW,cAAc,WAAW,iBAAiB;AAClE,UAAQ,IAAI,qBAAqB,EAAE,WAAW,cAAc,MAAM;AAClE,SAAO,oCAAC,OAAD;AAAA,IAAO;AAAA,KAAa,MAAM;AAAA,GALP;",
6
6
  "names": []
7
7
  }
@@ -4,22 +4,16 @@ import { createContext } from "react";
4
4
  class ThemeManager {
5
5
  constructor() {
6
6
  this.name = "light";
7
- this.parentName = null;
8
7
  this.keys = new Map();
9
8
  this.listeners = new Map();
10
- this.themeListeners = new Set();
9
+ this.callbacks = new Set();
11
10
  this.theme = null;
12
11
  }
13
- setActiveTheme({
14
- name,
15
- theme,
16
- parentName
17
- }) {
12
+ setActiveTheme(name, theme) {
18
13
  if (name === this.name)
19
14
  return;
20
15
  this.name = name;
21
16
  this.theme = theme;
22
- this.parentName = parentName || null;
23
17
  this.update();
24
18
  }
25
19
  track(uuid, keys) {
@@ -36,12 +30,12 @@ class ThemeManager {
36
30
  this.listeners.get(uuid)?.();
37
31
  }
38
32
  }
39
- this.themeListeners.forEach((cb) => cb(this.name, this));
33
+ this.callbacks.forEach((cb) => cb(this.name));
40
34
  }
41
35
  onChangeTheme(cb) {
42
- this.themeListeners.add(cb);
36
+ this.callbacks.add(cb);
43
37
  return () => {
44
- this.themeListeners.delete(cb);
38
+ this.callbacks.delete(cb);
45
39
  };
46
40
  }
47
41
  onUpdate(uuid, cb) {
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/views/ThemeManagerContext.tsx"],
4
+ "sourcesContent": ["import { createContext } from 'react'\n\nexport class ThemeManager {\n name: string | null = 'light'\n keys = new Map<any, Set<string>>()\n listeners = new Map<any, Function>()\n callbacks = new Set<Function>()\n theme = null\n\n setActiveTheme(name: string | null, theme?: any) {\n if (name === this.name) return\n this.name = name\n this.theme = theme\n this.update()\n }\n\n track(uuid: any, keys: Set<string>) {\n if (!this.name) return\n this.keys.set(uuid, keys)\n }\n\n update() {\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.callbacks.forEach((cb) => cb(this.name))\n }\n\n onChangeTheme(cb: (name: string | null) => void) {\n this.callbacks.add(cb)\n return () => {\n this.callbacks.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>(new ThemeManager())\n"],
5
+ "mappings": ";;AAAA;AAEO,mBAAmB;AAAA,EAAnB,cAFP;AAGE,gBAAsB;AACtB,gBAAO,IAAI;AACX,qBAAY,IAAI;AAChB,qBAAY,IAAI;AAChB,iBAAQ;AAAA;AAAA,EAER,eAAe,MAAqB,OAAa;AAC/C,QAAI,SAAS,KAAK;AAAM;AACxB,SAAK,OAAO;AACZ,SAAK,QAAQ;AACb,SAAK;AAAA;AAAA,EAGP,MAAM,MAAW,MAAmB;AAClC,QAAI,CAAC,KAAK;AAAM;AAChB,SAAK,KAAK,IAAI,MAAM;AAAA;AAAA,EAGtB,SAAS;AACP,QAAI,CAAC,KAAK,MAAM;AACd,WAAK,KAAK;AAAA;AAEZ,eAAW,CAAC,MAAM,SAAS,KAAK,KAAK,WAAW;AAC9C,UAAI,KAAK,MAAM;AACb,aAAK,UAAU,IAAI;AAAA;AAAA;AAGvB,SAAK,UAAU,QAAQ,CAAC,OAAO,GAAG,KAAK;AAAA;AAAA,EAGzC,cAAc,IAAmC;AAC/C,SAAK,UAAU,IAAI;AACnB,WAAO,MAAM;AACX,WAAK,UAAU,OAAO;AAAA;AAAA;AAAA,EAI1B,SAAS,MAAW,IAAc;AAChC,SAAK,UAAU,IAAI,MAAM;AACzB,WAAO,MAAM;AACX,WAAK,UAAU,OAAO;AACtB,WAAK,KAAK,OAAO;AAAA;AAAA;AAAA;AA1ChB;AA+CA,MAAM,sBAAsB,cAA4B,IAAI;",
6
+ "names": []
7
+ }
@@ -22,17 +22,17 @@ const ThemeProvider = /* @__PURE__ */ __name((props) => {
22
22
  };
23
23
  }
24
24
  }, []);
25
- const themeContext = useMemo(() => {
26
- return new Proxy(props.themes, {
27
- get(target, key) {
28
- if (key === GET_DEFAULT_THEME)
29
- return props.defaultTheme;
30
- return Reflect.get(target, key);
31
- }
32
- });
33
- }, [props.themes]);
34
25
  return /* @__PURE__ */ React.createElement(ThemeContext.Provider, {
35
- value: themeContext
26
+ value: useMemo(() => {
27
+ console.log("wut are", props.themes);
28
+ return new Proxy(props.themes, {
29
+ get(target, key) {
30
+ if (key === GET_DEFAULT_THEME)
31
+ return props.defaultTheme;
32
+ return Reflect.get(target, key);
33
+ }
34
+ });
35
+ }, [props.themes])
36
36
  }, /* @__PURE__ */ React.createElement(Theme, {
37
37
  name: props.defaultTheme,
38
38
  disableThemeClass: props.disableRootThemeClass
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/views/ThemeProvider.tsx"],
4
+ "sourcesContent": ["import React, { useMemo } from 'react'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport { getHasConfigured, getThemeParentClassName } from '../createTamagui'\nimport { ThemeName, Themes } from '../types'\nimport { Theme } from './Theme'\nimport { ThemeContext } from './ThemeContext'\n\nexport type ThemeProviderProps = {\n themes: any\n defaultTheme: string\n disableRootThemeClass?: boolean\n children?: any\n}\n\nexport const GET_DEFAULT_THEME = '___TGUI'\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n if (!getHasConfigured()) {\n throw new Error(`Missing configureThemes() call, add to your root file`)\n }\n\n // ensure theme is attached to root body node as well to work with modals by default\n useIsomorphicLayoutEffect(() => {\n if (props.disableRootThemeClass) {\n return\n }\n if (typeof document !== 'undefined') {\n const cns = getThemeParentClassName(`${props.defaultTheme}`).split(' ')\n cns.forEach((cn) => document.body.classList.add(cn))\n return () => {\n cns.forEach((cn) => document.body.classList.remove(cn))\n }\n }\n }, [])\n\n return (\n <ThemeContext.Provider\n value={useMemo(() => {\n console.log('wut are', props.themes)\n return new Proxy(props.themes, {\n get(target, key) {\n if (key === GET_DEFAULT_THEME) return props.defaultTheme\n return Reflect.get(target, key)\n },\n })\n }, [props.themes])}\n >\n <Theme name={props.defaultTheme} disableThemeClass={props.disableRootThemeClass}>\n {props.children}\n </Theme>\n </ThemeContext.Provider>\n )\n}\n"],
5
+ "mappings": ";;AAAA;AAEA;AACA;AAEA;AACA;AASO,MAAM,oBAAoB;AAE1B,MAAM,gBAAgB,wBAAC,UAA8B;AAC1D,MAAI,CAAC,oBAAoB;AACvB,UAAM,IAAI,MAAM;AAAA;AAIlB,4BAA0B,MAAM;AAC9B,QAAI,MAAM,uBAAuB;AAC/B;AAAA;AAEF,QAAI,OAAO,aAAa,aAAa;AACnC,YAAM,MAAM,wBAAwB,GAAG,MAAM,gBAAgB,MAAM;AACnE,UAAI,QAAQ,CAAC,OAAO,SAAS,KAAK,UAAU,IAAI;AAChD,aAAO,MAAM;AACX,YAAI,QAAQ,CAAC,OAAO,SAAS,KAAK,UAAU,OAAO;AAAA;AAAA;AAAA,KAGtD;AAEH,SACE,oCAAC,aAAa,UAAd;AAAA,IACE,OAAO,QAAQ,MAAM;AACnB,cAAQ,IAAI,WAAW,MAAM;AAC7B,aAAO,IAAI,MAAM,MAAM,QAAQ;AAAA,QAC7B,IAAI,QAAQ,KAAK;AACf,cAAI,QAAQ;AAAmB,mBAAO,MAAM;AAC5C,iBAAO,QAAQ,IAAI,QAAQ;AAAA;AAAA;AAAA,OAG9B,CAAC,MAAM;AAAA,KAEV,oCAAC,OAAD;AAAA,IAAO,MAAM,MAAM;AAAA,IAAc,mBAAmB,MAAM;AAAA,KACvD,MAAM;AAAA,GAhCc;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/core",
3
- "version": "1.0.0-alpha.31",
3
+ "version": "1.0.0-alpha.38",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -14,10 +14,10 @@
14
14
  "dist"
15
15
  ],
16
16
  "dependencies": {
17
- "@tamagui/helpers": "^1.0.0-alpha.31",
17
+ "@tamagui/helpers": "^1.0.0-alpha.38",
18
18
  "@tamagui/ow": "^0.28.1",
19
- "@tamagui/use-debounce": "^1.0.0-alpha.31",
20
- "@tamagui/use-force-update": "^1.0.0-alpha.31",
19
+ "@tamagui/use-debounce": "^1.0.0-alpha.38",
20
+ "@tamagui/use-force-update": "^1.0.0-alpha.38",
21
21
  "react": "*",
22
22
  "react-dom": "*"
23
23
  },
@@ -25,7 +25,7 @@
25
25
  "react-native-web": "*"
26
26
  },
27
27
  "devDependencies": {
28
- "@tamagui/build": "^1.0.0-alpha.31",
28
+ "@tamagui/build": "^1.0.0-alpha.38",
29
29
  "@types/react": "^17.0.35",
30
30
  "esbuild": "^0.13.12",
31
31
  "react-native-web": "^0.17.5",
@@ -34,8 +34,5 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "engines": {
38
- "node": ">=16"
39
- },
40
- "gitHead": "3593d13742ae284776db7fbe0486d622312c7c15"
37
+ "gitHead": "155f989a05a70b2a9181cf820363f170a293f78b"
41
38
  }
@@ -2,6 +2,6 @@ import { Variable } from './createVariable';
2
2
  declare type GenericTheme = {
3
3
  [key: string]: string | Variable;
4
4
  };
5
- export declare const createTheme: <Theme extends GenericTheme>(theme: Theme) => Theme;
5
+ export declare const createTheme: <Theme extends GenericTheme>(theme: Theme) => { [K in keyof Theme]: string | Variable | Theme[K]; };
6
6
  export {};
7
7
  //# sourceMappingURL=createTheme.d.ts.map
@@ -1,2 +1,2 @@
1
- export declare function fixNativeShadow(props: any): any;
1
+ export declare function fixNativeShadow(props: any): void;
2
2
  //# sourceMappingURL=fixNativeShadow.native.d.ts.map
package/types/styled.d.ts CHANGED
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { MediaProps, StaticComponent, StaticConfig, TamaguiConfig, Themes, Tokens } from './types';
3
3
  export declare function styled<ParentComponent extends StaticComponent | React.Component<any>, Variants extends GetVariants<ParentComponent>>(Component: ParentComponent, options?: GetProps<ParentComponent> & {
4
4
  variants?: Variants;
5
- }, staticExtractionOptions?: StaticConfig): StaticComponent<Omit<GetProps<ParentComponent>, keyof GetVariantProps<Variants>> & GetVariantProps<Variants> & MediaProps<GetVariantProps<Variants>>, any, import("./types").StaticConfigParsed, any>;
5
+ }, staticExtractionOptions?: StaticConfig): StaticComponent<keyof GetVariantProps<Variants> extends never ? GetProps<ParentComponent> : Omit<GetProps<ParentComponent>, keyof GetVariantProps<Variants>> & GetVariantProps<Variants> & MediaProps<GetVariantProps<Variants>>, void, import("./types").StaticConfigParsed, any>;
6
6
  export declare type GetProps<A> = A extends StaticComponent<infer Props> ? Props : A extends React.Component<infer Props> ? Props : {};
7
7
  export declare type GetVariants<ParentComponent extends StaticComponent | React.Component<any>> = void | {
8
8
  [key: string]: {
package/types/types.d.ts CHANGED
@@ -171,7 +171,7 @@ declare type WebOnlyStyleProps = {
171
171
  };
172
172
  export declare type StackStylePropsBase = Omit<ViewStyle, 'display' | 'backfaceVisibility' | 'elevation'> & TransformStyleProps & WebOnlyStyleProps;
173
173
  export declare type StackStyleProps = WithThemeShorthandsPseudosAndMedia<StackStylePropsBase>;
174
- export declare type StackProps = Omit<RNWInternalProps, 'children'> & Omit<ViewProps, 'display' | 'children'> & StackStyleProps & ComponentPropsBase & {
174
+ export declare type StackProps = Omit<RNWInternalProps, 'children'> & StackStyleProps & ComponentPropsBase & {
175
175
  ref?: RefObject<View | HTMLElement> | ((node: View | HTMLElement) => any);
176
176
  children?: any | any[];
177
177
  };
@@ -1,50 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __spreadValues = (a, b) => {
11
- for (var prop in b || (b = {}))
12
- if (__hasOwnProp.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- if (__getOwnPropSymbols)
15
- for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop))
17
- __defNormalProp(a, prop, b[prop]);
18
- }
19
- return a;
20
- };
21
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
- var __export = (target, all) => {
23
- __markAsModule(target);
24
- for (var name in all)
25
- __defProp(target, name, { get: all[name], enumerable: true });
26
- };
27
- var __reExport = (target, module2, desc) => {
28
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
29
- for (let key of __getOwnPropNames(module2))
30
- if (!__hasOwnProp.call(target, key) && key !== "default")
31
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
32
- }
33
- return target;
34
- };
35
- var __toModule = (module2) => {
36
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
37
- };
38
- __export(exports, {
39
- stackDefaultStyles: () => stackDefaultStyles
40
- });
41
- var import_platform = __toModule(require("./platform"));
42
- const stackDefaultStyles = __spreadValues({
43
- alignItems: "stretch",
44
- flexShrink: 0
45
- }, import_platform.isWeb && {
46
- display: "flex",
47
- flexBasis: "auto",
48
- boxSizing: "border-box"
49
- });
50
- //# sourceMappingURL=constants.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/constants/constants.ts"],
4
- "sourcesContent": ["import { isWeb } from './platform'\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;AAAA;AAAA;AAAA,sBAAsB;AAEf,MAAM,qBAAqB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AAAA,GAER,yBAAS;AAAA,EACX,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA;",
6
- "names": []
7
- }
@@ -1,43 +0,0 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __export = (target, all) => {
9
- __markAsModule(target);
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __reExport = (target, module2, desc) => {
14
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
- for (let key of __getOwnPropNames(module2))
16
- if (!__hasOwnProp.call(target, key) && key !== "default")
17
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
- }
19
- return target;
20
- };
21
- var __toModule = (module2) => {
22
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
- };
24
- __export(exports, {
25
- isChrome: () => isChrome,
26
- isSSR: () => isSSR,
27
- isTouchDevice: () => isTouchDevice,
28
- isWeb: () => isWeb,
29
- isWebIOS: () => isWebIOS,
30
- supportsTouchWeb: () => supportsTouchWeb,
31
- useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect
32
- });
33
- var import_react = __toModule(require("react"));
34
- var import_react_native = __toModule(require("react-native"));
35
- var _a;
36
- const isWeb = process.env.TAMAGUI_TARGET === "web" ? true : ((_a = import_react_native.Platform) == null ? void 0 : _a.OS) === "web";
37
- const isSSR = isWeb && typeof window === "undefined";
38
- const useIsomorphicLayoutEffect = isSSR ? import_react.useEffect : import_react.useLayoutEffect;
39
- const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
40
- const supportsTouchWeb = typeof window !== "undefined" && "ontouchstart" in window;
41
- const isTouchDevice = !isWeb || supportsTouchWeb;
42
- const isWebIOS = isWeb && typeof navigator !== "undefined" && (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window["MSStream"];
43
- //# sourceMappingURL=platform.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/constants/platform.ts"],
4
- "sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web' ? true : Platform?.OS === 'web'\nexport const isSSR = 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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2C;AAC3C,0BAAyB;AADzB;AAGO,MAAM,QAAQ,QAAQ,IAAI,mBAAmB,QAAQ,OAAO,2DAAU,QAAO;AAC7E,MAAM,QAAQ,SAAS,OAAO,WAAW;AACzC,MAAM,4BAA4B,QAAQ,yBAAY;AACtD,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa;AAC1F,MAAM,mBAAmB,OAAO,WAAW,eAAe,kBAAkB;AAC5E,MAAM,gBAAgB,CAAC,SAAS;AAChC,MAAM,WACX,SACA,OAAO,cAAc,eACpB,oBAAmB,KAAK,UAAU,aAChC,UAAU,aAAa,cAAc,UAAU,iBAAiB,MACnE,CAAC,OAAO;",
6
- "names": []
7
- }
@@ -1,25 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
- var __export = (target, all) => {
4
- __markAsModule(target);
5
- for (var name in all)
6
- __defProp(target, name, { get: all[name], enumerable: true });
7
- };
8
- __export(exports, {
9
- pseudos: () => pseudos
10
- });
11
- const pseudos = {
12
- focusStyle: {
13
- name: "focus",
14
- priority: 3
15
- },
16
- pressStyle: {
17
- name: "active",
18
- priority: 2
19
- },
20
- hoverStyle: {
21
- name: "hover",
22
- priority: 1
23
- }
24
- };
25
- //# sourceMappingURL=pseudos.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/constants/pseudos.ts"],
4
- "sourcesContent": ["export const pseudos = {\n focusStyle: {\n name: 'focus',\n priority: 3,\n },\n pressStyle: {\n name: 'active',\n priority: 2,\n },\n hoverStyle: {\n name: 'hover',\n priority: 1,\n },\n}\n"],
5
- "mappings": ";;;;;;;AAAA;AAAA;AAAA;AAAO,MAAM,UAAU;AAAA,EACrB,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA;AAAA,EAEZ,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA;AAAA,EAEZ,YAAY;AAAA,IACV,MAAM;AAAA,IACN,UAAU;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,28 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
- var __export = (target, all) => {
5
- __markAsModule(target);
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- __export(exports, {
10
- rnw: () => rnw
11
- });
12
- const interopRequire = /* @__PURE__ */ __name((src) => "default" in src ? src.default : src, "interopRequire");
13
- const rnw = {};
14
- if (process.env.IS_STATIC === "is_static") {
15
- const createCompileableStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createCompileableStyle");
16
- const createReactDOMStyle = require("react-native-web/dist/cjs/exports/StyleSheet/createReactDOMStyle");
17
- const i18Style = require("react-native-web/dist/cjs/exports/StyleSheet/i18nStyle");
18
- const atomic = require("react-native-web/dist/cjs/exports/StyleSheet/compile").atomic;
19
- Object.assign(rnw, {
20
- createCompileableStyle,
21
- createReactDOMStyle,
22
- i18Style,
23
- atomic
24
- });
25
- } else if (process.env.TAMAGUI_TARGET === "web") {
26
- Object.assign(rnw, interopRequire(require("react-native-web").TamaguiExports));
27
- }
28
- //# sourceMappingURL=rnw.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 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 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 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;AAAA;AAAA;AAAA,MAAM,iBAAiB,wBAAC,QAAc,aAAa,MAAM,IAAI,UAAU,KAAhD;AAEhB,MAAM,MAA2B;AAGxC,IAAI,QAAQ,IAAI,cAAc,aAAa;AACzC,QAAM,yBAAyB,QAAQ;AACvC,QAAM,sBAAsB,QAAQ;AACpC,QAAM,WAAW,QAAQ;AACzB,QAAM,SAAS,QAAQ,wDAAwD;AAC/E,SAAO,OAAO,KAAK;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA,WAEO,QAAQ,IAAI,mBAAmB,OAAO;AAE/C,SAAO,OAAO,KAAK,eAAe,QAAQ,oBAAoB;AAAA;",
6
- "names": []
7
- }