@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
@@ -4,63 +4,67 @@ import { getConfig } from "../conf";
4
4
  import { isWeb } from "../constants/platform";
5
5
  import { isVariable } from "../createVariable";
6
6
  import { isObj } from "./isObj";
7
- const createPropMapper = /* @__PURE__ */ __name((c) => {
8
- const variants = c.variants || {};
9
- function getVariantFunction(variant, key, value) {
10
- for (const cat in tokenCategories) {
11
- if (key in tokenCategories[cat]) {
12
- const spreadVariant = variant[`...${cat}`];
13
- if (spreadVariant) {
14
- return spreadVariant;
15
- }
7
+ function getVariantFunction(variant, key, value) {
8
+ if (typeof variant === "function") {
9
+ return variant;
10
+ }
11
+ for (const cat in tokenCategories) {
12
+ if (key in tokenCategories[cat]) {
13
+ const spreadVariant = variant[`...${cat}`];
14
+ if (spreadVariant) {
15
+ return spreadVariant;
16
16
  }
17
17
  }
18
- let fn;
19
- if (typeof value === "number") {
20
- fn = variant[":number"];
21
- } else if (typeof value === "string") {
22
- fn = variant[":string"];
23
- } else if (value === true || value === false) {
24
- fn = variant[":boolean"];
25
- }
26
- fn = fn || variant[value];
27
- return fn || variant["..."] || variant["...size"];
28
18
  }
29
- __name(getVariantFunction, "getVariantFunction");
30
- const defaultProps = c.defaultProps || {};
31
- return (key, value, theme, props, staticConfig, returnVariablesAs = !!props.animation ? "value" : "auto", avoidDefaultProps = false) => {
19
+ let fn;
20
+ if (typeof value === "number") {
21
+ fn = variant[":number"];
22
+ } else if (typeof value === "string") {
23
+ fn = variant[":string"];
24
+ } else if (value === true || value === false) {
25
+ fn = variant[":boolean"];
26
+ }
27
+ fn = fn || variant[value];
28
+ return fn || variant["..."] || variant["...size"];
29
+ }
30
+ __name(getVariantFunction, "getVariantFunction");
31
+ const createPropMapper = /* @__PURE__ */ __name((staticConfig) => {
32
+ const variants = staticConfig.variants || {};
33
+ const defaultProps = staticConfig.defaultProps || {};
34
+ return (key, value, theme, props, returnVariablesAs = !!props.animation ? "value" : "auto", avoidDefaultProps = false) => {
32
35
  const conf = getConfig();
33
36
  if (!conf) {
34
37
  console.trace("no conf! err");
35
38
  return;
36
39
  }
37
- let fontFamily = props.fontFamily || defaultProps.fontFamily || "$body";
40
+ const fontFamily = props.fontFamily || defaultProps.fontFamily || "$body";
38
41
  const variant = variants && variants[key];
39
42
  if (variant && value !== void 0) {
40
43
  let variantValue = getVariantFunction(variant, key, value);
41
- if (!variantValue) {
42
- return value;
43
- }
44
- if (typeof variantValue === "function") {
45
- variantValue = variantValue(value, {
46
- tokens: conf.tokensParsed,
47
- theme,
48
- props: avoidDefaultProps ? props : new Proxy(props, {
49
- get(target, key2) {
50
- if (Reflect.has(target, key2)) {
51
- return Reflect.get(target, key2);
44
+ if (variantValue) {
45
+ if (typeof variantValue === "function") {
46
+ const fn = variantValue;
47
+ variantValue = fn(value, {
48
+ fonts: conf.fontsParsed,
49
+ tokens: conf.tokensParsed,
50
+ theme,
51
+ props: avoidDefaultProps ? props : new Proxy(props, {
52
+ get(target, key2) {
53
+ if (Reflect.has(target, key2)) {
54
+ return Reflect.get(target, key2);
55
+ }
56
+ if (defaultProps) {
57
+ return Reflect.get(defaultProps, key2);
58
+ }
52
59
  }
53
- if (staticConfig.defaultProps) {
54
- return Reflect.get(staticConfig.defaultProps, key2);
55
- }
56
- }
57
- })
58
- });
59
- }
60
- if (isObj(variantValue)) {
61
- variantValue = resolveTokens(variantValue, conf, theme, fontFamily, returnVariablesAs);
60
+ })
61
+ });
62
+ }
63
+ if (isObj(variantValue)) {
64
+ variantValue = resolveTokens(variantValue, conf, theme, fontFamily, returnVariablesAs);
65
+ }
66
+ return variantValue;
62
67
  }
63
- return variantValue;
64
68
  }
65
69
  let shouldReturn = false;
66
70
  if (conf.shorthands[key]) {
@@ -108,34 +112,28 @@ const resolveTokens = /* @__PURE__ */ __name((input, conf, theme, fontFamily, re
108
112
  }
109
113
  return res;
110
114
  }, "resolveTokens");
111
- const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed }, theme, fontFamily = "$body", resolveAs) => {
112
- var _a, _b, _c, _d, _e;
115
+ const fontShorthand = {
116
+ fontSize: "size",
117
+ fontWeight: "weight"
118
+ };
119
+ const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed, fontsParsed }, theme, fontFamily = "$body", resolveAs) => {
120
+ var _a, _b, _c;
113
121
  let valOrVar;
114
122
  let hasSet = false;
115
- const valueName = value[0] === "$" ? value.slice(1) : value;
116
- if (valueName in theme) {
117
- valOrVar = theme[valueName];
123
+ if (value in theme) {
124
+ valOrVar = theme[value];
118
125
  hasSet = true;
119
126
  } else {
120
127
  switch (key) {
121
128
  case "fontFamily":
122
- valOrVar = ((_a = tokensParsed.font[value]) == null ? void 0 : _a.family) || value;
129
+ valOrVar = ((_a = fontsParsed[value]) == null ? void 0 : _a.family) || value;
123
130
  hasSet = true;
124
131
  break;
125
132
  case "fontSize":
126
- valOrVar = ((_b = tokensParsed.font[fontFamily]) == null ? void 0 : _b.size[value]) || value;
127
- hasSet = true;
128
- break;
129
133
  case "lineHeight":
130
- valOrVar = ((_c = tokensParsed.font[fontFamily]) == null ? void 0 : _c.lineHeight[value]) || value;
131
- hasSet = true;
132
- break;
133
134
  case "letterSpacing":
134
- valOrVar = ((_d = tokensParsed.font[fontFamily]) == null ? void 0 : _d.letterSpacing[value]) || value;
135
- hasSet = true;
136
- break;
137
135
  case "fontWeight":
138
- valOrVar = ((_e = tokensParsed.font[fontFamily]) == null ? void 0 : _e.weight[value]) || value;
136
+ valOrVar = ((_c = (_b = fontsParsed[fontFamily]) == null ? void 0 : _b[fontShorthand[key] || key]) == null ? void 0 : _c[value]) || value;
139
137
  hasSet = true;
140
138
  break;
141
139
  }
@@ -161,7 +159,7 @@ const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed }, theme, fo
161
159
  }
162
160
  if (process.env.NODE_ENV === "development") {
163
161
  if (value && value[0] === "$") {
164
- console.warn(`\u26A0\uFE0F Missing token in theme:`, value, theme);
162
+ console.warn(`\u26A0\uFE0F Missing token:`, key, value, fontFamily, theme, fontsParsed);
165
163
  return null;
166
164
  }
167
165
  }
@@ -0,0 +1,18 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ function createShallowUpdate(setter) {
4
+ return (next) => {
5
+ setter((prev) => {
6
+ for (const key in next) {
7
+ if (prev[key] !== next[key]) {
8
+ return { ...prev, ...next };
9
+ }
10
+ }
11
+ return prev;
12
+ });
13
+ };
14
+ }
15
+ __name(createShallowUpdate, "createShallowUpdate");
16
+ export {
17
+ createShallowUpdate
18
+ };
@@ -10,7 +10,6 @@ function createTamaguiProvider({
10
10
  }) {
11
11
  return /* @__PURE__ */ __name(function TamaguiProvider({
12
12
  injectCSS,
13
- fallback,
14
13
  children,
15
14
  ...themePropsProvider
16
15
  }) {
@@ -26,7 +25,7 @@ function createTamaguiProvider({
26
25
  };
27
26
  }, []);
28
27
  }
29
- return <ButtonInsideButtonContext.Provider value={false}><TextAncestorProvider><ThemeProvider {...themeProps} {...themePropsProvider}><React.Suspense fallback={fallback || null}>{children}</React.Suspense></ThemeProvider></TextAncestorProvider></ButtonInsideButtonContext.Provider>;
28
+ return <ButtonInsideButtonContext.Provider value={false}><TextAncestorProvider><ThemeProvider {...themeProps} {...themePropsProvider}>{children}</ThemeProvider></TextAncestorProvider></ButtonInsideButtonContext.Provider>;
30
29
  }, "TamaguiProvider");
31
30
  }
32
31
  __name(createTamaguiProvider, "createTamaguiProvider");
@@ -2,12 +2,9 @@ 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 { createPropMapper } from "./createPropMapper";
5
- function extendStaticConfig(parent, config = {}) {
5
+ function extendStaticConfig(config, parent) {
6
6
  var _a;
7
- if (!parent) {
8
- throw new Error("no parent");
9
- }
10
- if (!("staticConfig" in parent)) {
7
+ if (!parent || !("staticConfig" in parent)) {
11
8
  return parseStaticConfig(config);
12
9
  }
13
10
  const variants = {
@@ -38,9 +35,15 @@ function extendStaticConfig(parent, config = {}) {
38
35
  ...parent.staticConfig.validStyles,
39
36
  ...config.validStyles
40
37
  } : parent.staticConfig.validStyles || stylePropsView,
38
+ defaultVariants: {
39
+ ...parent.staticConfig.defaultVariants,
40
+ ...config.defaultVariants
41
+ },
41
42
  defaultProps: {
42
43
  ...parent.staticConfig.defaultProps,
43
- ...config.defaultProps
44
+ ...parent.staticConfig.defaultVariants,
45
+ ...config.defaultProps,
46
+ ...config.defaultVariants
44
47
  }
45
48
  });
46
49
  }
File without changes
@@ -18,8 +18,8 @@ function fixNativeShadow(props) {
18
18
  if ((c[0] === "r" || c[0] === "h") && c[3] === "a") {
19
19
  const [_, type, _1, _2, _3, a] = c.match(matchRgbaHsla) || [];
20
20
  if (typeof a !== "string") {
21
- console.warn("invalid", c, type);
22
- return;
21
+ console.trace("invalid", c, type);
22
+ throw new Error(`invalid style`);
23
23
  }
24
24
  props.shadowColor = `${type.replace("a", "")}(${_1},${_2},${_3})`;
25
25
  props.shadowOpacity = +a;
File without changes
@@ -7,34 +7,25 @@ import {
7
7
  validPseudoKeys,
8
8
  validStyles
9
9
  } from "@tamagui/helpers";
10
- import { isWeb } from "../constants/platform";
10
+ import { getConfig } from "../conf";
11
+ import { isClient, isWeb } from "../constants/platform";
11
12
  import { mediaQueryConfig, mediaState } from "../hooks/useMedia";
12
13
  import { createMediaStyle } from "./createMediaStyle";
13
14
  import { fixNativeShadow } from "./fixNativeShadow";
14
15
  import { getStylesAtomic } from "./getStylesAtomic";
15
16
  import { insertStyleRule, insertedTransforms, updateInserted } from "./insertStyleRule";
16
- const skipKeys = {
17
+ const skipProps = {
17
18
  animation: true,
18
- animated: true,
19
- children: true,
20
- key: true,
21
- ref: true
19
+ animateOnly: true,
20
+ debug: true
22
21
  };
23
- function normalizeStyleObject(style) {
24
- var _a, _b;
25
- if (typeof style.flex === "number") {
26
- const val = style.flex;
27
- delete style.flex;
28
- style.flexGrow = (_a = style.flexGrow) != null ? _a : val;
29
- style.flexShrink = (_b = style.flexShrink) != null ? _b : 1;
30
- }
31
- if (!isWeb) {
32
- fixNativeShadow(style);
33
- }
34
- }
35
- __name(normalizeStyleObject, "normalizeStyleObject");
22
+ let conf;
36
23
  const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state, defaultClassNames) => {
37
- var _a, _b, _c;
24
+ var _a;
25
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
26
+ console.log(" \xBB getSplitStyles", { props, state, defaultClassNames });
27
+ }
28
+ conf = conf || getConfig();
38
29
  const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
39
30
  const viewProps = {};
40
31
  const style = {};
@@ -46,20 +37,42 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
46
37
  let cur = null;
47
38
  let transforms = {};
48
39
  function mergeClassName(key, val) {
49
- if (!val)
40
+ if (!val) {
50
41
  return;
42
+ }
51
43
  if (val.startsWith("_transform-")) {
52
44
  const isMediaOrPseudo = key !== "transform";
53
45
  const isMedia = isMediaOrPseudo && key[11] === "_";
54
- const isPsuedo = isMediaOrPseudo && !isMedia;
46
+ const isPsuedo = isMediaOrPseudo && key[11] === "0" || key.endsWith("Style");
55
47
  const namespace = isMedia ? key.split("_")[2] : isPsuedo ? key.split("-")[1] : "transform";
56
- if (!insertedTransforms[val]) {
57
- updateInserted();
48
+ let transform = insertedTransforms[val];
49
+ if (isClient) {
50
+ if (!transform) {
51
+ updateInserted();
52
+ transform = insertedTransforms[val];
53
+ }
54
+ if (!transform) {
55
+ if (isWeb && val[0] !== "_") {
56
+ transform = val;
57
+ } else {
58
+ console.trace("?", key, val, cur, props, state);
59
+ }
60
+ }
61
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
62
+ console.log(" \xBB getSplitStyles mergeClassName transform", { key, val, namespace, transform, insertedTransforms });
63
+ }
64
+ if (process.env.NODE_ENV === "development") {
65
+ if (!transform) {
66
+ console.trace("NO TRANSFORM?", { key, val, transform });
67
+ }
68
+ }
58
69
  }
59
- const transform = insertedTransforms[val];
60
70
  transforms[namespace] = transforms[namespace] || ["", ""];
61
- transforms[namespace][0] += val.replace("_transform", "");
62
- transforms[namespace][1] += transform;
71
+ const identifier = val.replace("_transform", "");
72
+ transforms[namespace][0] += identifier;
73
+ if (transform) {
74
+ transforms[namespace][1] += transform;
75
+ }
63
76
  } else {
64
77
  classNames[key] = val;
65
78
  }
@@ -69,17 +82,21 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
69
82
  if (!cur)
70
83
  return;
71
84
  normalizeStyleObject(cur);
85
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
86
+ console.log(" \xBB getSplitStyles push", cur, state);
87
+ }
72
88
  if (isWeb && !state.noClassNames) {
73
89
  const atomic = getStylesAtomic(cur);
74
90
  for (const atomicStyle of atomic) {
75
91
  if (!state.noClassNames) {
76
- mergeClassName(atomicStyle.property, atomicStyle.identifier);
77
92
  insertStyleRule(atomicStyle.identifier, atomicStyle.rules[0]);
93
+ mergeClassName(atomicStyle.property, atomicStyle.identifier);
78
94
  } else {
79
95
  style[atomicStyle.property] = atomicStyle.value;
80
96
  }
81
97
  }
82
- } else {
98
+ }
99
+ if (!isWeb || state.noClassNames || state.resolveVariablesAs === "value" || state.resolveVariablesAs === "both") {
83
100
  for (const key in cur) {
84
101
  if (key in stylePropsTransform) {
85
102
  mergeTransform(style, key, cur[key]);
@@ -92,30 +109,34 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
92
109
  }
93
110
  __name(push, "push");
94
111
  for (const keyInit in props) {
95
- const valInit = props[keyInit];
96
- if (skipKeys[keyInit]) {
97
- viewProps[keyInit] = valInit;
112
+ if (skipProps[keyInit]) {
98
113
  continue;
99
114
  }
115
+ const valInit = props[keyInit];
116
+ let isMedia = keyInit[0] === "$";
117
+ let isPseudo = validPseudoKeys[keyInit];
100
118
  if (keyInit === "className" || validStyleProps[keyInit] && valInit && valInit[0] === "_") {
101
119
  push();
102
120
  mergeClassName(keyInit, valInit);
103
- if (cur) {
104
- if (cur[keyInit])
105
- console.warn("just want to see how used");
106
- delete cur[keyInit];
107
- }
108
121
  continue;
109
122
  }
110
- let isMedia = keyInit[0] === "$";
111
- let isPseudo = validPseudoKeys[keyInit];
112
- const out = isMedia || isPseudo ? true : staticConfig.propMapper(keyInit, valInit, theme, props, staticConfig, state.resolveVariablesAs);
123
+ if (state.keepVariantsAsProps && staticConfig.defaultVariants && keyInit in staticConfig.defaultVariants) {
124
+ viewProps[keyInit] = valInit;
125
+ }
126
+ if (!isMedia && !isPseudo && !((_a = staticConfig.variants) == null ? void 0 : _a[keyInit]) && !validStyleProps[keyInit] && !conf.shorthands[keyInit]) {
127
+ viewProps[keyInit] = valInit;
128
+ continue;
129
+ }
130
+ const out = isMedia || isPseudo ? true : staticConfig.propMapper(keyInit, valInit, theme, state.fallbackProps || props, state.resolveVariablesAs);
113
131
  const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
132
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
133
+ console.log(" \xBB getSplitStyles", keyInit, expanded);
134
+ }
114
135
  for (const [key, val] of expanded) {
115
136
  if (val === void 0) {
116
137
  continue;
117
138
  }
118
- if (val && val[0] === "_") {
139
+ if (key !== "target" && val && val[0] === "_") {
119
140
  mergeClassName(key, val);
120
141
  continue;
121
142
  }
@@ -131,39 +152,42 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
131
152
  continue;
132
153
  }
133
154
  pseudos[key] = pseudos[key] || {};
134
- pseudos[key] = getSubStyle(val, staticConfig, theme, props, state.resolveVariablesAs, true);
155
+ pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true);
135
156
  if (isWeb && !state.noClassNames) {
136
157
  const pseudoStyles = getStylesAtomic({ [key]: pseudos[key] });
137
- if ((_b = (_a = pseudoStyles[0]) == null ? void 0 : _a.identifier) == null ? void 0 : _b.includes("undefined")) {
138
- console.warn("undefined bug?", (_c = pseudoStyles[0]) == null ? void 0 : _c.identifier);
139
- }
140
158
  for (const style2 of pseudoStyles) {
141
- mergeClassName(`${style2.property}-${key}`, style2.identifier);
142
159
  insertStyleRule(style2.identifier, style2.rules[0]);
160
+ mergeClassName(`${style2.property}-${key}`, style2.identifier);
143
161
  }
144
162
  }
145
163
  continue;
146
164
  }
147
165
  if (isMedia) {
148
- const mediaKey = key.slice(1);
149
- if (!mediaQueryConfig[mediaKey]) {
150
- viewProps[key] = valInit;
166
+ const mediaKey = key;
167
+ const mediaKeyShort = mediaKey.slice(1);
168
+ if (!mediaQueryConfig[mediaKeyShort]) {
169
+ viewProps[key] = val;
151
170
  continue;
152
171
  }
153
- const mediaStyle = getSubStyle(valInit, staticConfig, theme, props, state.resolveVariablesAs, true);
154
- if (isWeb) {
172
+ const mediaStyle = getSubStyle(val, staticConfig, theme, props, state);
173
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
174
+ console.log(" \xBB getSplitStyles mediaStyle", mediaKey, mediaStyle, props);
175
+ }
176
+ const shouldDoClasses = isWeb && !state.noClassNames;
177
+ if (shouldDoClasses) {
155
178
  const mediaStyles = getStylesAtomic(mediaStyle);
156
179
  for (const style2 of mediaStyles) {
157
- const out2 = createMediaStyle(style2, mediaKey, mediaQueryConfig);
158
- mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
180
+ const out2 = createMediaStyle(style2, mediaKeyShort, mediaQueryConfig);
159
181
  insertStyleRule(out2.identifier, out2.styleRule);
160
- }
161
- if (mediaState[mediaKey]) {
162
- Object.assign(medias, mediaStyle);
182
+ mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
163
183
  }
164
184
  } else {
165
185
  if (mediaState[mediaKey]) {
166
- Object.assign(style, mediaStyle);
186
+ push();
187
+ if (process.env.NODE_ENV === "development" && props["debug"]) {
188
+ console.log("apply media style", mediaKey, mediaState);
189
+ }
190
+ Object.assign(shouldDoClasses ? medias : style, mediaStyle);
167
191
  }
168
192
  }
169
193
  continue;
@@ -195,13 +219,18 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
195
219
  for (const namespace in transforms) {
196
220
  const [hash, val] = transforms[namespace];
197
221
  const identifier = `_transform${hash}`;
198
- if (!insertedTransforms[identifier]) {
199
- const rule = `.${identifier} { transform: ${val}; }`;
200
- insertStyleRule(identifier, rule);
222
+ if (isClient) {
223
+ if (!insertedTransforms[identifier]) {
224
+ const rule = `.${identifier} { transform: ${val}; }`;
225
+ insertStyleRule(identifier, rule);
226
+ }
201
227
  }
202
228
  classNames[namespace] = identifier;
203
229
  }
204
230
  }
231
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
232
+ console.log(" \xBB getSplitStyles out", { style, pseudos, medias, classNames, viewProps, state });
233
+ }
205
234
  return {
206
235
  viewProps,
207
236
  style,
@@ -210,11 +239,11 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
210
239
  classNames
211
240
  };
212
241
  }, "getSplitStyles");
213
- const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props, resolveVariablesAs, avoidDefaultProps) => {
242
+ const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props, state, avoidDefaultProps) => {
214
243
  const styleOut = {};
215
244
  for (const key in styleIn) {
216
245
  const val = styleIn[key];
217
- const out = staticConfig.propMapper(key, val, theme, props, staticConfig, resolveVariablesAs, avoidDefaultProps);
246
+ const out = staticConfig.propMapper(key, val, theme, state.fallbackProps || props, state.resolveVariablesAs, avoidDefaultProps);
218
247
  const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
219
248
  for (const [skey, sval] of expanded) {
220
249
  if (skey in stylePropsTransform) {
@@ -227,6 +256,21 @@ const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props,
227
256
  normalizeStyleObject(styleOut);
228
257
  return styleOut;
229
258
  }, "getSubStyle");
259
+ function normalizeStyleObject(style) {
260
+ var _a, _b;
261
+ if (typeof style.flex === "number") {
262
+ const val = style.flex;
263
+ delete style.flex;
264
+ style.flexGrow = (_a = style.flexGrow) != null ? _a : val;
265
+ style.flexShrink = (_b = style.flexShrink) != null ? _b : 1;
266
+ }
267
+ if (!isWeb) {
268
+ fixNativeShadow(style);
269
+ }
270
+ }
271
+ __name(normalizeStyleObject, "normalizeStyleObject");
230
272
  export {
231
- getSplitStyles
273
+ getSplitStyles,
274
+ getSubStyle,
275
+ normalizeStyleObject
232
276
  };
@@ -5,6 +5,7 @@ import {
5
5
  mergeTransform,
6
6
  stylePropsTransform
7
7
  } from "@tamagui/helpers";
8
+ import { getConfig } from "../conf";
8
9
  import { rnw } from "../constants/rnw";
9
10
  import { isVariable } from "../createVariable";
10
11
  function getStylesAtomic(stylesIn, options = {}) {
@@ -33,6 +34,7 @@ __name(getStylesAtomic, "getStylesAtomic");
33
34
  const generateAtomicStyles = /* @__PURE__ */ __name((style) => {
34
35
  return rnw.atomic(rnw.createCompileableStyle(rnw.createReactDOMStyle(style)));
35
36
  }, "generateAtomicStyles");
37
+ let reversedShorthands = null;
36
38
  function getAtomicStyle(style, pseudo, options) {
37
39
  var _a;
38
40
  if (style == null || typeof style !== "object") {
@@ -60,11 +62,22 @@ function getAtomicStyle(style, pseudo, options) {
60
62
  } else {
61
63
  atomicStyles = generateAtomicStyles(style);
62
64
  }
65
+ if (!reversedShorthands) {
66
+ reversedShorthands = {};
67
+ const conf = getConfig();
68
+ if (conf.shorthands) {
69
+ for (const key in conf.shorthands) {
70
+ reversedShorthands[conf.shorthands[key]] = key;
71
+ }
72
+ }
73
+ }
63
74
  return Object.keys(atomicStyles).map((key) => {
64
75
  const val = atomicStyles[key];
65
- const [_, ogProperty, hash] = val.identifier.split("-");
76
+ const [_, a, b] = val.identifier.split("-");
77
+ const hash = b || a;
66
78
  const psuedoPrefix = pseudo ? `0${pseudo.name}-` : "";
67
- const identifier = `_${ogProperty}-${psuedoPrefix}${hash}`;
79
+ const shortProp = reversedShorthands[val.property] || val.property;
80
+ const identifier = `_${shortProp}-${psuedoPrefix}${hash}`;
68
81
  const className = `.${identifier}`;
69
82
  const rules = val.rules.map((rule) => {
70
83
  if (pseudo) {
File without changes