@tamagui/core 1.0.0-beta.189 → 1.0.0-beta.193

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 (371) hide show
  1. package/dist/cjs/Tamagui.js +18 -1
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/ThemeContext.js +4 -0
  4. package/dist/cjs/ThemeContext.js.map +0 -0
  5. package/dist/cjs/ThemeManager.js +30 -14
  6. package/dist/cjs/ThemeManager.js.map +2 -2
  7. package/dist/cjs/conf.js +10 -1
  8. package/dist/cjs/conf.js.map +2 -2
  9. package/dist/cjs/constants/constants.js +6 -0
  10. package/dist/cjs/constants/constants.js.map +0 -0
  11. package/dist/cjs/constants/platform.js +15 -0
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/rnw.js +4 -0
  14. package/dist/cjs/constants/rnw.js.map +0 -0
  15. package/dist/cjs/contexts/ButtonInsideButtonContext.js +4 -0
  16. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +0 -0
  17. package/dist/cjs/createComponent.js +136 -128
  18. package/dist/cjs/createComponent.js.map +2 -2
  19. package/dist/cjs/createFont.js +4 -0
  20. package/dist/cjs/createFont.js.map +0 -0
  21. package/dist/cjs/createShorthands.js +4 -0
  22. package/dist/cjs/createShorthands.js.map +0 -0
  23. package/dist/cjs/createTamagui.js +38 -18
  24. package/dist/cjs/createTamagui.js.map +2 -2
  25. package/dist/cjs/createTheme.js +4 -0
  26. package/dist/cjs/createTheme.js.map +0 -0
  27. package/dist/cjs/createTokens.js +7 -6
  28. package/dist/cjs/createTokens.js.map +2 -2
  29. package/dist/cjs/createVariable.js +18 -2
  30. package/dist/cjs/createVariable.js.map +2 -2
  31. package/dist/cjs/defaultComponentState.js +0 -30
  32. package/dist/cjs/defaultComponentState.js.map +3 -3
  33. package/dist/cjs/helpers/RNComponents.js +38 -0
  34. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  35. package/dist/cjs/helpers/addStylesUsingClassname.js +8 -0
  36. package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
  37. package/dist/cjs/helpers/areEqualSets.js +4 -0
  38. package/dist/cjs/helpers/areEqualSets.js.map +0 -0
  39. package/dist/cjs/helpers/createMediaStyle.js +5 -0
  40. package/dist/cjs/helpers/createMediaStyle.js.map +0 -0
  41. package/dist/cjs/helpers/createPropMapper.js +63 -61
  42. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  43. package/dist/cjs/helpers/createShallowUpdate.js +55 -0
  44. package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
  45. package/dist/cjs/helpers/createTamaguiProvider.js +5 -5
  46. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  47. package/dist/cjs/helpers/extendStaticConfig.js +9 -6
  48. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  49. package/dist/cjs/helpers/fixNativeShadow.js +4 -0
  50. package/dist/cjs/helpers/fixNativeShadow.js.map +0 -0
  51. package/dist/cjs/helpers/fixNativeShadow.native.js +6 -2
  52. package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
  53. package/dist/cjs/helpers/getExpandedShorthands.js +4 -0
  54. package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -0
  55. package/dist/cjs/helpers/getSplitStyles.js +111 -61
  56. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  57. package/dist/cjs/helpers/getStylesAtomic.js +20 -2
  58. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  59. package/dist/cjs/helpers/getStylesAtomic.native.js +4 -0
  60. package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -0
  61. package/dist/cjs/helpers/insertStyleRule.js +46 -26
  62. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  63. package/dist/cjs/helpers/isObj.js +4 -0
  64. package/dist/cjs/helpers/isObj.js.map +0 -0
  65. package/dist/cjs/helpers/isTamaguiElement.js +4 -0
  66. package/dist/cjs/helpers/isTamaguiElement.js.map +0 -0
  67. package/dist/cjs/helpers/matchMedia.js +4 -0
  68. package/dist/cjs/helpers/matchMedia.js.map +0 -0
  69. package/dist/cjs/helpers/matchMedia.native.js +4 -0
  70. package/dist/cjs/helpers/matchMedia.native.js.map +0 -0
  71. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  72. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  73. package/dist/cjs/helpers/themeable.js +7 -2
  74. package/dist/cjs/helpers/themeable.js.map +2 -2
  75. package/dist/cjs/helpers/validate.js +53 -11
  76. package/dist/cjs/helpers/validate.js.map +2 -2
  77. package/dist/cjs/helpers/withStaticProperties.js +4 -0
  78. package/dist/cjs/helpers/withStaticProperties.js.map +0 -0
  79. package/dist/cjs/helpers/wrapThemeManagerContext.js +4 -0
  80. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +0 -0
  81. package/dist/cjs/hooks/useConstant.js +4 -0
  82. package/dist/cjs/hooks/useConstant.js.map +0 -0
  83. package/dist/cjs/hooks/useFeatures.js +101 -12
  84. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  85. package/dist/cjs/hooks/useIsMounted.js +4 -0
  86. package/dist/cjs/hooks/useIsMounted.js.map +0 -0
  87. package/dist/cjs/hooks/useIsTouchDevice.js +4 -0
  88. package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -0
  89. package/dist/cjs/hooks/useMedia.js +31 -12
  90. package/dist/cjs/hooks/useMedia.js.map +2 -2
  91. package/dist/cjs/hooks/usePressable.js +4 -0
  92. package/dist/cjs/hooks/usePressable.js.map +0 -0
  93. package/dist/cjs/hooks/useTheme.js +36 -23
  94. package/dist/cjs/hooks/useTheme.js.map +2 -2
  95. package/dist/cjs/hooks/useUnmountEffect.js +4 -0
  96. package/dist/cjs/hooks/useUnmountEffect.js.map +0 -0
  97. package/dist/cjs/index.js +14 -0
  98. package/dist/cjs/index.js.map +2 -2
  99. package/dist/cjs/static.js +3 -0
  100. package/dist/cjs/static.js.map +2 -2
  101. package/dist/cjs/styled.js +8 -15
  102. package/dist/cjs/styled.js.map +2 -2
  103. package/dist/cjs/types-rnw.js +0 -0
  104. package/dist/cjs/types-rnw.js.map +1 -1
  105. package/dist/cjs/types.js +0 -0
  106. package/dist/cjs/types.js.map +1 -1
  107. package/dist/cjs/views/Stack.js +5 -0
  108. package/dist/cjs/views/Stack.js.map +2 -2
  109. package/dist/cjs/views/Text.js +5 -0
  110. package/dist/cjs/views/Text.js.map +2 -2
  111. package/dist/cjs/views/TextAncestorContext.js +6 -0
  112. package/dist/cjs/views/TextAncestorContext.js.map +0 -0
  113. package/dist/cjs/views/Theme.js +11 -4
  114. package/dist/cjs/views/Theme.js.map +2 -2
  115. package/dist/cjs/views/ThemeInverse.js +5 -0
  116. package/dist/cjs/views/ThemeInverse.js.map +0 -0
  117. package/dist/cjs/views/ThemeProvider.js +4 -0
  118. package/dist/cjs/views/ThemeProvider.js.map +0 -0
  119. package/dist/cjs/views/ThemeReset.js +4 -0
  120. package/dist/cjs/views/ThemeReset.js.map +0 -0
  121. package/dist/esm/Tamagui.js +10 -2
  122. package/dist/esm/Tamagui.js.map +2 -2
  123. package/dist/esm/ThemeContext.js +0 -0
  124. package/dist/esm/ThemeContext.js.map +0 -0
  125. package/dist/esm/ThemeManager.js +21 -11
  126. package/dist/esm/ThemeManager.js.map +2 -2
  127. package/dist/esm/conf.js +0 -1
  128. package/dist/esm/conf.js.map +2 -2
  129. package/dist/esm/constants/constants.js +0 -0
  130. package/dist/esm/constants/constants.js.map +0 -0
  131. package/dist/esm/constants/platform.js +2 -0
  132. package/dist/esm/constants/platform.js.map +2 -2
  133. package/dist/esm/constants/rnw.js +0 -0
  134. package/dist/esm/constants/rnw.js.map +0 -0
  135. package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
  136. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +0 -0
  137. package/dist/esm/createComponent.js +126 -131
  138. package/dist/esm/createComponent.js.map +2 -2
  139. package/dist/esm/createFont.js +0 -0
  140. package/dist/esm/createFont.js.map +0 -0
  141. package/dist/esm/createShorthands.js +0 -0
  142. package/dist/esm/createShorthands.js.map +0 -0
  143. package/dist/esm/createTamagui.js +34 -18
  144. package/dist/esm/createTamagui.js.map +2 -2
  145. package/dist/esm/createTheme.js +0 -0
  146. package/dist/esm/createTheme.js.map +0 -0
  147. package/dist/esm/createTokens.js +2 -6
  148. package/dist/esm/createTokens.js.map +2 -2
  149. package/dist/esm/createVariable.js +8 -2
  150. package/dist/esm/createVariable.js.map +2 -2
  151. package/dist/esm/defaultComponentState.js +0 -11
  152. package/dist/esm/defaultComponentState.js.map +3 -3
  153. package/dist/esm/helpers/RNComponents.js +12 -0
  154. package/dist/esm/helpers/RNComponents.js.map +7 -0
  155. package/dist/esm/helpers/addStylesUsingClassname.js +4 -1
  156. package/dist/esm/helpers/addStylesUsingClassname.js.map +2 -2
  157. package/dist/esm/helpers/areEqualSets.js +0 -0
  158. package/dist/esm/helpers/areEqualSets.js.map +0 -0
  159. package/dist/esm/helpers/createMediaStyle.js +0 -0
  160. package/dist/esm/helpers/createMediaStyle.js.map +0 -0
  161. package/dist/esm/helpers/createPropMapper.js +59 -61
  162. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  163. package/dist/esm/helpers/createShallowUpdate.js +19 -0
  164. package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
  165. package/dist/esm/helpers/createTamaguiProvider.js +1 -4
  166. package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
  167. package/dist/esm/helpers/extendStaticConfig.js +9 -6
  168. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  169. package/dist/esm/helpers/fixNativeShadow.js +0 -0
  170. package/dist/esm/helpers/fixNativeShadow.js.map +0 -0
  171. package/dist/esm/helpers/fixNativeShadow.native.js +2 -2
  172. package/dist/esm/helpers/fixNativeShadow.native.js.map +2 -2
  173. package/dist/esm/helpers/getExpandedShorthands.js +0 -0
  174. package/dist/esm/helpers/getExpandedShorthands.js.map +0 -0
  175. package/dist/esm/helpers/getSplitStyles.js +107 -63
  176. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  177. package/dist/esm/helpers/getStylesAtomic.js +15 -2
  178. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  179. package/dist/esm/helpers/getStylesAtomic.native.js +0 -0
  180. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -0
  181. package/dist/esm/helpers/insertStyleRule.js +36 -26
  182. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  183. package/dist/esm/helpers/isObj.js +0 -0
  184. package/dist/esm/helpers/isObj.js.map +0 -0
  185. package/dist/esm/helpers/isTamaguiElement.js +0 -0
  186. package/dist/esm/helpers/isTamaguiElement.js.map +0 -0
  187. package/dist/esm/helpers/matchMedia.js +0 -0
  188. package/dist/esm/helpers/matchMedia.js.map +0 -0
  189. package/dist/esm/helpers/matchMedia.native.js +0 -0
  190. package/dist/esm/helpers/matchMedia.native.js.map +0 -0
  191. package/dist/esm/helpers/proxyThemeVariables.js +18 -0
  192. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  193. package/dist/esm/helpers/themeable.js +3 -2
  194. package/dist/esm/helpers/themeable.js.map +2 -2
  195. package/dist/esm/helpers/validate.js +24 -11
  196. package/dist/esm/helpers/validate.js.map +2 -2
  197. package/dist/esm/helpers/withStaticProperties.js +0 -0
  198. package/dist/esm/helpers/withStaticProperties.js.map +0 -0
  199. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -0
  200. package/dist/esm/helpers/wrapThemeManagerContext.js.map +0 -0
  201. package/dist/esm/hooks/useConstant.js +0 -0
  202. package/dist/esm/hooks/useConstant.js.map +0 -0
  203. package/dist/esm/hooks/useFeatures.js +96 -17
  204. package/dist/esm/hooks/useFeatures.js.map +2 -2
  205. package/dist/esm/hooks/useIsMounted.js +0 -0
  206. package/dist/esm/hooks/useIsMounted.js.map +0 -0
  207. package/dist/esm/hooks/useIsTouchDevice.js +0 -0
  208. package/dist/esm/hooks/useIsTouchDevice.js.map +0 -0
  209. package/dist/esm/hooks/useMedia.js +20 -12
  210. package/dist/esm/hooks/useMedia.js.map +2 -2
  211. package/dist/esm/hooks/usePressable.js +0 -0
  212. package/dist/esm/hooks/usePressable.js.map +0 -0
  213. package/dist/esm/hooks/useTheme.js +28 -23
  214. package/dist/esm/hooks/useTheme.js.map +2 -2
  215. package/dist/esm/hooks/useUnmountEffect.js +0 -0
  216. package/dist/esm/hooks/useUnmountEffect.js.map +0 -0
  217. package/dist/esm/index.js +3 -0
  218. package/dist/esm/index.js.map +2 -2
  219. package/dist/esm/static.js +3 -0
  220. package/dist/esm/static.js.map +2 -2
  221. package/dist/esm/styled.js +4 -12
  222. package/dist/esm/styled.js.map +2 -2
  223. package/dist/esm/types-rnw.js +0 -0
  224. package/dist/esm/types-rnw.js.map +0 -0
  225. package/dist/esm/types.js +0 -0
  226. package/dist/esm/types.js.map +0 -0
  227. package/dist/esm/views/Stack.js +1 -0
  228. package/dist/esm/views/Stack.js.map +2 -2
  229. package/dist/esm/views/Text.js +1 -0
  230. package/dist/esm/views/Text.js.map +2 -2
  231. package/dist/esm/views/TextAncestorContext.js +0 -0
  232. package/dist/esm/views/TextAncestorContext.js.map +0 -0
  233. package/dist/esm/views/Theme.js +7 -4
  234. package/dist/esm/views/Theme.js.map +2 -2
  235. package/dist/esm/views/ThemeInverse.js +0 -0
  236. package/dist/esm/views/ThemeInverse.js.map +0 -0
  237. package/dist/esm/views/ThemeProvider.js +0 -0
  238. package/dist/esm/views/ThemeProvider.js.map +0 -0
  239. package/dist/esm/views/ThemeReset.js +0 -0
  240. package/dist/esm/views/ThemeReset.js.map +0 -0
  241. package/dist/jsx/Tamagui.js +10 -2
  242. package/dist/jsx/ThemeContext.js +0 -0
  243. package/dist/jsx/ThemeManager.js +21 -11
  244. package/dist/jsx/conf.js +0 -1
  245. package/dist/jsx/constants/constants.js +0 -0
  246. package/dist/jsx/constants/platform.js +2 -0
  247. package/dist/jsx/constants/rnw.js +0 -0
  248. package/dist/jsx/contexts/ButtonInsideButtonContext.js +0 -0
  249. package/dist/jsx/createComponent.js +119 -125
  250. package/dist/jsx/createFont.js +0 -0
  251. package/dist/jsx/createShorthands.js +0 -0
  252. package/dist/jsx/createTamagui.js +34 -18
  253. package/dist/jsx/createTheme.js +0 -0
  254. package/dist/jsx/createTokens.js +2 -6
  255. package/dist/jsx/createVariable.js +8 -2
  256. package/dist/jsx/defaultComponentState.js +0 -11
  257. package/dist/jsx/helpers/RNComponents.js +11 -0
  258. package/dist/jsx/helpers/addStylesUsingClassname.js +4 -1
  259. package/dist/jsx/helpers/areEqualSets.js +0 -0
  260. package/dist/jsx/helpers/createMediaStyle.js +0 -0
  261. package/dist/jsx/helpers/createPropMapper.js +59 -61
  262. package/dist/jsx/helpers/createShallowUpdate.js +18 -0
  263. package/dist/jsx/helpers/createTamaguiProvider.js +1 -2
  264. package/dist/jsx/helpers/extendStaticConfig.js +9 -6
  265. package/dist/jsx/helpers/fixNativeShadow.js +0 -0
  266. package/dist/jsx/helpers/fixNativeShadow.native.js +2 -2
  267. package/dist/jsx/helpers/getExpandedShorthands.js +0 -0
  268. package/dist/jsx/helpers/getSplitStyles.js +107 -63
  269. package/dist/jsx/helpers/getStylesAtomic.js +15 -2
  270. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -0
  271. package/dist/jsx/helpers/insertStyleRule.js +36 -26
  272. package/dist/jsx/helpers/isObj.js +0 -0
  273. package/dist/jsx/helpers/isTamaguiElement.js +0 -0
  274. package/dist/jsx/helpers/matchMedia.js +0 -0
  275. package/dist/jsx/helpers/matchMedia.native.js +0 -0
  276. package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
  277. package/dist/jsx/helpers/themeable.js +3 -3
  278. package/dist/jsx/helpers/validate.js +24 -11
  279. package/dist/jsx/helpers/withStaticProperties.js +0 -0
  280. package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -0
  281. package/dist/jsx/hooks/useConstant.js +0 -0
  282. package/dist/jsx/hooks/useFeatures.js +96 -17
  283. package/dist/jsx/hooks/useIsMounted.js +0 -0
  284. package/dist/jsx/hooks/useIsTouchDevice.js +0 -0
  285. package/dist/jsx/hooks/useMedia.js +20 -12
  286. package/dist/jsx/hooks/usePressable.js +0 -0
  287. package/dist/jsx/hooks/useTheme.js +28 -23
  288. package/dist/jsx/hooks/useUnmountEffect.js +0 -0
  289. package/dist/jsx/index.js +3 -0
  290. package/dist/jsx/static.js +3 -0
  291. package/dist/jsx/styled.js +4 -12
  292. package/dist/jsx/types-rnw.js +0 -0
  293. package/dist/jsx/types.js +0 -0
  294. package/dist/jsx/views/Stack.js +1 -0
  295. package/dist/jsx/views/Text.js +1 -0
  296. package/dist/jsx/views/TextAncestorContext.js +0 -0
  297. package/dist/jsx/views/Theme.js +7 -4
  298. package/dist/jsx/views/ThemeInverse.js +0 -0
  299. package/dist/jsx/views/ThemeProvider.js +0 -0
  300. package/dist/jsx/views/ThemeReset.js +0 -0
  301. package/package.json +6 -6
  302. package/types/Tamagui.d.ts +18 -1
  303. package/types/Tamagui.d.ts.map +1 -1
  304. package/types/ThemeManager.d.ts +3 -3
  305. package/types/ThemeManager.d.ts.map +1 -1
  306. package/types/conf.d.ts +2 -0
  307. package/types/conf.d.ts.map +1 -1
  308. package/types/constants/platform.d.ts +1 -0
  309. package/types/constants/platform.d.ts.map +1 -1
  310. package/types/createComponent.d.ts +5 -7
  311. package/types/createComponent.d.ts.map +1 -1
  312. package/types/createFont.d.ts +1 -1
  313. package/types/createFont.d.ts.map +1 -1
  314. package/types/createTamagui.d.ts +1 -1
  315. package/types/createTamagui.d.ts.map +1 -1
  316. package/types/createTokens.d.ts +0 -26
  317. package/types/createTokens.d.ts.map +1 -1
  318. package/types/createVariable.d.ts +1 -0
  319. package/types/createVariable.d.ts.map +1 -1
  320. package/types/defaultComponentState.d.ts +0 -12
  321. package/types/defaultComponentState.d.ts.map +1 -1
  322. package/types/helpers/RNComponents.d.ts +2 -0
  323. package/types/helpers/RNComponents.d.ts.map +1 -0
  324. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -1
  325. package/types/helpers/createPropMapper.d.ts +2 -2
  326. package/types/helpers/createPropMapper.d.ts.map +1 -1
  327. package/types/helpers/createShallowUpdate.d.ts +4 -0
  328. package/types/helpers/createShallowUpdate.d.ts.map +1 -0
  329. package/types/helpers/createTamaguiProvider.d.ts +1 -1
  330. package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
  331. package/types/helpers/extendStaticConfig.d.ts +2 -2
  332. package/types/helpers/extendStaticConfig.d.ts.map +1 -1
  333. package/types/helpers/getSplitStyles.d.ts +6 -14
  334. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  335. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  336. package/types/helpers/insertStyleRule.d.ts +2 -1
  337. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  338. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  339. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  340. package/types/helpers/themeable.d.ts +3 -1
  341. package/types/helpers/themeable.d.ts.map +1 -1
  342. package/types/helpers/validate.d.ts.map +1 -1
  343. package/types/hooks/useFeatures.d.ts +7 -5
  344. package/types/hooks/useFeatures.d.ts.map +1 -1
  345. package/types/hooks/useMedia.d.ts +3 -3
  346. package/types/hooks/useMedia.d.ts.map +1 -1
  347. package/types/hooks/useTheme.d.ts +1 -1
  348. package/types/hooks/useTheme.d.ts.map +1 -1
  349. package/types/index.d.ts +1 -0
  350. package/types/index.d.ts.map +1 -1
  351. package/types/static.d.ts +3 -0
  352. package/types/static.d.ts.map +1 -1
  353. package/types/styled.d.ts +13 -8
  354. package/types/styled.d.ts.map +1 -1
  355. package/types/types-rnw.d.ts +0 -5
  356. package/types/types-rnw.d.ts.map +1 -1
  357. package/types/types.d.ts +144 -103
  358. package/types/types.d.ts.map +1 -1
  359. package/types/views/Stack.d.ts +2 -2
  360. package/types/views/Stack.d.ts.map +1 -1
  361. package/types/views/Text.d.ts +2 -2
  362. package/types/views/Text.d.ts.map +1 -1
  363. package/types/views/Theme.d.ts +1 -0
  364. package/types/views/Theme.d.ts.map +1 -1
  365. package/dist/cjs/spacedChildren.js +0 -86
  366. package/dist/cjs/spacedChildren.js.map +0 -7
  367. package/dist/esm/spacedChildren.js +0 -52
  368. package/dist/esm/spacedChildren.js.map +0 -7
  369. package/dist/jsx/spacedChildren.js +0 -44
  370. package/types/spacedChildren.d.ts +0 -9
  371. package/types/spacedChildren.d.ts.map +0 -1
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { stylePropsView } from "@tamagui/helpers";
4
4
  import { useForceUpdate } from "@tamagui/use-force-update";
5
- import {
5
+ import React, {
6
6
  Children,
7
7
  Fragment,
8
8
  createElement,
@@ -10,26 +10,34 @@ import {
10
10
  memo,
11
11
  useCallback,
12
12
  useContext,
13
- useEffect,
14
13
  useRef,
15
14
  useState
16
15
  } from "react";
17
16
  import { StyleSheet, Text, View } from "react-native";
18
17
  import { onConfiguredOnce } from "./conf";
19
18
  import { stackDefaultStyles } from "./constants/constants";
20
- import { isAndroid, isTouchDevice, isWeb } from "./constants/platform";
19
+ import { isAndroid, isTouchDevice, isWeb, useIsomorphicLayoutEffect } from "./constants/platform";
21
20
  import { rnw } from "./constants/rnw";
22
21
  import { isVariable } from "./createVariable";
23
- import { defaultComponentState } from "./defaultComponentState";
22
+ import { createShallowUpdate } from "./helpers/createShallowUpdate";
24
23
  import { extendStaticConfig, parseStaticConfig } from "./helpers/extendStaticConfig";
25
- import {
26
- getSplitStyles
27
- } from "./helpers/getSplitStyles";
24
+ import { getSplitStyles } from "./helpers/getSplitStyles";
25
+ import { getAllSelectors } from "./helpers/insertStyleRule";
26
+ import { proxyThemeVariables } from "./helpers/proxyThemeVariables";
28
27
  import { wrapThemeManagerContext } from "./helpers/wrapThemeManagerContext";
29
28
  import { useFeatures } from "./hooks/useFeatures";
30
29
  import { usePressable } from "./hooks/usePressable";
31
30
  import { getThemeManagerIfChanged, useTheme } from "./hooks/useTheme";
32
31
  import { TextAncestorContext } from "./views/TextAncestorContext";
32
+ React["keep"];
33
+ const defaultComponentState = {
34
+ hover: false,
35
+ press: false,
36
+ pressIn: false,
37
+ focus: false,
38
+ mounted: false,
39
+ animation: null
40
+ };
33
41
  const mouseUps = /* @__PURE__ */ new Set();
34
42
  if (typeof document !== "undefined") {
35
43
  document.addEventListener("mouseup", () => {
@@ -37,76 +45,73 @@ if (typeof document !== "undefined") {
37
45
  mouseUps.clear();
38
46
  });
39
47
  }
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
- function createComponent(configIn) {
54
- let staticConfig;
55
- if ("parsed" in configIn) {
56
- staticConfig = configIn;
57
- } else {
58
- staticConfig = parseStaticConfig(configIn);
48
+ function mergeShorthands({ defaultProps }, { shorthands }) {
49
+ for (const key in defaultProps) {
50
+ defaultProps[shorthands[key] || key] = defaultProps[key];
59
51
  }
60
- const { Component, validStyles, isText, isZStack, componentName } = staticConfig;
61
- const componentClassName = `is_${componentName}`;
62
- const validStyleProps = validStyles || stylePropsView;
52
+ }
53
+ __name(mergeShorthands, "mergeShorthands");
54
+ let initialTheme;
55
+ function createComponent(configIn, ParentComponent) {
56
+ const staticConfig = (() => {
57
+ const config = extendStaticConfig(configIn, ParentComponent);
58
+ if ("parsed" in config) {
59
+ return config;
60
+ } else {
61
+ return parseStaticConfig(config);
62
+ }
63
+ })();
64
+ const componentClassName = `is_${staticConfig.componentName}`;
63
65
  let tamaguiConfig;
64
66
  let AnimatedText;
65
67
  let AnimatedView;
66
- let avoidClasses = false;
67
- let defaultPseudos = {};
68
+ let avoidClasses = true;
68
69
  let defaultNativeStyle;
69
- let defaultNativeStyleSheet = null;
70
- let defaultsClassName = null;
71
- let initialTheme;
72
- let splitStyleResult = null;
70
+ let defaultNativeStyleSheet;
71
+ let initialSplitStyles;
73
72
  function addPseudoToStyles(styles, name, pseudos) {
74
73
  const pseudoStyle = pseudos[name];
74
+ const shouldNestObject = isWeb && name !== "enterStyle" && name !== "exitStyle";
75
75
  if (pseudoStyle) {
76
- styles.push(isWeb ? { [name]: pseudoStyle } : pseudoStyle);
76
+ styles.push(shouldNestObject ? { [name]: pseudoStyle } : pseudoStyle);
77
77
  }
78
- const defaultPseudoStyle = defaultPseudos[name];
78
+ const defaultPseudoStyle = initialSplitStyles.pseudos[name];
79
79
  if (defaultPseudoStyle) {
80
- styles.push(isWeb ? { [name]: defaultPseudoStyle } : defaultPseudoStyle);
80
+ styles.push(shouldNestObject ? { [name]: defaultPseudoStyle } : defaultPseudoStyle);
81
81
  }
82
82
  }
83
83
  __name(addPseudoToStyles, "addPseudoToStyles");
84
84
  const component = forwardRef((props, forwardedRef) => {
85
85
  var _a, _b, _c, _d;
86
+ const { Component, componentName, isText, isZStack } = staticConfig;
86
87
  if (process.env.NODE_ENV === "development") {
87
88
  if (props["debug"]) {
88
- console.warn(componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]", " debug prop on:", { props: Object.entries(props) });
89
+ console.warn(staticConfig.componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]", "debug on");
90
+ console.log("props in:", props);
89
91
  if (props["debug"] === "break")
90
92
  debugger;
91
93
  }
92
94
  }
93
95
  const forceUpdate = useForceUpdate();
94
- const theme = useTheme(props.theme, componentName, props, forceUpdate);
96
+ const theme = useTheme(props.theme, staticConfig.componentName, props, forceUpdate);
95
97
  const [state, set_] = useState(defaultComponentState);
96
98
  const setStateShallow = createShallowUpdate(set_);
97
- const shouldAvoidClasses = !!(state.animation && avoidClasses);
98
- const splitInfo = getSplitStyles(props, staticConfig, theme, shouldAvoidClasses ? { ...state, noClassNames: true, resolveVariablesAs: "value" } : state, defaultsClassName);
99
- const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitInfo;
99
+ const shouldAvoidClasses = !!(props.animation && avoidClasses);
100
+ const splitStyles = getSplitStyles(props, staticConfig, theme, shouldAvoidClasses ? { ...state, noClassNames: true, resolveVariablesAs: "value" } : state, shouldAvoidClasses ? null : initialSplitStyles.classNames);
101
+ const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitStyles;
100
102
  const useAnimations = (_a = tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
101
103
  const isAnimated = !!(useAnimations && props.animation);
102
- const styleWithPseudos = props.animation ? merge({ ...defaultNativeStyle, ...style }, state.hover && pseudos.hoverStyle, state.press && pseudos.pressStyle, state.focus && pseudos.focusStyle, ...Object.values(medias)) : null;
104
+ const hasEnterStyle = !!props.enterStyle;
103
105
  const features = useFeatures(props, {
104
106
  forceUpdate,
105
107
  setStateShallow,
106
108
  useAnimations,
107
109
  state,
108
- style: styleWithPseudos,
109
- pseudos
110
+ style: props.animation ? { ...defaultNativeStyle, ...style } : null,
111
+ pseudos,
112
+ staticConfig,
113
+ theme,
114
+ onDidAnimate: props.onDidAnimate
110
115
  });
111
116
  const {
112
117
  tag,
@@ -145,6 +150,7 @@ function createComponent(configIn) {
145
150
  accessibilityRole,
146
151
  collapsable,
147
152
  focusable,
153
+ onClick,
148
154
  theme: _themeProp,
149
155
  defaultVariants,
150
156
  onLayout,
@@ -160,15 +166,14 @@ function createComponent(configIn) {
160
166
  }
161
167
  const hasTextAncestor = isWeb ? useContext(TextAncestorContext) : false;
162
168
  const hostRef = useRef(null);
163
- const hasEnterStyle = !!props.enterStyle;
164
169
  const internal = useRef();
165
170
  if (!internal.current) {
166
171
  internal.current = {
167
172
  isMounted: true
168
173
  };
169
174
  }
170
- useEffect(() => {
171
- if (hasEnterStyle) {
175
+ useIsomorphicLayoutEffect(() => {
176
+ if (typeof window !== "undefined" && (hasEnterStyle || props.animation)) {
172
177
  setStateShallow({
173
178
  mounted: true
174
179
  });
@@ -178,7 +183,7 @@ function createComponent(configIn) {
178
183
  mouseUps.delete(unPress);
179
184
  internal.current.isMounted = false;
180
185
  };
181
- }, []);
186
+ }, [hasEnterStyle, props.animation]);
182
187
  if (nativeID) {
183
188
  viewProps.id = nativeID;
184
189
  }
@@ -236,6 +241,7 @@ function createComponent(configIn) {
236
241
  medias
237
242
  ];
238
243
  if (!animationStyles) {
244
+ !state.mounted && addPseudoToStyles(styles, "enterStyle", pseudos);
239
245
  state.hover && addPseudoToStyles(styles, "hoverStyle", pseudos);
240
246
  state.focus && addPseudoToStyles(styles, "focusStyle", pseudos);
241
247
  state.press && addPseudoToStyles(styles, "pressStyle", pseudos);
@@ -254,10 +260,11 @@ function createComponent(configIn) {
254
260
  const className = classList.join(" ");
255
261
  if (process.env.NODE_ENV === "development") {
256
262
  if (props["debug"]) {
257
- console.log(" \xBB className", { isStringElement, pseudos, state, defaultsClassName, classNames, propsClassName: props.className, style, classList, className: className.trim().split(" "), themeClassName: theme.className });
263
+ console.log(" \xBB className", { isStringElement, pseudos, state, classNames, propsClassName: props.className, style, classList, className: className.trim().split(" "), themeClassName: theme.className, values: Object.fromEntries(Object.entries(classNames).map(([k, v]) => [v, getAllSelectors()[v]])) });
258
264
  }
259
265
  }
260
266
  viewProps.className = className;
267
+ viewProps.style = animationStyles;
261
268
  } else {
262
269
  viewProps.style = styles;
263
270
  }
@@ -294,7 +301,8 @@ function createComponent(configIn) {
294
301
  viewProps.ref = forwardedRef;
295
302
  }
296
303
  }
297
- const attachPress = !!(pseudos && pseudos.pressStyle || onPress || onPressOut || onPressIn);
304
+ const initialPseudos = initialSplitStyles.pseudos;
305
+ const attachPress = !!(pseudos && pseudos.pressStyle || initialPseudos && initialPseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
298
306
  const isHoverable = isWeb && !isTouchDevice;
299
307
  const attachHover = isHoverable && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
300
308
  const pressEventKey = isStringElement ? "onClick" : "onPress";
@@ -358,6 +366,7 @@ function createComponent(configIn) {
358
366
  onPress == null ? void 0 : onPress(e);
359
367
  unPress();
360
368
  onPressOut == null ? void 0 : onPressOut(e);
369
+ onClick == null ? void 0 : onClick(e);
361
370
  } : null
362
371
  } : null;
363
372
  let childEls = !children ? children : wrapThemeManagerContext(spacedChildren({
@@ -377,18 +386,6 @@ function createComponent(configIn) {
377
386
  } : {
378
387
  disabled: true
379
388
  });
380
- if (events) {
381
- if (!isStringElement) {
382
- Object.assign(viewProps, pressProps);
383
- } else {
384
- Object.assign(viewProps, events);
385
- }
386
- if (isWeb && isHoverable) {
387
- childEls = <span style={{
388
- display: "contents"
389
- }} onMouseEnter={events.onMouseEnter} onMouseLeave={events.onMouseLeave}>{children}</span>;
390
- }
391
- }
392
389
  let content;
393
390
  if (isWeb) {
394
391
  if (staticConfig.isReactNativeWeb) {
@@ -405,11 +402,23 @@ function createComponent(configIn) {
405
402
  }
406
403
  }
407
404
  }
405
+ if (events) {
406
+ if (!isStringElement) {
407
+ Object.assign(viewProps, pressProps);
408
+ } else {
409
+ Object.assign(viewProps, events);
410
+ }
411
+ }
408
412
  content = createElement(ViewComponent, viewProps, childEls);
413
+ if (isWeb && events && attachHover) {
414
+ content = <span className="tui_Hoverable" style={{
415
+ display: "contents"
416
+ }} onMouseEnter={events.onMouseEnter} onMouseLeave={events.onMouseLeave}>{content}</span>;
417
+ }
409
418
  if (process.env.NODE_ENV === "development") {
410
419
  if (props["debug"]) {
411
420
  viewProps["debug"] = true;
412
- console.log(" \xBB ", { propsIn: { ...props }, propsOut: { ...viewProps }, animationStyles, isStringElement, classNamesIn: (_c = props.className) == null ? void 0 : _c.split(" "), classNamesOut: (_d = viewProps.className) == null ? void 0 : _d.split(" "), pressProps, events, shouldAttach, ViewComponent, viewProps, state, styles, pseudos, content, childEls, shouldAvoidClasses, animation: props.animation, style, defaultNativeStyle, splitStyleResult, ...typeof window !== "undefined" ? { theme, themeState: theme.__state, themeClassName: theme.className, staticConfig, tamaguiConfig } : null });
421
+ console.log(" \xBB ", { propsIn: { ...props }, propsOut: { ...viewProps }, state, splitStyles, animationStyles, isStringElement, classNamesIn: (_c = props.className) == null ? void 0 : _c.split(" "), classNamesOut: (_d = viewProps.className) == null ? void 0 : _d.split(" "), pressProps, events, shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls, shouldAvoidClasses, avoidClasses, animation: props.animation, style, defaultNativeStyle, initialSplitStyles, ...typeof window !== "undefined" ? { theme, themeState: theme.__state, themeClassName: theme.className, staticConfig, tamaguiConfig } : null });
413
422
  }
414
423
  }
415
424
  if (features.length) {
@@ -420,23 +429,28 @@ function createComponent(configIn) {
420
429
  }
421
430
  return content;
422
431
  });
432
+ component.displayName = staticConfig.componentName;
423
433
  onConfiguredOnce((conf) => {
424
434
  var _a, _b, _c, _d;
425
- const shouldDebug = (_a = staticConfig.defaultProps) == null ? void 0 : _a.debug;
435
+ if (process.env.IS_STATIC === "is_static") {
436
+ return;
437
+ }
426
438
  tamaguiConfig = conf;
427
- avoidClasses = !!((_b = tamaguiConfig.animations) == null ? void 0 : _b.avoidClasses);
428
- AnimatedText = (_c = tamaguiConfig.animations) == null ? void 0 : _c.Text;
429
- AnimatedView = (_d = tamaguiConfig == null ? void 0 : tamaguiConfig.animations) == null ? void 0 : _d.View;
430
- initialTheme = conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]];
431
- splitStyleResult = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, {
439
+ mergeShorthands(staticConfig, tamaguiConfig);
440
+ avoidClasses = !!((_a = tamaguiConfig.animations) == null ? void 0 : _a.avoidClasses);
441
+ AnimatedText = (_b = tamaguiConfig.animations) == null ? void 0 : _b.Text;
442
+ AnimatedView = (_c = tamaguiConfig == null ? void 0 : tamaguiConfig.animations) == null ? void 0 : _c.View;
443
+ initialTheme = initialTheme || proxyThemeVariables(conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]);
444
+ initialSplitStyles = getSplitStyles(staticConfig.defaultProps, staticConfig, initialTheme, {
432
445
  mounted: true,
433
- resolveVariablesAs: "variable"
446
+ hover: false,
447
+ press: false,
448
+ pressIn: false,
449
+ focus: false,
450
+ resolveVariablesAs: "both",
451
+ keepVariantsAsProps: true
434
452
  });
435
- const { classNames, pseudos, style, viewProps } = splitStyleResult;
436
- if (isWeb) {
437
- defaultsClassName = classNames;
438
- }
439
- defaultPseudos = pseudos;
453
+ const { style, viewProps } = initialSplitStyles;
440
454
  defaultNativeStyle = {};
441
455
  for (const key in style) {
442
456
  const v = style[key];
@@ -445,13 +459,17 @@ function createComponent(configIn) {
445
459
  defaultNativeStyleSheet = StyleSheet.create({
446
460
  base: defaultNativeStyle
447
461
  });
448
- component.displayName = staticConfig.componentName;
449
462
  component.defaultProps = {
450
463
  ...viewProps,
451
464
  ...component.defaultProps
452
465
  };
453
- if (process.env.NODE_ENV === "development" && shouldDebug && process.env.IS_STATIC !== "is_static") {
454
- console.log(`\u{1F41B} [${staticConfig.componentName || "Component"}]`, { staticConfig, ...splitStyleResult });
466
+ if (process.env.NODE_ENV === "development" && ((_d = staticConfig.defaultProps) == null ? void 0 : _d.debug)) {
467
+ if (process.env.IS_STATIC !== "is_static") {
468
+ console.log(`\u{1F41B} [${staticConfig.componentName || "Component"}]`, {
469
+ staticConfig,
470
+ initialSplitStyles
471
+ });
472
+ }
455
473
  }
456
474
  });
457
475
  let res = component;
@@ -459,25 +477,30 @@ function createComponent(configIn) {
459
477
  res = memo(res);
460
478
  }
461
479
  res["staticConfig"] = {
462
- validStyles: validStyleProps,
480
+ validStyles: staticConfig.validStyles || stylePropsView,
463
481
  ...staticConfig
464
482
  };
465
- res["extractable"] = (Component2, conf) => {
466
- Component2["staticConfig"] = extendStaticConfig(res, {
483
+ if (process.env.NODE_ENV === "development") {
484
+ res["whyDidYouRender"] = true;
485
+ }
486
+ res["extractable"] = (Component, conf) => {
487
+ Component["staticConfig"] = extendStaticConfig({
488
+ Component,
467
489
  ...conf,
468
490
  neverFlatten: true,
469
491
  defaultProps: {
470
- ...Component2.defaultProps,
492
+ ...Component.defaultProps,
471
493
  ...conf == null ? void 0 : conf.defaultProps
472
494
  }
473
- });
474
- return Component2;
495
+ }, res);
496
+ return Component;
475
497
  };
476
498
  return res;
477
499
  }
478
500
  __name(createComponent, "createComponent");
479
501
  const Spacer = createComponent({
480
502
  memo: true,
503
+ componentName: "Spacer",
481
504
  defaultProps: {
482
505
  ...stackDefaultStyles,
483
506
  size: true
@@ -550,45 +573,16 @@ function spacedChildren({
550
573
  return next;
551
574
  }
552
575
  __name(spacedChildren, "spacedChildren");
553
- const merge = /* @__PURE__ */ __name((...styles) => {
554
- if (!styles[0])
555
- return;
556
- const res = {};
557
- const len = styles.length;
558
- for (let i = len - 1; i >= 0; i--) {
559
- const cur = styles[i];
560
- if (!cur)
561
- continue;
562
- for (const key in cur) {
563
- const val = cur[key];
564
- if (key !== "transform") {
565
- if (!(key in res)) {
566
- res[key] = val;
567
- }
568
- continue;
569
- }
570
- if (!res.transform) {
571
- res.transform = val;
572
- continue;
573
- }
574
- for (const t of val) {
575
- const tkey = Object.keys(t)[0];
576
- if (res.transform.find((existing) => tkey in existing)) {
577
- continue;
578
- }
579
- res.transform.push(t);
580
- }
581
- }
582
- }
583
- return res;
584
- }, "merge");
585
- const AbsoluteFill = /* @__PURE__ */ __name((props) => isWeb ? <div style={{
586
- position: "absolute",
587
- top: 0,
588
- left: 0,
589
- right: 0,
590
- bottom: 0
591
- }}>{props.children}</div> : <View style={StyleSheet.absoluteFill}>{props.child}</View>, "AbsoluteFill");
576
+ function AbsoluteFill(props) {
577
+ return isWeb ? <div style={{
578
+ position: "absolute",
579
+ top: 0,
580
+ left: 0,
581
+ right: 0,
582
+ bottom: 0
583
+ }}>{props.children}</div> : <View style={StyleSheet.absoluteFill}>{props.child}</View>;
584
+ }
585
+ __name(AbsoluteFill, "AbsoluteFill");
592
586
  export {
593
587
  AbsoluteFill,
594
588
  Spacer,
File without changes
File without changes
@@ -12,6 +12,14 @@ function createTamagui(config) {
12
12
  if (createdConfigs.has(config)) {
13
13
  return config;
14
14
  }
15
+ if (process.env.NODE_ENV === "development") {
16
+ if (!config.tokens) {
17
+ throw new Error(`No tokens provided to Tamagui config`);
18
+ }
19
+ if (!config.themes) {
20
+ throw new Error(`No themes provided to Tamagui config`);
21
+ }
22
+ }
15
23
  if (getHasConfigured()) {
16
24
  console.warn("Called createTamagui twice! Should never do so");
17
25
  }
@@ -39,6 +47,7 @@ function createTamagui(config) {
39
47
  addVar(val[fkey]);
40
48
  } else {
41
49
  for (const fskey in val[fkey]) {
50
+ console.log("add", fkey, fskey, val[fkey][fskey]);
42
51
  addVar(val[fkey][fskey]);
43
52
  }
44
53
  }
@@ -98,11 +107,35 @@ ${vars}
98
107
  };
99
108
  })();
100
109
  const tokensParsed = parseTokens(config.tokens);
110
+ const fontsParsed = (() => {
111
+ if (!config.fonts) {
112
+ throw new Error(`No fonts defined!`);
113
+ }
114
+ const res = {};
115
+ for (const familyName in config.fonts) {
116
+ const family = config.fonts[familyName];
117
+ const parsed = {};
118
+ for (const attrKey in family) {
119
+ const attr = family[attrKey];
120
+ if (attrKey === "family") {
121
+ parsed[attrKey] = attr;
122
+ continue;
123
+ }
124
+ parsed[attrKey] = Object.keys(attr).reduce((acc, cur) => {
125
+ acc[`$${cur}`] = attr[cur];
126
+ return acc;
127
+ }, {});
128
+ }
129
+ res[`$${familyName}`] = parsed;
130
+ }
131
+ return res;
132
+ })();
101
133
  const getCSS = /* @__PURE__ */ __name(() => {
102
134
  return `${themeConfig.css}
103
135
  ${getInsertedRules().join("\n")}`;
104
136
  }, "getCSS");
105
137
  const next = {
138
+ fonts: {},
106
139
  animations: {},
107
140
  shorthands: {},
108
141
  media: {},
@@ -112,6 +145,7 @@ ${getInsertedRules().join("\n")}`;
112
145
  defaultTheme: "light",
113
146
  ...config
114
147
  }),
148
+ fontsParsed,
115
149
  themeConfig,
116
150
  tokensParsed,
117
151
  parsed: true,
@@ -130,24 +164,6 @@ const parseTokens = /* @__PURE__ */ __name((tokens) => {
130
164
  const res = {};
131
165
  for (const key in tokens) {
132
166
  res[key] = {};
133
- if (key === "font") {
134
- for (const family in tokens.font) {
135
- const obj = {};
136
- res.font[`$${family}`] = obj;
137
- for (const attrKey in tokens.font[family]) {
138
- const attr = tokens.font[family][attrKey];
139
- if (attrKey === "family") {
140
- obj[attrKey] = attr;
141
- continue;
142
- }
143
- obj[attrKey] = Object.keys(attr).reduce((acc, cur) => {
144
- acc[`$${cur}`] = attr[cur];
145
- return acc;
146
- }, {});
147
- }
148
- }
149
- continue;
150
- }
151
167
  for (const skey in tokens[key]) {
152
168
  res[key][`$${skey}`] = tokens[key][skey];
153
169
  }
File without changes
@@ -6,17 +6,13 @@ function createTokens(tokens) {
6
6
  if (process.env.NODE_ENV === "development") {
7
7
  validateTokens(tokens);
8
8
  }
9
- return setupTokens(tokens);
10
- }
11
- __name(createTokens, "createTokens");
12
- function setupTokens(tokens) {
13
9
  return mapTokensToVariables(tokens);
14
10
  }
15
- __name(setupTokens, "setupTokens");
11
+ __name(createTokens, "createTokens");
16
12
  const mapTokensToVariables = /* @__PURE__ */ __name((tokens, parentPath = "") => {
17
13
  const res = {};
18
14
  for (const key in tokens) {
19
- const val = tokens[key];
15
+ let val = tokens[key];
20
16
  const name = parentPath ? `${parentPath}-${key}` : key;
21
17
  if (val && typeof val === "object") {
22
18
  res[key] = mapTokensToVariables(tokens[key], name);
@@ -22,12 +22,17 @@ function isVariable(v) {
22
22
  }
23
23
  __name(isVariable, "isVariable");
24
24
  function getVariableValue(v) {
25
- if (isVariable(v)) {
25
+ if (isVariable(v))
26
26
  return v.val;
27
- }
28
27
  return v;
29
28
  }
30
29
  __name(getVariableValue, "getVariableValue");
30
+ function getVariableName(v) {
31
+ if (isVariable(v))
32
+ return v.name;
33
+ return v;
34
+ }
35
+ __name(getVariableName, "getVariableName");
31
36
  const createCSSVariable = /* @__PURE__ */ __name((val, includeVar = true) => {
32
37
  const name = val.replace(/[^a-z0-9\_\-]+/i, "_");
33
38
  return includeVar ? `var(--${name})` : name;
@@ -37,6 +42,7 @@ export {
37
42
  Variable,
38
43
  createCSSVariable,
39
44
  createVariable,
45
+ getVariableName,
40
46
  getVariableValue,
41
47
  isVariable
42
48
  };
@@ -1,11 +0,0 @@
1
- const defaultComponentState = {
2
- hover: false,
3
- press: false,
4
- pressIn: false,
5
- focus: false,
6
- mounted: false,
7
- animation: null
8
- };
9
- export {
10
- defaultComponentState
11
- };
@@ -0,0 +1,11 @@
1
+ import * as ReactNative from "react-native";
2
+ const RNComponents = /* @__PURE__ */ new WeakMap();
3
+ for (const key of ["Image", "TextInput", "Text", "View"]) {
4
+ const val = ReactNative[key];
5
+ if (val && typeof val === "object") {
6
+ RNComponents.set(val, true);
7
+ }
8
+ }
9
+ export {
10
+ RNComponents
11
+ };
@@ -2,7 +2,7 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { useInsertionEffect } from "react";
4
4
  import { getStylesAtomic } from "./getStylesAtomic";
5
- import { insertStyleRule } from "./insertStyleRule";
5
+ import { insertStyleRule, updateInsertedCache } from "./insertStyleRule";
6
6
  let added = /* @__PURE__ */ new Set();
7
7
  function useStylesAsClassname(styles, disable = false, debug = false) {
8
8
  if (!useInsertionEffect) {
@@ -14,6 +14,9 @@ function useStylesAsClassname(styles, disable = false, debug = false) {
14
14
  insertions.push({ identifier, rule });
15
15
  }
16
16
  });
17
+ for (const { identifier, rule } of insertions) {
18
+ updateInsertedCache(identifier, rule);
19
+ }
17
20
  useInsertionEffect(() => {
18
21
  for (const { identifier, rule } of insertions) {
19
22
  insertStyleRule(identifier, rule);
File without changes
File without changes