@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
@@ -0,0 +1,32 @@
1
+ import { stylePropsTextOnly, validStyles } from "@tamagui/helpers";
2
+ import { isWeb } from "./platform";
3
+ const webOnlySpecificStyleKeys = {
4
+ userSelect: true,
5
+ textOverflow: true,
6
+ whiteSpace: true,
7
+ wordWrap: true,
8
+ selectable: true,
9
+ cursor: true
10
+ };
11
+ const validStylesText = {
12
+ ...validStyles,
13
+ ...stylePropsTextOnly,
14
+ ...isWeb && {
15
+ ...webOnlySpecificStyleKeys
16
+ }
17
+ };
18
+ const stackDefaultStyles = {
19
+ alignItems: "stretch",
20
+ flexShrink: 0,
21
+ ...isWeb && {
22
+ display: "flex",
23
+ flexBasis: "auto",
24
+ boxSizing: "border-box"
25
+ }
26
+ };
27
+ export {
28
+ stackDefaultStyles,
29
+ validStylesText,
30
+ webOnlySpecificStyleKeys
31
+ };
32
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/constants.ts"],
4
+ "sourcesContent": ["import { stylePropsTextOnly, validStyles } from '@tamagui/helpers'\n\nimport { isWeb } from './platform'\n\nexport const webOnlySpecificStyleKeys = {\n userSelect: true,\n textOverflow: true,\n whiteSpace: true,\n wordWrap: true,\n selectable: true,\n cursor: true,\n}\n\nexport const validStylesText = {\n ...validStyles,\n ...stylePropsTextOnly,\n ...(isWeb && {\n ...webOnlySpecificStyleKeys,\n }),\n}\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;AAEA;AAEO,MAAM,2BAA2B;AAAA,EACtC,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,QAAQ;AAAA;AAGH,MAAM,kBAAkB;AAAA,KAC1B;AAAA,KACA;AAAA,KACC,SAAS;AAAA,OACR;AAAA;AAAA;AAIA,MAAM,qBAAqB;AAAA,EAChC,YAAY;AAAA,EACZ,YAAY;AAAA,KAER,SAAS;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,12 +1,12 @@
1
1
  import { useEffect, useLayoutEffect } from "react";
2
2
  import { Platform } from "react-native";
3
- const isWeb = process.env.TAMAGUI_TARGET === "web" ? true : Platform?.OS === "web";
3
+ const isWeb = process.env.TARGET !== "native" || Platform.OS === "web";
4
4
  const isSSR = isWeb && typeof window === "undefined";
5
5
  const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;
6
+ const isWebIOS = isWeb && typeof window !== "undefined" && (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window["MSStream"];
6
7
  const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
7
8
  const supportsTouchWeb = typeof window !== "undefined" && "ontouchstart" in window;
8
9
  const isTouchDevice = !isWeb || supportsTouchWeb;
9
- const isWebIOS = isWeb && typeof navigator !== "undefined" && (/iPad|iPhone|iPod/.test(navigator.platform) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1) && !window["MSStream"];
10
10
  export {
11
11
  isChrome,
12
12
  isSSR,
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/platform.ts"],
4
+ "sourcesContent": ["// dont import things (why?)\n\nimport { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isWeb = process.env.TARGET !== 'native' || Platform.OS === 'web'\nexport const isSSR = isWeb && typeof window === 'undefined'\n\nexport const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect\n\nexport const isWebIOS =\n isWeb &&\n typeof window !== 'undefined' &&\n (/iPad|iPhone|iPod/.test(navigator.platform) ||\n (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)) &&\n !window['MSStream']\n\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\n\nexport const supportsTouchWeb = typeof window !== 'undefined' && 'ontouchstart' in window\nexport const isTouchDevice = !isWeb || supportsTouchWeb\n"],
5
+ "mappings": "AAEA;AACA;AAEO,MAAM,QAAQ,QAAQ,IAAI,WAAW,YAAY,SAAS,OAAO;AACjE,MAAM,QAAQ,SAAS,OAAO,WAAW;AAEzC,MAAM,4BAA4B,QAAQ,YAAY;AAEtD,MAAM,WACX,SACA,OAAO,WAAW,eACjB,oBAAmB,KAAK,UAAU,aAChC,UAAU,aAAa,cAAc,UAAU,iBAAiB,MACnE,CAAC,OAAO;AAEH,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa;AAE1F,MAAM,mBAAmB,OAAO,WAAW,eAAe,kBAAkB;AAC5E,MAAM,gBAAgB,CAAC,SAAS;",
6
+ "names": []
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { isWeb } from "./platform";
4
+ const loadRNW = process.env.IS_STATIC !== "is_static" && isWeb;
5
+ const interopRequire = /* @__PURE__ */ __name((src) => "default" in src ? src.default : src, "interopRequire");
6
+ const rnw = loadRNW ? interopRequire(require("react-native-web").TamaguiExports) : null;
7
+ export {
8
+ rnw
9
+ };
10
+ //# sourceMappingURL=rnw.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/rnw.tsx"],
4
+ "sourcesContent": ["import { isWeb } from './platform'\n\nconst loadRNW = process.env.IS_STATIC !== 'is_static' && isWeb\n\nconst interopRequire = (src: any) => ('default' in src ? src.default : src)\n\nexport const rnw: any | null = loadRNW ? interopRequire(require('react-native-web').TamaguiExports) : null\n"],
5
+ "mappings": ";;AAAA;AAEA,MAAM,UAAU,QAAQ,IAAI,cAAc,eAAe;AAEzD,MAAM,iBAAiB,wBAAC,QAAc,aAAa,MAAM,IAAI,UAAU,KAAhD;AAEhB,MAAM,MAAkB,UAAU,eAAe,QAAQ,oBAAoB,kBAAkB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,59 @@
1
+ import { StyleSheet } from "react-native";
2
+ import { isWeb } from "./platform";
3
+ import { rnw } from "./rnw";
4
+ const cssTextStyles = {
5
+ text: {
6
+ display: isWeb ? "inline" : "flex",
7
+ boxSizing: "border-box",
8
+ fontFamily: "System",
9
+ whiteSpace: "pre-wrap",
10
+ wordWrap: "break-word"
11
+ },
12
+ textHasAncestor: {
13
+ color: "inherit",
14
+ font: "inherit",
15
+ whiteSpace: "inherit"
16
+ },
17
+ textOneLine: {
18
+ maxWidth: "100%",
19
+ overflow: "hidden",
20
+ textOverflow: "ellipsis",
21
+ whiteSpace: "nowrap"
22
+ },
23
+ textMultiLine: {
24
+ display: "-webkit-box",
25
+ maxWidth: "100%",
26
+ overflow: "hidden",
27
+ textOverflow: "ellipsis",
28
+ WebkitBoxOrient: "vertical"
29
+ }
30
+ };
31
+ const cssText = isWeb ? rnw?.css.create(cssTextStyles) : {};
32
+ const disabledStyle = {
33
+ pointerEvents: "none",
34
+ userSelect: "none"
35
+ };
36
+ const viewStyles = StyleSheet.create({
37
+ inline: isWeb ? {
38
+ display: "inline-flex"
39
+ } : {}
40
+ });
41
+ const textStyles = isWeb ? StyleSheet.create({
42
+ notSelectable: {
43
+ userSelect: "none"
44
+ },
45
+ selectable: {
46
+ userSelect: "text"
47
+ },
48
+ pressable: {
49
+ cursor: "pointer"
50
+ }
51
+ }) : {};
52
+ export {
53
+ cssText,
54
+ cssTextStyles,
55
+ disabledStyle,
56
+ textStyles,
57
+ viewStyles
58
+ };
59
+ //# sourceMappingURL=styleConstants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/constants/styleConstants.tsx"],
4
+ "sourcesContent": ["import { StyleSheet } from 'react-native'\n\nimport { isWeb } from './platform'\nimport { rnw } from './rnw'\n\nexport const cssTextStyles = {\n text: {\n display: isWeb ? 'inline' : 'flex',\n boxSizing: 'border-box',\n fontFamily: 'System',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n },\n textHasAncestor: {\n color: 'inherit',\n font: 'inherit',\n whiteSpace: 'inherit',\n },\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical',\n },\n}\n\nexport const cssText = isWeb ? rnw?.css.create(cssTextStyles) : {}\n\nexport const disabledStyle = {\n pointerEvents: 'none',\n userSelect: 'none',\n} as const\n\nexport const viewStyles = StyleSheet.create({\n inline: isWeb\n ? {\n display: 'inline-flex' as any,\n }\n : {},\n})\n\nexport const textStyles = isWeb\n ? StyleSheet.create({\n notSelectable: {\n // @ts-ignore\n userSelect: 'none',\n },\n selectable: {\n // @ts-ignore\n userSelect: 'text',\n },\n pressable: {\n // @ts-ignore\n cursor: 'pointer',\n },\n })\n : {}\n"],
5
+ "mappings": "AAAA;AAEA;AACA;AAEO,MAAM,gBAAgB;AAAA,EAC3B,MAAM;AAAA,IACJ,SAAS,QAAQ,WAAW;AAAA,IAC5B,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA;AAAA,EAEZ,iBAAiB;AAAA,IACf,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA;AAAA,EAEd,aAAa;AAAA,IACX,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA;AAAA,EAEd,eAAe;AAAA,IACb,SAAS;AAAA,IACT,UAAU;AAAA,IACV,UAAU;AAAA,IACV,cAAc;AAAA,IACd,iBAAiB;AAAA;AAAA;AAId,MAAM,UAAU,QAAQ,KAAK,IAAI,OAAO,iBAAiB;AAEzD,MAAM,gBAAgB;AAAA,EAC3B,eAAe;AAAA,EACf,YAAY;AAAA;AAGP,MAAM,aAAa,WAAW,OAAO;AAAA,EAC1C,QAAQ,QACJ;AAAA,IACE,SAAS;AAAA,MAEX;AAAA;AAGC,MAAM,aAAa,QACtB,WAAW,OAAO;AAAA,EAChB,eAAe;AAAA,IAEb,YAAY;AAAA;AAAA,EAEd,YAAY;AAAA,IAEV,YAAY;AAAA;AAAA,EAEd,WAAW;AAAA,IAET,QAAQ;AAAA;AAAA,KAGZ;",
6
+ "names": []
7
+ }
@@ -1,7 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { concatClassName, stylePropsView } from "@tamagui/helpers";
4
- import { useForceUpdate } from "@tamagui/use-force-update";
5
4
  import React, {
6
5
  Children,
7
6
  Fragment,
@@ -13,18 +12,21 @@ import React, {
13
12
  useRef,
14
13
  useState
15
14
  } from "react";
16
- import { StyleSheet, Text, View } from "react-native";
15
+ import { View } from "react-native";
17
16
  import { stackDefaultStyles } from "./constants/constants";
18
17
  import { isTouchDevice, isWeb } from "./constants/platform";
19
18
  import { rnw } from "./constants/rnw";
19
+ import { cssText, disabledStyle, textStyles, viewStyles } from "./constants/styleConstants";
20
20
  import { onConfiguredOnce } from "./createTamagui";
21
- import { addStylesUsingClassname, useStylesAsClassname } from "./helpers/addStylesUsingClassname";
22
- import { extendStaticConfig, parseStaticConfig } from "./helpers/extendStaticConfig";
21
+ import { addStylesUsingClassname } from "./helpers/addStylesUsingClassname";
22
+ import { parseStaticConfig } from "./helpers/extendStaticConfig";
23
23
  import { getSplitStyles } from "./helpers/getSplitStyles";
24
+ import { setIfChanged } from "./helpers/setIfChanged";
24
25
  import { useFeatures } from "./hooks/useFeatures";
26
+ import { useForceUpdate } from "./hooks/useForceUpdate";
25
27
  import { usePressable } from "./hooks/usePressable";
26
- import { useTheme } from "./hooks/useTheme";
27
28
  import { TextAncestorContext } from "./views/TextAncestorContext";
29
+ import { ThemeManagerContext } from "./views/ThemeManagerContext";
28
30
  const mouseUps = new Set();
29
31
  if (typeof document !== "undefined") {
30
32
  document.addEventListener("mouseup", () => {
@@ -32,24 +34,6 @@ if (typeof document !== "undefined") {
32
34
  mouseUps.clear();
33
35
  });
34
36
  }
35
- const defaultComponentState = {
36
- hover: false,
37
- press: false,
38
- pressIn: false
39
- };
40
- function createShallowUpdate(setter) {
41
- return (next) => {
42
- setter((prev) => {
43
- for (const key in next) {
44
- if (prev[key] !== next[key]) {
45
- return { ...prev, ...next };
46
- }
47
- }
48
- return prev;
49
- });
50
- };
51
- }
52
- __name(createShallowUpdate, "createShallowUpdate");
53
37
  function createComponent(configIn) {
54
38
  let staticConfig;
55
39
  if ("parsed" in configIn) {
@@ -57,34 +41,22 @@ function createComponent(configIn) {
57
41
  } else {
58
42
  staticConfig = parseStaticConfig(configIn);
59
43
  }
60
- const { Component, validStyles, isText, isZStack } = staticConfig;
44
+ const { defaultProps, Component, validStyles, isText } = staticConfig;
61
45
  const validStyleProps = validStyles ?? stylePropsView;
62
- let defaultProps = null;
46
+ let splitDefaults;
63
47
  let tamaguiConfig;
64
- let defaultsStyle;
65
48
  let defaultsClassName = "";
66
- let initialTheme;
67
- const component = forwardRef((props, forwardedRef) => {
68
- const forceUpdate = useForceUpdate();
69
- const features = useFeatures(props, { forceUpdate });
70
- const theme = useTheme();
71
- const [state, set_] = useState(defaultComponentState);
72
- const set = createShallowUpdate(set_);
73
- if (process.env.NODE_ENV === "development" && !isText && isWeb) {
74
- Children.toArray(props.children).forEach((item) => {
75
- if (typeof item === "string") {
76
- console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
77
- }
78
- });
49
+ onConfiguredOnce((conf) => {
50
+ tamaguiConfig = conf;
51
+ splitDefaults = getSplitStyles(defaultProps, staticConfig, conf);
52
+ if (splitDefaults.classNames) {
53
+ defaultsClassName += splitDefaults.classNames + " ";
79
54
  }
80
- const hasTextAncestor = isWeb ? useContext(TextAncestorContext) : false;
81
- const hostRef = useRef(null);
82
- const {
83
- viewProps: viewPropsIn,
84
- pseudos,
85
- style,
86
- classNames
87
- } = getSplitStyles(props, staticConfig, theme);
55
+ if (splitDefaults.style) {
56
+ defaultsClassName += addStylesUsingClassname([splitDefaults.style]);
57
+ }
58
+ });
59
+ const component = forwardRef((props, forwardedRef) => {
88
60
  const {
89
61
  tag,
90
62
  hitSlop,
@@ -95,7 +67,7 @@ function createComponent(configIn) {
95
67
  onPressOut,
96
68
  onHoverIn,
97
69
  onHoverOut,
98
- space,
70
+ spacing,
99
71
  disabled,
100
72
  onMouseEnter,
101
73
  onMouseLeave,
@@ -118,17 +90,27 @@ function createComponent(configIn) {
118
90
  onStartShouldSetResponderCapture,
119
91
  onMouseDown,
120
92
  onClick,
121
- accessible,
122
- accessibilityRole,
123
- onLayout,
124
- ...viewProps
125
- } = viewPropsIn;
126
- if (!isWeb) {
127
- if (accessible)
128
- viewProps.accessible = accessible;
129
- if (accessibilityRole)
130
- viewProps.accessibilityRole = accessibilityRole;
93
+ onLayout
94
+ } = props;
95
+ const forceUpdate = useForceUpdate();
96
+ const features = useFeatures(props, { forceUpdate });
97
+ const manager = useContext(ThemeManagerContext);
98
+ const [state, set_] = useState(() => ({
99
+ hover: false,
100
+ press: false,
101
+ pressIn: false,
102
+ theme: manager.name
103
+ }));
104
+ const set = setIfChanged.bind(null, set_);
105
+ if (process.env.NODE_ENV !== "production" && !isText && isWeb) {
106
+ Children.toArray(props.children).forEach((item) => {
107
+ if (typeof item === "string") {
108
+ console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
109
+ }
110
+ });
131
111
  }
112
+ const hasTextAncestor = useContext(TextAncestorContext);
113
+ const hostRef = useRef(null);
132
114
  if (isWeb) {
133
115
  rnw.useResponderEvents(hostRef, {
134
116
  onMoveShouldSetResponder,
@@ -149,6 +131,8 @@ function createComponent(configIn) {
149
131
  onStartShouldSetResponderCapture
150
132
  });
151
133
  }
134
+ const isTracking = useRef(false);
135
+ const { viewProps, psuedos, style, classNames } = getSplitStyles(props, staticConfig, tamaguiConfig);
152
136
  const internal = useRef();
153
137
  if (!internal.current) {
154
138
  internal.current = {
@@ -157,67 +141,88 @@ function createComponent(configIn) {
157
141
  }
158
142
  useEffect(() => {
159
143
  internal.current.isMounted = true;
144
+ const dispose = manager?.onChangeTheme((name) => {
145
+ if (isTracking.current) {
146
+ set({ theme: name });
147
+ }
148
+ });
160
149
  return () => {
150
+ dispose();
161
151
  mouseUps.delete(unPress);
152
+ isTracking.current = false;
162
153
  internal.current.isMounted = false;
163
154
  };
164
- }, []);
155
+ }, [manager]);
165
156
  const element = isWeb ? !Component || typeof Component === "string" ? tag || Component : Component : Component;
166
157
  const ReactView = !isWeb ? View : element || (hasTextAncestor ? "span" : "div");
167
158
  const ReactText = !isWeb ? Text : element || "span";
168
159
  const ViewComponent = isText ? ReactText : ReactView;
169
- const isHovering = !isTouchDevice && !disabled && pseudos && state.hover;
170
- const isPressing = !disabled && pseudos && state.press;
160
+ const numberOfLines = props["numberOfLines"];
161
+ const selectable = props["selectable"];
171
162
  const styles = [
163
+ hasTextAncestor ? viewStyles.inline : null,
164
+ ...isWeb && isText ? [
165
+ numberOfLines != null && numberOfLines > 1 && { WebkitLineClamp: numberOfLines },
166
+ selectable === true && textStyles.selectable,
167
+ selectable === false && textStyles.notSelectable,
168
+ onPress && textStyles.pressable
169
+ ] : [],
172
170
  style,
173
- isHovering ? pseudos.hoverStyle || null : null,
174
- isPressing ? pseudos.pressStyle || null : null
171
+ !isTouchDevice && !disabled && psuedos && state.hover ? psuedos.hoverStyle || null : null,
172
+ !disabled && psuedos && state.press ? psuedos.pressStyle || null : null,
173
+ disabled ? disabledStyle : null
175
174
  ];
175
+ const stylesClassNames = addStylesUsingClassname(styles);
176
+ const classList = staticConfig.isText ? [
177
+ defaultsClassName,
178
+ hasTextAncestor === true && cssText.textHasAncestor,
179
+ numberOfLines === 1 && cssText.textOneLine,
180
+ numberOfLines != null && numberOfLines > 1 && cssText.textMultiLine,
181
+ props.className,
182
+ classNames,
183
+ stylesClassNames
184
+ ] : [defaultsClassName, props.className, classNames, stylesClassNames];
185
+ const supportedProps = viewProps;
176
186
  if (isWeb) {
177
- const stylesClassNames = useStylesAsClassname(styles);
178
- const classList = isText ? [
179
- defaultsClassName,
180
- classNames,
181
- stylesClassNames,
182
- props.className
183
- ] : [defaultsClassName, props.className, classNames, stylesClassNames];
184
- const className = concatClassName(...classList);
187
+ const classListFlat = classList.flat().filter(Boolean).join(" ");
188
+ const className = concatClassName(classListFlat);
185
189
  if (process.env.NODE_ENV === "development") {
186
190
  if (props["debug"]) {
187
- console.log("\u{1F95A} className", { style, styles, classList, stylesClassNames, className });
191
+ console.log("className", { styles, stylesClassNames, classList, classListFlat, className });
188
192
  }
189
193
  }
190
- viewProps.className = className;
194
+ supportedProps.className = className;
191
195
  } else {
192
- viewProps.style = styles;
196
+ supportedProps.style = classList;
193
197
  }
194
198
  if (pointerEvents) {
195
- viewProps.pointerEvents = pointerEvents;
199
+ supportedProps.pointerEvents = pointerEvents;
196
200
  }
197
201
  if (isWeb) {
198
- const platformMethodsRef = rnw.usePlatformMethods(viewProps);
202
+ const platformMethodsRef = rnw.usePlatformMethods(supportedProps);
199
203
  const setRef = rnw.useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
200
- viewProps.ref = setRef;
204
+ supportedProps.ref = setRef;
201
205
  if (props.href != null && hrefAttrs != null) {
202
206
  const { download, rel, target } = hrefAttrs;
203
207
  if (download != null) {
204
- viewProps.download = download;
208
+ supportedProps.download = download;
205
209
  }
206
210
  if (rel != null) {
207
- viewProps.rel = rel;
211
+ supportedProps.rel = rel;
208
212
  }
209
213
  if (typeof target === "string") {
210
- viewProps.target = target.charAt(0) !== "_" ? "_" + target : target;
214
+ supportedProps.target = target.charAt(0) !== "_" ? "_" + target : target;
211
215
  }
212
216
  }
213
217
  } else {
214
218
  if (forwardedRef) {
215
- viewProps.ref = forwardedRef;
219
+ supportedProps.ref = forwardedRef;
216
220
  }
217
221
  }
218
- const attachPress = !!(pseudos && pseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
219
- const attachHover = isWeb && !isTouchDevice && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
220
- const shouldAttach = internal.current.hasEverHadEvents || attachPress || attachHover || "pressStyle" in props || "onPress" in props || "onPressIn" in props || "onPressOut" in props || isWeb && ("hoverStyle" in props || "onClick" in props || "onHoverIn" in props || "onHoverOut" in props || "onMouseEnter" in props || "onMouseLeave" in props);
222
+ const createEl = createElement;
223
+ const attachPress = !!(psuedos && psuedos.pressStyle || onPress || onPressOut || onPressIn);
224
+ const attachHover = isWeb && !isTouchDevice && !!(psuedos && psuedos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
225
+ const shouldAttach = internal.current.hasEverHadEvents || attachPress || attachHover || "pressStyle" in props || "onPress" in props || "onPressIn" in props || "onPressOut" in props || isWeb && ("hoverStyle" in props || "onHoverIn" in props || "onHoverOut" in props || "onMouseEnter" in props || "onMouseLeave" in props);
221
226
  if (shouldAttach) {
222
227
  internal.current.hasEverHadEvents = true;
223
228
  }
@@ -277,10 +282,11 @@ function createComponent(configIn) {
277
282
  onMouseDown?.(e);
278
283
  } : onPressIn,
279
284
  onClick: attachPress ? (e) => {
280
- onPress?.(e);
281
- onClick?.(e);
285
+ e.preventDefault();
282
286
  unPress();
283
287
  onPressOut?.(e);
288
+ onPress?.(e);
289
+ onClick?.(e);
284
290
  } : onPressOut
285
291
  } : null;
286
292
  if (events) {
@@ -290,101 +296,51 @@ function createComponent(configIn) {
290
296
  hitSlop,
291
297
  onPressIn: events.onMouseDown,
292
298
  onPressOut: events.onPressOut,
293
- onPress: events.onClick
299
+ onPress
294
300
  });
295
- Object.assign(viewProps, pressProps);
301
+ Object.assign(supportedProps, pressProps);
296
302
  } else {
297
- Object.assign(viewProps, events);
303
+ Object.assign(supportedProps, events);
298
304
  }
299
305
  }
300
- const childEls = spacedChildren({
306
+ const spacedChildrenEl = spacedChildren({
301
307
  children,
302
- space,
303
- flexDirection: props.flexDirection || defaultProps?.flexDirection,
304
- isZStack
308
+ spacing,
309
+ flexDirection: props.flexDirection || defaultProps?.flexDirection
305
310
  });
306
- let content;
307
- if (isWeb && rnw) {
308
- const domProps = rnw.createDOMProps(viewProps);
309
- const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
310
- Object.assign(viewProps, domProps);
311
- viewProps.className = className;
312
- content = createElement(ViewComponent, viewProps, childEls);
313
- } else {
314
- content = createElement(ViewComponent, viewProps, childEls);
315
- }
316
- const shouldWrapTextAncestor = isWeb && isText && !hasTextAncestor;
311
+ let content = createEl(ViewComponent, supportedProps, spacedChildrenEl);
312
+ const shouldWrapTextAncestor = isWeb && staticConfig.isText && !hasTextAncestor;
317
313
  if (shouldWrapTextAncestor) {
318
314
  content = createElement(TextAncestorContext.Provider, { value: true }, content);
319
315
  }
320
316
  if (process.env.NODE_ENV === "development") {
321
317
  if (props["debug"]) {
322
- viewProps["debug"] = true;
323
- console.log("\u{1F95A} props in:", props);
324
- console.log("\u{1F95A} props out:", viewProps);
325
- console.log(props.onClick?.toString());
326
- console.log("\u{1F95A} etc:", { shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls });
327
- if (isWeb) {
328
- console.log("\u{1F95A} component info", { staticConfig, tamaguiConfig });
329
- }
318
+ supportedProps["debug"] = true;
319
+ console.log(" \u{1F351} props in: ", props);
320
+ console.log(" \u{1F351} props out: ", supportedProps);
321
+ console.log(" \u{1F351} other: ", { ViewComponent, viewProps, styles, psuedos, createEl, content, spacedChildrenEl, staticConfig, splitDefaults, tamaguiConfig });
330
322
  }
331
323
  }
332
324
  return /* @__PURE__ */ React.createElement(React.Fragment, null, features, content);
333
325
  });
334
- onConfiguredOnce((conf) => {
335
- tamaguiConfig = conf;
336
- initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]];
337
- const next = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, true);
338
- if (isWeb) {
339
- if (next.classNames) {
340
- defaultsClassName += next.classNames + " ";
341
- }
342
- defaultsClassName += addStylesUsingClassname([next.style, next.pseudos]);
343
- } else {
344
- if (!hasWarnedOnce) {
345
- hasWarnedOnce = true;
346
- console.log("\u26A0\uFE0F TODO account for default styles for media queries");
347
- }
348
- }
349
- component.defaultProps = {
350
- ...next.viewProps,
351
- ...component.defaultProps
352
- };
353
- if (process.env.NODE_ENV === "development") {
354
- if (staticConfig.defaultProps?.debug) {
355
- console.log("tamagui debug component:", next, defaultsClassName, component.defaultProps);
356
- }
357
- }
358
- });
359
- component["staticConfig"] = {
326
+ const config = {
360
327
  validStyles: validStyleProps,
361
- ...staticConfig
362
- };
363
- const res = component;
364
- res["extractable"] = (Component2, conf) => {
365
- Component2["staticConfig"] = extendStaticConfig(res, {
366
- ...conf,
367
- neverFlatten: true,
368
- defaultProps: {
369
- ...Component2.defaultProps,
370
- ...conf?.defaultProps
371
- }
372
- });
373
- return Component2;
328
+ ...staticConfig,
329
+ validPropsExtra: {
330
+ ...staticConfig.validPropsExtra,
331
+ disabled: true,
332
+ fullscreen: true
333
+ }
374
334
  };
375
- return res;
335
+ component["staticConfig"] = config;
336
+ return component;
376
337
  }
377
338
  __name(createComponent, "createComponent");
378
- let hasWarnedOnce = false;
379
339
  const Spacer = createComponent({
380
- defaultProps: {
381
- ...stackDefaultStyles,
382
- size: true
383
- },
340
+ defaultProps: stackDefaultStyles,
384
341
  variants: {
385
342
  size: {
386
343
  "...size": (size, { tokens }) => {
387
- size = size == true ? "$true" : size;
388
344
  return {
389
345
  width: tokens.size[size] ?? size,
390
346
  height: tokens.size[size] ?? size
@@ -402,56 +358,34 @@ const Spacer = createComponent({
402
358
  }
403
359
  });
404
360
  function spacedChildren({
405
- isZStack,
406
361
  children,
407
- space,
362
+ spacing,
408
363
  flexDirection
409
364
  }) {
410
- if (!space && !isZStack) {
365
+ if (!spacing) {
411
366
  return children;
412
367
  }
368
+ const next = [];
413
369
  const childrenList = Children.toArray(children);
414
370
  const len = childrenList.length;
415
371
  if (len === 1) {
416
372
  return children;
417
373
  }
418
- const next = [];
374
+ const spacer = /* @__PURE__ */ React.createElement(Spacer, {
375
+ direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
376
+ size: spacing
377
+ });
419
378
  for (const [index, child] of childrenList.entries()) {
420
- if (child === null || child === void 0) {
421
- continue;
379
+ next.push(child);
380
+ if (index === len - 1) {
381
+ break;
422
382
  }
423
383
  const key = `${child?.["key"] ?? index}`;
424
- next.push(/* @__PURE__ */ React.createElement(Fragment, {
425
- key
426
- }, isZStack ? /* @__PURE__ */ React.createElement(Absolute, null, child) : child));
427
- if (child?.["type"]?.["isVisuallyHidden"]) {
428
- continue;
429
- }
430
- if (index !== len - 1) {
431
- if (space) {
432
- next.push(/* @__PURE__ */ React.createElement(Spacer, {
433
- key: `${key}_spacer`,
434
- direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
435
- size: space
436
- }));
437
- }
438
- }
384
+ next.push(createElement(Fragment, { key: key + "_spacer" }, spacer));
439
385
  }
440
386
  return next;
441
387
  }
442
388
  __name(spacedChildren, "spacedChildren");
443
- const Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ React.createElement(View, {
444
- style: sheet.fullscreen
445
- }, children), "Absolute");
446
- const sheet = StyleSheet.create({
447
- fullscreen: {
448
- position: "absolute",
449
- top: 0,
450
- left: 0,
451
- right: 0,
452
- bottom: 0
453
- }
454
- });
455
389
  export {
456
390
  Spacer,
457
391
  createComponent,