@tamagui/core 1.0.0-alpha.9 → 1.0.0-beta.0

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 (656) hide show
  1. package/dist/cjs/Tamagui.js +69 -0
  2. package/dist/cjs/Tamagui.js.map +7 -0
  3. package/dist/cjs/ThemeContext.js +29 -0
  4. package/dist/cjs/ThemeContext.js.map +7 -0
  5. package/dist/cjs/ThemeManager.js +211 -0
  6. package/dist/cjs/ThemeManager.js.map +7 -0
  7. package/dist/cjs/conf.js +64 -0
  8. package/dist/cjs/conf.js.map +7 -0
  9. package/dist/cjs/constants/constants.js +21 -15
  10. package/dist/cjs/constants/constants.js.map +2 -2
  11. package/dist/cjs/constants/platform.js +33 -18
  12. package/dist/cjs/constants/platform.js.map +2 -2
  13. package/dist/cjs/constants/pseudos.js +19 -3
  14. package/dist/cjs/constants/pseudos.js.map +1 -1
  15. package/dist/cjs/constants/rnw.js +21 -3
  16. package/dist/cjs/constants/rnw.js.map +2 -2
  17. package/dist/cjs/contexts/ButtonInsideButtonContext.js +29 -0
  18. package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +7 -0
  19. package/dist/cjs/createComponent.js +371 -225
  20. package/dist/cjs/createComponent.js.map +2 -2
  21. package/dist/cjs/createFont.js +15 -15
  22. package/dist/cjs/createFont.js.map +1 -1
  23. package/dist/cjs/createShorthands.js +19 -3
  24. package/dist/cjs/createShorthands.js.map +1 -1
  25. package/dist/cjs/createTamagui.js +156 -122
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +15 -28
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +19 -22
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +49 -19
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/defaultComponentState.js +1 -0
  34. package/dist/{helpers/pseudos.js.map → cjs/defaultComponentState.js.map} +0 -0
  35. package/dist/cjs/helpers/RNComponents.js +38 -0
  36. package/dist/cjs/helpers/RNComponents.js.map +7 -0
  37. package/dist/cjs/helpers/addStylesUsingClassname.js +37 -29
  38. package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
  39. package/dist/cjs/helpers/areEqualSets.js +38 -0
  40. package/dist/cjs/helpers/areEqualSets.js.map +7 -0
  41. package/dist/cjs/helpers/createMediaStyle.js +19 -21
  42. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  43. package/dist/cjs/helpers/createPropMapper.js +157 -119
  44. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  45. package/dist/cjs/helpers/createShallowUpdate.js +55 -0
  46. package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
  47. package/dist/cjs/helpers/createTamaguiProvider.js +45 -26
  48. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  49. package/dist/cjs/helpers/extendStaticConfig.js +27 -27
  50. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  51. package/dist/cjs/helpers/fixNativeShadow.js +19 -3
  52. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  53. package/dist/cjs/helpers/fixNativeShadow.native.js +42 -22
  54. package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
  55. package/dist/cjs/helpers/getExpandedShorthands.js +41 -0
  56. package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
  57. package/dist/cjs/helpers/getSize.js +35 -0
  58. package/dist/cjs/helpers/getSize.js.map +7 -0
  59. package/dist/cjs/helpers/getSplitStyles.js +225 -98
  60. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  61. package/dist/cjs/helpers/getStylesAtomic.js +116 -56
  62. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  63. package/dist/cjs/helpers/getStylesAtomic.native.js +19 -3
  64. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  65. package/dist/cjs/helpers/getThemeParentClassName.js +33 -0
  66. package/dist/cjs/helpers/getThemeParentClassName.js.map +7 -0
  67. package/dist/cjs/helpers/insertStyleRule.js +101 -25
  68. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  69. package/dist/cjs/helpers/isObj.js +19 -3
  70. package/dist/cjs/helpers/isObj.js.map +1 -1
  71. package/dist/cjs/helpers/isTamaguiElement.js +15 -15
  72. package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
  73. package/dist/cjs/helpers/matchMedia.js +19 -3
  74. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  75. package/dist/cjs/helpers/matchMedia.native.js +16 -13
  76. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  77. package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
  78. package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
  79. package/dist/cjs/helpers/themeable.js +29 -24
  80. package/dist/cjs/helpers/themeable.js.map +2 -2
  81. package/dist/cjs/helpers/validate.js +88 -47
  82. package/dist/cjs/helpers/validate.js.map +2 -2
  83. package/dist/cjs/helpers/withStaticProperties.js +32 -0
  84. package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
  85. package/dist/cjs/helpers/wrapThemeManagerContext.js +39 -0
  86. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +7 -0
  87. package/dist/cjs/hooks/useConstant.js +15 -15
  88. package/dist/cjs/hooks/useConstant.js.map +1 -1
  89. package/dist/cjs/hooks/useFeatures.js +146 -18
  90. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  91. package/dist/cjs/hooks/useIsMounted.js +41 -0
  92. package/dist/cjs/hooks/useIsMounted.js.map +7 -0
  93. package/dist/cjs/hooks/useIsTouchDevice.js +39 -0
  94. package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
  95. package/dist/cjs/hooks/useMedia.js +54 -59
  96. package/dist/cjs/hooks/useMedia.js.map +2 -2
  97. package/dist/cjs/hooks/usePressable.js +15 -15
  98. package/dist/cjs/hooks/usePressable.js.map +1 -1
  99. package/dist/cjs/hooks/useTheme.js +175 -67
  100. package/dist/cjs/hooks/useTheme.js.map +2 -2
  101. package/dist/cjs/hooks/useUnmountEffect.js +33 -0
  102. package/dist/cjs/hooks/useUnmountEffect.js.map +7 -0
  103. package/dist/cjs/index.js +71 -43
  104. package/dist/cjs/index.js.map +2 -2
  105. package/dist/cjs/static/postProcessStyles.js +15 -15
  106. package/dist/cjs/static/postProcessStyles.js.map +1 -1
  107. package/dist/cjs/static.js +26 -27
  108. package/dist/cjs/static.js.map +2 -2
  109. package/dist/cjs/styled.js +42 -20
  110. package/dist/cjs/styled.js.map +3 -3
  111. package/dist/cjs/tamagui-base.css +11 -0
  112. package/dist/cjs/tamagui-base.css.map +7 -0
  113. package/dist/cjs/types-rnw.js +16 -0
  114. package/dist/cjs/types-rnw.js.map +7 -0
  115. package/dist/cjs/types.js +14 -2
  116. package/dist/cjs/types.js.map +2 -2
  117. package/dist/cjs/views/Animated.js +20 -17
  118. package/dist/cjs/views/Animated.js.map +1 -1
  119. package/dist/cjs/views/Stack.js +17 -16
  120. package/dist/cjs/views/Stack.js.map +2 -2
  121. package/dist/cjs/views/Text.js +23 -21
  122. package/dist/cjs/views/Text.js.map +2 -2
  123. package/dist/cjs/views/TextAncestorContext.js +25 -21
  124. package/dist/cjs/views/TextAncestorContext.js.map +2 -2
  125. package/dist/cjs/views/Theme.js +36 -64
  126. package/dist/cjs/views/Theme.js.map +2 -2
  127. package/dist/cjs/views/ThemeContext.js +15 -15
  128. package/dist/cjs/views/ThemeContext.js.map +1 -1
  129. package/dist/cjs/views/ThemeInverse.js +20 -16
  130. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  131. package/dist/cjs/views/ThemeManagerContext.js +19 -18
  132. package/dist/cjs/views/ThemeManagerContext.js.map +1 -1
  133. package/dist/cjs/views/ThemeProvider.js +37 -37
  134. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  135. package/dist/cjs/views/ThemeReset.js +63 -0
  136. package/dist/cjs/views/ThemeReset.js.map +7 -0
  137. package/dist/esm/Tamagui.js +42 -0
  138. package/dist/esm/Tamagui.js.map +7 -0
  139. package/dist/{views → esm}/ThemeContext.js +0 -0
  140. package/dist/esm/ThemeContext.js.map +7 -0
  141. package/dist/esm/ThemeManager.js +187 -0
  142. package/dist/esm/ThemeManager.js.map +7 -0
  143. package/dist/esm/conf.js +36 -0
  144. package/dist/esm/conf.js.map +7 -0
  145. package/dist/{constants → esm/constants}/constants.js +4 -0
  146. package/dist/esm/constants/constants.js.map +7 -0
  147. package/dist/{constants → esm/constants}/platform.js +8 -1
  148. package/dist/esm/constants/platform.js.map +7 -0
  149. package/dist/{constants → esm/constants}/pseudos.js +0 -0
  150. package/dist/{constants → esm/constants}/pseudos.js.map +2 -2
  151. package/dist/{constants → esm/constants}/rnw.js +2 -0
  152. package/dist/esm/constants/rnw.js.map +7 -0
  153. package/dist/esm/contexts/ButtonInsideButtonContext.js +6 -0
  154. package/dist/esm/contexts/ButtonInsideButtonContext.js.map +7 -0
  155. package/dist/esm/createComponent.js +606 -0
  156. package/dist/esm/createComponent.js.map +7 -0
  157. package/dist/{createFont.js → esm/createFont.js} +0 -0
  158. package/dist/{createFont.js.map → esm/createFont.js.map} +2 -2
  159. package/dist/{createShorthands.js → esm/createShorthands.js} +0 -0
  160. package/dist/{createShorthands.js.map → esm/createShorthands.js.map} +2 -2
  161. package/dist/esm/createTamagui.js +202 -0
  162. package/dist/esm/createTamagui.js.map +7 -0
  163. package/dist/esm/createTheme.js +7 -0
  164. package/dist/esm/createTheme.js.map +7 -0
  165. package/dist/{createTokens.js → esm/createTokens.js} +2 -6
  166. package/dist/esm/createTokens.js.map +7 -0
  167. package/dist/esm/createVariable.js +49 -0
  168. package/dist/esm/createVariable.js.map +7 -0
  169. package/dist/esm/defaultComponentState.js +1 -0
  170. package/dist/{types.js.map → esm/defaultComponentState.js.map} +0 -0
  171. package/dist/esm/helpers/RNComponents.js +12 -0
  172. package/dist/esm/helpers/RNComponents.js.map +7 -0
  173. package/dist/{helpers → esm/helpers}/addStylesUsingClassname.js +20 -13
  174. package/dist/esm/helpers/addStylesUsingClassname.js.map +7 -0
  175. package/dist/esm/helpers/areEqualSets.js +16 -0
  176. package/dist/esm/helpers/areEqualSets.js.map +7 -0
  177. package/dist/{helpers → esm/helpers}/createMediaStyle.js +3 -6
  178. package/dist/esm/helpers/createMediaStyle.js.map +7 -0
  179. package/dist/esm/helpers/createPropMapper.js +206 -0
  180. package/dist/esm/helpers/createPropMapper.js.map +7 -0
  181. package/dist/esm/helpers/createShallowUpdate.js +19 -0
  182. package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
  183. package/dist/esm/helpers/createTamaguiProvider.js +40 -0
  184. package/dist/esm/helpers/createTamaguiProvider.js.map +7 -0
  185. package/dist/{helpers → esm/helpers}/extendStaticConfig.js +17 -14
  186. package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
  187. package/dist/{helpers → esm/helpers}/fixNativeShadow.js +0 -0
  188. package/dist/{helpers → esm/helpers}/fixNativeShadow.js.map +2 -2
  189. package/dist/esm/helpers/fixNativeShadow.native.js +34 -0
  190. package/dist/esm/helpers/fixNativeShadow.native.js.map +7 -0
  191. package/dist/esm/helpers/getExpandedShorthands.js +19 -0
  192. package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
  193. package/dist/esm/helpers/getSize.js +13 -0
  194. package/dist/esm/helpers/getSize.js.map +7 -0
  195. package/dist/esm/helpers/getSplitStyles.js +278 -0
  196. package/dist/esm/helpers/getSplitStyles.js.map +7 -0
  197. package/dist/esm/helpers/getStylesAtomic.js +131 -0
  198. package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
  199. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js +0 -0
  200. package/dist/{helpers → esm/helpers}/getStylesAtomic.native.js.map +2 -2
  201. package/dist/esm/helpers/getThemeParentClassName.js +11 -0
  202. package/dist/esm/helpers/getThemeParentClassName.js.map +7 -0
  203. package/dist/esm/helpers/insertStyleRule.js +94 -0
  204. package/dist/esm/helpers/insertStyleRule.js.map +7 -0
  205. package/dist/{helpers → esm/helpers}/isObj.js +0 -0
  206. package/dist/{helpers → esm/helpers}/isObj.js.map +2 -2
  207. package/dist/{helpers → esm/helpers}/isTamaguiElement.js +2 -1
  208. package/dist/{helpers → esm/helpers}/isTamaguiElement.js.map +2 -2
  209. package/dist/{helpers → esm/helpers}/matchMedia.js +0 -0
  210. package/dist/{helpers → esm/helpers}/matchMedia.js.map +2 -2
  211. package/dist/{helpers → esm/helpers}/matchMedia.native.js +0 -0
  212. package/dist/{helpers → esm/helpers}/matchMedia.native.js.map +2 -2
  213. package/dist/esm/helpers/proxyThemeVariables.js +18 -0
  214. package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
  215. package/dist/{helpers → esm/helpers}/themeable.js +12 -10
  216. package/dist/esm/helpers/themeable.js.map +7 -0
  217. package/dist/esm/helpers/validate.js +76 -0
  218. package/dist/esm/helpers/validate.js.map +7 -0
  219. package/dist/esm/helpers/withStaticProperties.js +10 -0
  220. package/dist/esm/helpers/withStaticProperties.js.map +7 -0
  221. package/dist/esm/helpers/wrapThemeManagerContext.js +14 -0
  222. package/dist/esm/helpers/wrapThemeManagerContext.js.map +7 -0
  223. package/dist/{hooks → esm/hooks}/useConstant.js +0 -0
  224. package/dist/{hooks → esm/hooks}/useConstant.js.map +2 -2
  225. package/dist/esm/hooks/useFeatures.js +173 -0
  226. package/dist/esm/hooks/useFeatures.js.map +7 -0
  227. package/dist/esm/hooks/useIsMounted.js +19 -0
  228. package/dist/esm/hooks/useIsMounted.js.map +7 -0
  229. package/dist/esm/hooks/useIsTouchDevice.js +17 -0
  230. package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
  231. package/dist/{hooks → esm/hooks}/useMedia.js +31 -42
  232. package/dist/esm/hooks/useMedia.js.map +7 -0
  233. package/dist/{hooks → esm/hooks}/usePressable.js +2 -1
  234. package/dist/{hooks → esm/hooks}/usePressable.js.map +2 -2
  235. package/dist/esm/hooks/useTheme.js +178 -0
  236. package/dist/esm/hooks/useTheme.js.map +7 -0
  237. package/dist/esm/hooks/useUnmountEffect.js +11 -0
  238. package/dist/esm/hooks/useUnmountEffect.js.map +7 -0
  239. package/dist/{index.js → esm/index.js} +25 -5
  240. package/dist/esm/index.js.map +7 -0
  241. package/dist/{static → esm/static}/postProcessStyles.js +0 -0
  242. package/dist/{static → esm/static}/postProcessStyles.js.map +2 -2
  243. package/dist/{static.js → esm/static.js} +4 -2
  244. package/dist/esm/static.js.map +7 -0
  245. package/dist/esm/styled.js +45 -0
  246. package/dist/esm/styled.js.map +7 -0
  247. package/dist/esm/tamagui-base.css +11 -0
  248. package/dist/esm/tamagui-base.css.map +7 -0
  249. package/dist/esm/types-rnw.js +1 -0
  250. package/dist/esm/types-rnw.js.map +7 -0
  251. package/dist/{types.js → esm/types.js} +0 -0
  252. package/dist/esm/types.js.map +7 -0
  253. package/dist/{views → esm/views}/Animated.js +0 -0
  254. package/dist/{views → esm/views}/Animated.js.map +2 -2
  255. package/dist/{views → esm/views}/Stack.js +1 -0
  256. package/dist/esm/views/Stack.js.map +7 -0
  257. package/dist/{views → esm/views}/Text.js +6 -4
  258. package/dist/esm/views/Text.js.map +7 -0
  259. package/dist/esm/views/TextAncestorContext.js +18 -0
  260. package/dist/esm/views/TextAncestorContext.js.map +7 -0
  261. package/dist/esm/views/Theme.js +35 -0
  262. package/dist/esm/views/Theme.js.map +7 -0
  263. package/dist/esm/views/ThemeContext.js +6 -0
  264. package/dist/{views → esm/views}/ThemeContext.js.map +2 -2
  265. package/dist/{views → esm/views}/ThemeInverse.js +1 -1
  266. package/dist/{views → esm/views}/ThemeInverse.js.map +3 -3
  267. package/dist/{views → esm/views}/ThemeManagerContext.js +5 -4
  268. package/dist/{views → esm/views}/ThemeManagerContext.js.map +2 -2
  269. package/dist/esm/views/ThemeProvider.js +42 -0
  270. package/dist/esm/views/ThemeProvider.js.map +7 -0
  271. package/dist/esm/views/ThemeReset.js +38 -0
  272. package/dist/esm/views/ThemeReset.js.map +7 -0
  273. package/dist/jsx/Tamagui.js +41 -0
  274. package/dist/jsx/ThemeContext.js +5 -0
  275. package/dist/jsx/ThemeManager.js +186 -0
  276. package/dist/jsx/conf.js +35 -0
  277. package/dist/jsx/constants/constants.js +17 -0
  278. package/dist/jsx/constants/platform.js +25 -0
  279. package/dist/jsx/constants/pseudos.js +17 -0
  280. package/dist/jsx/constants/rnw.js +23 -0
  281. package/dist/jsx/contexts/ButtonInsideButtonContext.js +5 -0
  282. package/dist/jsx/createComponent.js +592 -0
  283. package/dist/jsx/createFont.js +27 -0
  284. package/dist/jsx/createShorthands.js +9 -0
  285. package/dist/jsx/createTamagui.js +201 -0
  286. package/dist/jsx/createTheme.js +6 -0
  287. package/dist/jsx/createTokens.js +28 -0
  288. package/dist/jsx/createVariable.js +48 -0
  289. package/dist/jsx/defaultComponentState.js +0 -0
  290. package/dist/jsx/helpers/RNComponents.js +11 -0
  291. package/dist/jsx/helpers/addStylesUsingClassname.js +63 -0
  292. package/dist/jsx/helpers/areEqualSets.js +15 -0
  293. package/dist/jsx/helpers/createMediaStyle.js +30 -0
  294. package/dist/jsx/helpers/createPropMapper.js +205 -0
  295. package/dist/jsx/helpers/createShallowUpdate.js +18 -0
  296. package/dist/jsx/helpers/createTamaguiProvider.js +34 -0
  297. package/dist/jsx/helpers/extendStaticConfig.js +61 -0
  298. package/dist/jsx/helpers/fixNativeShadow.js +7 -0
  299. package/dist/jsx/helpers/fixNativeShadow.native.js +33 -0
  300. package/dist/jsx/helpers/getExpandedShorthands.js +18 -0
  301. package/dist/jsx/helpers/getSize.js +12 -0
  302. package/dist/jsx/helpers/getSplitStyles.js +277 -0
  303. package/dist/jsx/helpers/getStylesAtomic.js +130 -0
  304. package/dist/jsx/helpers/getStylesAtomic.native.js +9 -0
  305. package/dist/jsx/helpers/getThemeParentClassName.js +10 -0
  306. package/dist/jsx/helpers/insertStyleRule.js +93 -0
  307. package/dist/jsx/helpers/isObj.js +6 -0
  308. package/dist/jsx/helpers/isTamaguiElement.js +10 -0
  309. package/dist/jsx/helpers/matchMedia.js +17 -0
  310. package/dist/jsx/helpers/matchMedia.native.js +8 -0
  311. package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
  312. package/dist/jsx/helpers/themeable.js +24 -0
  313. package/dist/jsx/helpers/validate.js +75 -0
  314. package/dist/jsx/helpers/withStaticProperties.js +9 -0
  315. package/dist/jsx/helpers/wrapThemeManagerContext.js +10 -0
  316. package/dist/jsx/hooks/useConstant.js +14 -0
  317. package/dist/jsx/hooks/useFeatures.js +167 -0
  318. package/dist/jsx/hooks/useIsMounted.js +18 -0
  319. package/dist/jsx/hooks/useIsTouchDevice.js +16 -0
  320. package/dist/jsx/hooks/useMedia.js +159 -0
  321. package/dist/jsx/hooks/usePressable.js +13 -0
  322. package/dist/jsx/hooks/useTheme.js +177 -0
  323. package/dist/jsx/hooks/useUnmountEffect.js +10 -0
  324. package/dist/jsx/index.js +51 -0
  325. package/dist/jsx/static/postProcessStyles.js +17 -0
  326. package/dist/jsx/static.js +16 -0
  327. package/dist/jsx/styled.js +44 -0
  328. package/dist/jsx/tamagui-base.css +10 -0
  329. package/dist/jsx/types-rnw.js +0 -0
  330. package/dist/jsx/types.js +0 -0
  331. package/dist/jsx/views/Animated.js +74 -0
  332. package/dist/jsx/views/Stack.js +12 -0
  333. package/dist/jsx/views/Text.js +61 -0
  334. package/dist/jsx/views/TextAncestorContext.js +15 -0
  335. package/dist/jsx/views/Theme.js +31 -0
  336. package/dist/jsx/views/ThemeContext.js +5 -0
  337. package/dist/jsx/views/ThemeInverse.js +22 -0
  338. package/dist/jsx/views/ThemeManagerContext.js +61 -0
  339. package/dist/jsx/views/ThemeProvider.js +35 -0
  340. package/dist/jsx/views/ThemeReset.js +34 -0
  341. package/package.json +22 -20
  342. package/types/Tamagui.d.ts +30 -0
  343. package/types/Tamagui.d.ts.map +1 -0
  344. package/types/ThemeContext.d.ts +7 -0
  345. package/types/ThemeContext.d.ts.map +1 -0
  346. package/types/ThemeManager.d.ts +49 -0
  347. package/types/ThemeManager.d.ts.map +1 -0
  348. package/types/conf.d.ts +27 -0
  349. package/types/conf.d.ts.map +1 -0
  350. package/{dist/packages/core/src → types}/constants/constants.d.ts +2 -0
  351. package/types/constants/constants.d.ts.map +1 -0
  352. package/{dist/packages/core/src → types}/constants/platform.d.ts +3 -0
  353. package/types/constants/platform.d.ts.map +1 -0
  354. package/{dist/packages/core/src → types}/constants/rnw.d.ts +0 -0
  355. package/types/constants/rnw.d.ts.map +1 -0
  356. package/types/contexts/ButtonInsideButtonContext.d.ts +3 -0
  357. package/types/contexts/ButtonInsideButtonContext.d.ts.map +1 -0
  358. package/types/createComponent.d.ts +19 -0
  359. package/types/createComponent.d.ts.map +1 -0
  360. package/types/createFont.d.ts +3 -0
  361. package/types/createFont.d.ts.map +1 -0
  362. package/{dist/packages/core/src → types}/createShorthands.d.ts +0 -0
  363. package/types/createShorthands.d.ts.map +1 -0
  364. package/types/createTamagui.d.ts +18 -0
  365. package/types/createTamagui.d.ts.map +1 -0
  366. package/types/createTheme.d.ts +7 -0
  367. package/types/createTheme.d.ts.map +1 -0
  368. package/{dist/packages/core/src → types}/createTokens.d.ts +0 -16
  369. package/types/createTokens.d.ts.map +1 -0
  370. package/types/createVariable.d.ts +20 -0
  371. package/types/createVariable.d.ts.map +1 -0
  372. package/types/defaultComponentState.d.ts +1 -0
  373. package/types/defaultComponentState.d.ts.map +1 -0
  374. package/types/helpers/RNComponents.d.ts +2 -0
  375. package/types/helpers/RNComponents.d.ts.map +1 -0
  376. package/types/helpers/addStylesUsingClassname.d.ts +3 -0
  377. package/types/helpers/addStylesUsingClassname.d.ts.map +1 -0
  378. package/types/helpers/areEqualSets.d.ts +2 -0
  379. package/types/helpers/areEqualSets.d.ts.map +1 -0
  380. package/{dist/packages/core/src → types}/helpers/createMediaStyle.d.ts +1 -1
  381. package/types/helpers/createMediaStyle.d.ts.map +1 -0
  382. package/types/helpers/createPropMapper.d.ts +4 -0
  383. package/types/helpers/createPropMapper.d.ts.map +1 -0
  384. package/types/helpers/createShallowUpdate.d.ts +4 -0
  385. package/types/helpers/createShallowUpdate.d.ts.map +1 -0
  386. package/types/helpers/createTamaguiProvider.d.ts +7 -0
  387. package/types/helpers/createTamaguiProvider.d.ts.map +1 -0
  388. package/types/helpers/extendStaticConfig.d.ts +4 -0
  389. package/types/helpers/extendStaticConfig.d.ts.map +1 -0
  390. package/{dist/packages/core/src → types}/helpers/fixNativeShadow.d.ts +0 -0
  391. package/types/helpers/fixNativeShadow.d.ts.map +1 -0
  392. package/types/helpers/fixNativeShadow.native.d.ts +2 -0
  393. package/types/helpers/fixNativeShadow.native.d.ts.map +1 -0
  394. package/types/helpers/getExpandedShorthands.d.ts +3 -0
  395. package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
  396. package/types/helpers/getSize.d.ts +3 -0
  397. package/types/helpers/getSize.d.ts.map +1 -0
  398. package/types/helpers/getSplitStyles.d.ts +19 -0
  399. package/types/helpers/getSplitStyles.d.ts.map +1 -0
  400. package/types/helpers/getStylesAtomic.d.ts +27 -0
  401. package/types/helpers/getStylesAtomic.d.ts.map +1 -0
  402. package/{dist/packages/core/src → types}/helpers/getStylesAtomic.native.d.ts +0 -0
  403. package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
  404. package/types/helpers/insertStyleRule.d.ts +8 -0
  405. package/types/helpers/insertStyleRule.d.ts.map +1 -0
  406. package/types/helpers/isObj.d.ts +2 -0
  407. package/types/helpers/isObj.d.ts.map +1 -0
  408. package/types/helpers/isTamaguiElement.d.ts +3 -0
  409. package/types/helpers/isTamaguiElement.d.ts.map +1 -0
  410. package/{dist/packages/core/src → types}/helpers/matchMedia.d.ts +0 -0
  411. package/types/helpers/matchMedia.d.ts.map +1 -0
  412. package/{dist/packages/core/src → types}/helpers/matchMedia.native.d.ts +0 -0
  413. package/types/helpers/matchMedia.native.d.ts.map +1 -0
  414. package/types/helpers/proxyThemeVariables.d.ts +2 -0
  415. package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
  416. package/types/helpers/themeable.d.ts +12 -0
  417. package/types/helpers/themeable.d.ts.map +1 -0
  418. package/types/helpers/validate.d.ts +4 -0
  419. package/types/helpers/validate.d.ts.map +1 -0
  420. package/types/helpers/withStaticProperties.d.ts +2 -0
  421. package/types/helpers/withStaticProperties.d.ts.map +1 -0
  422. package/types/helpers/wrapThemeManagerContext.d.ts +3 -0
  423. package/types/helpers/wrapThemeManagerContext.d.ts.map +1 -0
  424. package/{dist/packages/core/src → types}/hooks/useConstant.d.ts +0 -0
  425. package/types/hooks/useConstant.d.ts.map +1 -0
  426. package/types/hooks/useFeatures.d.ts +18 -0
  427. package/types/hooks/useFeatures.d.ts.map +1 -0
  428. package/types/hooks/useIsMounted.d.ts +3 -0
  429. package/types/hooks/useIsMounted.d.ts.map +1 -0
  430. package/types/hooks/useIsTouchDevice.d.ts +2 -0
  431. package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
  432. package/{dist/packages/core/src → types}/hooks/useMedia.d.ts +2 -6
  433. package/types/hooks/useMedia.d.ts.map +1 -0
  434. package/{dist/packages/core/src → types}/hooks/usePressable.d.ts +0 -0
  435. package/types/hooks/usePressable.d.ts.map +1 -0
  436. package/types/hooks/useTheme.d.ts +36 -0
  437. package/types/hooks/useTheme.d.ts.map +1 -0
  438. package/types/hooks/useUnmountEffect.d.ts +2 -0
  439. package/types/hooks/useUnmountEffect.d.ts.map +1 -0
  440. package/types/index.d.ts +42 -0
  441. package/types/index.d.ts.map +1 -0
  442. package/{dist/packages/core/src → types}/static.d.ts +7 -2
  443. package/types/static.d.ts.map +1 -0
  444. package/types/styled.d.ts +16 -0
  445. package/types/styled.d.ts.map +1 -0
  446. package/types/types-rnw.d.ts +74 -0
  447. package/types/types-rnw.d.ts.map +1 -0
  448. package/types/types.d.ts +406 -0
  449. package/types/types.d.ts.map +1 -0
  450. package/types/views/Stack.d.ts +4 -0
  451. package/types/views/Stack.d.ts.map +1 -0
  452. package/types/views/Text.d.ts +4 -0
  453. package/types/views/Text.d.ts.map +1 -0
  454. package/types/views/TextAncestorContext.d.ts +5 -0
  455. package/types/views/TextAncestorContext.d.ts.map +1 -0
  456. package/types/views/Theme.d.ts +12 -0
  457. package/types/views/Theme.d.ts.map +1 -0
  458. package/{dist/packages/core/src → types}/views/ThemeInverse.d.ts +0 -0
  459. package/types/views/ThemeInverse.d.ts.map +1 -0
  460. package/{dist/packages/core/src → types}/views/ThemeProvider.d.ts +1 -1
  461. package/types/views/ThemeProvider.d.ts.map +1 -0
  462. package/types/views/ThemeReset.d.ts +4 -0
  463. package/types/views/ThemeReset.d.ts.map +1 -0
  464. package/LICENSE +0 -21
  465. package/dist/constants/constants.js.map +0 -7
  466. package/dist/constants/platform.js.map +0 -7
  467. package/dist/constants/rnw.js.map +0 -7
  468. package/dist/constants/styleConstants.js +0 -46
  469. package/dist/constants/styleConstants.js.map +0 -7
  470. package/dist/createComponent.js +0 -463
  471. package/dist/createComponent.js.map +0 -7
  472. package/dist/createTamagui.js +0 -168
  473. package/dist/createTamagui.js.map +0 -7
  474. package/dist/createTheme.js +0 -20
  475. package/dist/createTheme.js.map +0 -7
  476. package/dist/createTokens.js.map +0 -7
  477. package/dist/createVariable.js +0 -25
  478. package/dist/createVariable.js.map +0 -7
  479. package/dist/helpers/addStylesUsingClassname.js.map +0 -7
  480. package/dist/helpers/createMediaStyle.js.map +0 -7
  481. package/dist/helpers/createPropMapper.js +0 -153
  482. package/dist/helpers/createPropMapper.js.map +0 -7
  483. package/dist/helpers/createTamaguiProvider.js +0 -25
  484. package/dist/helpers/createTamaguiProvider.js.map +0 -7
  485. package/dist/helpers/extendStaticConfig.js.map +0 -7
  486. package/dist/helpers/fixNativeShadow.native.js +0 -30
  487. package/dist/helpers/fixNativeShadow.native.js.map +0 -7
  488. package/dist/helpers/getSplitStyles.js +0 -150
  489. package/dist/helpers/getSplitStyles.js.map +0 -7
  490. package/dist/helpers/getStylesAtomic.js +0 -83
  491. package/dist/helpers/getStylesAtomic.js.map +0 -7
  492. package/dist/helpers/insertStyleRule.js +0 -24
  493. package/dist/helpers/insertStyleRule.js.map +0 -7
  494. package/dist/helpers/isComponent.js +0 -10
  495. package/dist/helpers/isComponent.js.map +0 -7
  496. package/dist/helpers/isTamaguiComponent.js +0 -10
  497. package/dist/helpers/isTamaguiComponent.js.map +0 -7
  498. package/dist/helpers/pseudos.js +0 -1
  499. package/dist/helpers/themeable.js.map +0 -7
  500. package/dist/helpers/validate.js +0 -60
  501. package/dist/helpers/validate.js.map +0 -7
  502. package/dist/helpers/validateConfig.js +0 -46
  503. package/dist/helpers/validateConfig.js.map +0 -7
  504. package/dist/helpers/validateTokens.js +0 -29
  505. package/dist/helpers/validateTokens.js.map +0 -7
  506. package/dist/hooks/useFeatures.js +0 -63
  507. package/dist/hooks/useFeatures.js.map +0 -7
  508. package/dist/hooks/useForceUpdate.js +0 -28
  509. package/dist/hooks/useForceUpdate.js.map +0 -7
  510. package/dist/hooks/useMedia.js.map +0 -7
  511. package/dist/hooks/useTheme.js +0 -89
  512. package/dist/hooks/useTheme.js.map +0 -7
  513. package/dist/index.cjs +0 -2202
  514. package/dist/index.cjs.map +0 -7
  515. package/dist/index.js.map +0 -7
  516. package/dist/packages/core/src/constants/constants.d.ts.map +0 -1
  517. package/dist/packages/core/src/constants/platform.d.ts.map +0 -1
  518. package/dist/packages/core/src/constants/pseudos.d.ts +0 -15
  519. package/dist/packages/core/src/constants/pseudos.d.ts.map +0 -1
  520. package/dist/packages/core/src/constants/rnw.d.ts.map +0 -1
  521. package/dist/packages/core/src/createComponent.d.ts +0 -16
  522. package/dist/packages/core/src/createComponent.d.ts.map +0 -1
  523. package/dist/packages/core/src/createShorthands.d.ts.map +0 -1
  524. package/dist/packages/core/src/createTamagui.d.ts +0 -37
  525. package/dist/packages/core/src/createTamagui.d.ts.map +0 -1
  526. package/dist/packages/core/src/createTheme.d.ts +0 -5
  527. package/dist/packages/core/src/createTheme.d.ts.map +0 -1
  528. package/dist/packages/core/src/createTokens.d.ts.map +0 -1
  529. package/dist/packages/core/src/createVariable.d.ts +0 -14
  530. package/dist/packages/core/src/createVariable.d.ts.map +0 -1
  531. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +0 -2
  532. package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +0 -1
  533. package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +0 -1
  534. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +0 -5
  535. package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +0 -1
  536. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +0 -5
  537. package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +0 -1
  538. package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +0 -1
  539. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +0 -2
  540. package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +0 -1
  541. package/dist/packages/core/src/helpers/getSplitStyles.d.ts +0 -15
  542. package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +0 -1
  543. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +0 -3
  544. package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +0 -1
  545. package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +0 -1
  546. package/dist/packages/core/src/helpers/insertStyleRule.d.ts +0 -2
  547. package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +0 -1
  548. package/dist/packages/core/src/helpers/matchMedia.d.ts.map +0 -1
  549. package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +0 -1
  550. package/dist/packages/core/src/helpers/themeable.d.ts +0 -10
  551. package/dist/packages/core/src/helpers/themeable.d.ts.map +0 -1
  552. package/dist/packages/core/src/hooks/useConstant.d.ts.map +0 -1
  553. package/dist/packages/core/src/hooks/useFeatures.d.ts +0 -5
  554. package/dist/packages/core/src/hooks/useFeatures.d.ts.map +0 -1
  555. package/dist/packages/core/src/hooks/useForceUpdate.d.ts +0 -2
  556. package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +0 -1
  557. package/dist/packages/core/src/hooks/useMedia.d.ts.map +0 -1
  558. package/dist/packages/core/src/hooks/usePressable.d.ts.map +0 -1
  559. package/dist/packages/core/src/hooks/useTheme.d.ts +0 -18
  560. package/dist/packages/core/src/hooks/useTheme.d.ts.map +0 -1
  561. package/dist/packages/core/src/index.d.ts +0 -27
  562. package/dist/packages/core/src/index.d.ts.map +0 -1
  563. package/dist/packages/core/src/static/postProcessStyles.d.ts +0 -7
  564. package/dist/packages/core/src/static/postProcessStyles.d.ts.map +0 -1
  565. package/dist/packages/core/src/static.d.ts.map +0 -1
  566. package/dist/packages/core/src/styled.d.ts +0 -16
  567. package/dist/packages/core/src/styled.d.ts.map +0 -1
  568. package/dist/packages/core/src/types.d.ts +0 -305
  569. package/dist/packages/core/src/types.d.ts.map +0 -1
  570. package/dist/packages/core/src/views/Animated.d.ts +0 -15
  571. package/dist/packages/core/src/views/Animated.d.ts.map +0 -1
  572. package/dist/packages/core/src/views/Stack.d.ts +0 -3
  573. package/dist/packages/core/src/views/Stack.d.ts.map +0 -1
  574. package/dist/packages/core/src/views/Text.d.ts +0 -3
  575. package/dist/packages/core/src/views/Text.d.ts.map +0 -1
  576. package/dist/packages/core/src/views/TextAncestorContext.d.ts +0 -3
  577. package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +0 -1
  578. package/dist/packages/core/src/views/Theme.d.ts +0 -8
  579. package/dist/packages/core/src/views/Theme.d.ts.map +0 -1
  580. package/dist/packages/core/src/views/ThemeContext.d.ts +0 -18
  581. package/dist/packages/core/src/views/ThemeContext.d.ts.map +0 -1
  582. package/dist/packages/core/src/views/ThemeInverse.d.ts.map +0 -1
  583. package/dist/packages/core/src/views/ThemeManagerContext.d.ts +0 -15
  584. package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +0 -1
  585. package/dist/packages/core/src/views/ThemeProvider.d.ts.map +0 -1
  586. package/dist/packages/helpers/src/AllRules.d.ts +0 -3
  587. package/dist/packages/helpers/src/AllRules.d.ts.map +0 -1
  588. package/dist/packages/helpers/src/concatClassName.d.ts +0 -2
  589. package/dist/packages/helpers/src/concatClassName.d.ts.map +0 -1
  590. package/dist/packages/helpers/src/index.d.ts +0 -5
  591. package/dist/packages/helpers/src/index.d.ts.map +0 -1
  592. package/dist/packages/helpers/src/types.d.ts +0 -8
  593. package/dist/packages/helpers/src/types.d.ts.map +0 -1
  594. package/dist/packages/helpers/src/validStyleProps.d.ts +0 -475
  595. package/dist/packages/helpers/src/validStyleProps.d.ts.map +0 -1
  596. package/dist/static.js.map +0 -7
  597. package/dist/styled.js +0 -21
  598. package/dist/styled.js.map +0 -7
  599. package/dist/views/SafeAreaProvider.js +0 -30
  600. package/dist/views/SafeAreaProvider.js.map +0 -7
  601. package/dist/views/Stack.js.map +0 -7
  602. package/dist/views/Text.js.map +0 -7
  603. package/dist/views/TextAncestorContext.js +0 -18
  604. package/dist/views/TextAncestorContext.js.map +0 -7
  605. package/dist/views/Theme.js +0 -65
  606. package/dist/views/Theme.js.map +0 -7
  607. package/dist/views/ThemeProvider.js +0 -45
  608. package/dist/views/ThemeProvider.js.map +0 -7
  609. package/src/constants/constants.ts +0 -12
  610. package/src/constants/platform.ts +0 -15
  611. package/src/constants/pseudos.ts +0 -14
  612. package/src/constants/rnw.tsx +0 -20
  613. package/src/createComponent.tsx +0 -612
  614. package/src/createFont.ts +0 -31
  615. package/src/createShorthands.ts +0 -5
  616. package/src/createTamagui.ts +0 -217
  617. package/src/createTheme.ts +0 -19
  618. package/src/createTokens.ts +0 -88
  619. package/src/createVariable.ts +0 -26
  620. package/src/helpers/addStylesUsingClassname.tsx +0 -60
  621. package/src/helpers/createMediaStyle.ts +0 -46
  622. package/src/helpers/createPropMapper.ts +0 -184
  623. package/src/helpers/createTamaguiProvider.tsx +0 -22
  624. package/src/helpers/extendStaticConfig.ts +0 -68
  625. package/src/helpers/fixNativeShadow.native.tsx +0 -27
  626. package/src/helpers/fixNativeShadow.tsx +0 -2
  627. package/src/helpers/getSplitStyles.tsx +0 -200
  628. package/src/helpers/getStylesAtomic.native.ts +0 -3
  629. package/src/helpers/getStylesAtomic.ts +0 -103
  630. package/src/helpers/insertStyleRule.tsx +0 -18
  631. package/src/helpers/isObj.ts +0 -1
  632. package/src/helpers/isTamaguiElement.tsx +0 -5
  633. package/src/helpers/matchMedia.native.ts +0 -6
  634. package/src/helpers/matchMedia.ts +0 -17
  635. package/src/helpers/themeable.tsx +0 -42
  636. package/src/helpers/validate.ts +0 -59
  637. package/src/hooks/useConstant.tsx +0 -10
  638. package/src/hooks/useFeatures.tsx +0 -79
  639. package/src/hooks/useMedia.tsx +0 -194
  640. package/src/hooks/usePressable.tsx +0 -9
  641. package/src/hooks/useTheme.tsx +0 -106
  642. package/src/index.ts +0 -32
  643. package/src/static/postProcessStyles.tsx +0 -20
  644. package/src/static.ts +0 -22
  645. package/src/styled.ts +0 -82
  646. package/src/types.tsx +0 -562
  647. package/src/views/Animated.tsx +0 -121
  648. package/src/views/Stack.tsx +0 -21
  649. package/src/views/Text.tsx +0 -66
  650. package/src/views/TextAncestorContext.tsx +0 -12
  651. package/src/views/Theme.tsx +0 -90
  652. package/src/views/ThemeContext.tsx +0 -5
  653. package/src/views/ThemeInverse.tsx +0 -22
  654. package/src/views/ThemeManagerContext.tsx +0 -62
  655. package/src/views/ThemeProvider.tsx +0 -52
  656. package/types.d.ts +0 -559
@@ -0,0 +1,278 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import {
4
+ mergeTransform,
5
+ stylePropsText,
6
+ stylePropsTransform,
7
+ validPseudoKeys,
8
+ validStyles
9
+ } from "@tamagui/helpers";
10
+ import { getConfig } from "../conf";
11
+ import { isClient, isWeb } from "../constants/platform";
12
+ import { mediaQueryConfig, mediaState } from "../hooks/useMedia";
13
+ import { createMediaStyle } from "./createMediaStyle";
14
+ import { fixNativeShadow } from "./fixNativeShadow";
15
+ import { getStylesAtomic } from "./getStylesAtomic";
16
+ import { insertStyleRule, insertedTransforms, updateInserted } from "./insertStyleRule";
17
+ const skipProps = {
18
+ animation: true,
19
+ animateOnly: true,
20
+ debug: true
21
+ };
22
+ let conf;
23
+ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state, defaultClassNames) => {
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();
29
+ const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
30
+ const viewProps = {};
31
+ const style = {};
32
+ const classNames = {
33
+ ...defaultClassNames
34
+ };
35
+ const pseudos = {};
36
+ const medias = {};
37
+ let cur = null;
38
+ let transforms = {};
39
+ function mergeClassName(key, val) {
40
+ if (!val) {
41
+ return;
42
+ }
43
+ if (val.startsWith("_transform-")) {
44
+ const isMediaOrPseudo = key !== "transform";
45
+ const isMedia = isMediaOrPseudo && key[11] === "_";
46
+ const isPsuedo = isMediaOrPseudo && key[11] === "0" || key.endsWith("Style");
47
+ const namespace = isMedia ? key.split("_")[2] : isPsuedo ? key.split("-")[1] : "transform";
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
+ }
69
+ }
70
+ transforms[namespace] = transforms[namespace] || ["", ""];
71
+ const identifier = val.replace("_transform", "");
72
+ transforms[namespace][0] += identifier;
73
+ if (transform) {
74
+ transforms[namespace][1] += transform;
75
+ }
76
+ } else {
77
+ classNames[key] = val;
78
+ }
79
+ }
80
+ __name(mergeClassName, "mergeClassName");
81
+ function push() {
82
+ if (!cur)
83
+ return;
84
+ normalizeStyleObject(cur);
85
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
86
+ console.log(" \xBB getSplitStyles push", cur, state);
87
+ }
88
+ if (isWeb && !state.noClassNames) {
89
+ const atomic = getStylesAtomic(cur);
90
+ for (const atomicStyle of atomic) {
91
+ if (!state.noClassNames) {
92
+ insertStyleRule(atomicStyle.identifier, atomicStyle.rules[0]);
93
+ mergeClassName(atomicStyle.property, atomicStyle.identifier);
94
+ } else {
95
+ style[atomicStyle.property] = atomicStyle.value;
96
+ }
97
+ }
98
+ }
99
+ if (!isWeb || state.noClassNames || state.resolveVariablesAs === "value" || state.resolveVariablesAs === "both") {
100
+ for (const key in cur) {
101
+ if (key in stylePropsTransform) {
102
+ mergeTransform(style, key, cur[key]);
103
+ } else {
104
+ style[key] = cur[key];
105
+ }
106
+ }
107
+ }
108
+ cur = null;
109
+ }
110
+ __name(push, "push");
111
+ for (const keyInit in props) {
112
+ if (skipProps[keyInit]) {
113
+ continue;
114
+ }
115
+ const valInit = props[keyInit];
116
+ if (keyInit === "style" || keyInit.startsWith("_style")) {
117
+ push();
118
+ cur = valInit;
119
+ push();
120
+ continue;
121
+ }
122
+ if (keyInit === "className" || validStyleProps[keyInit] && valInit && valInit[0] === "_") {
123
+ push();
124
+ mergeClassName(keyInit, valInit);
125
+ continue;
126
+ }
127
+ if (state.keepVariantsAsProps && staticConfig.defaultVariants && keyInit in staticConfig.defaultVariants) {
128
+ viewProps[keyInit] = valInit;
129
+ }
130
+ let isMedia = keyInit[0] === "$";
131
+ let isPseudo = validPseudoKeys[keyInit];
132
+ if (!isMedia && !isPseudo && !((_a = staticConfig.variants) == null ? void 0 : _a[keyInit]) && !validStyleProps[keyInit] && !conf.shorthands[keyInit]) {
133
+ viewProps[keyInit] = valInit;
134
+ continue;
135
+ }
136
+ const out = isMedia || isPseudo ? true : staticConfig.propMapper(keyInit, valInit, theme, state.fallbackProps || props, state.resolveVariablesAs);
137
+ const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
138
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
139
+ console.log(" \xBB getSplitStyles", keyInit, expanded);
140
+ }
141
+ for (const [key, val] of expanded) {
142
+ if (val === void 0) {
143
+ continue;
144
+ }
145
+ if (key !== "target" && val && val[0] === "_") {
146
+ mergeClassName(key, val);
147
+ continue;
148
+ }
149
+ isMedia = key[0] === "$";
150
+ isPseudo = validPseudoKeys[key];
151
+ if (staticConfig.deoptProps && staticConfig.deoptProps.has(key) || staticConfig.inlineProps && staticConfig.inlineProps.has(key)) {
152
+ viewProps[key] = val;
153
+ }
154
+ if (isPseudo) {
155
+ if (!val)
156
+ continue;
157
+ if (key === "enterStyle" && state.mounted) {
158
+ continue;
159
+ }
160
+ pseudos[key] = pseudos[key] || {};
161
+ pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true);
162
+ if (isWeb && !state.noClassNames) {
163
+ const pseudoStyles = getStylesAtomic({ [key]: pseudos[key] });
164
+ for (const style2 of pseudoStyles) {
165
+ insertStyleRule(style2.identifier, style2.rules[0]);
166
+ mergeClassName(`${style2.property}-${key}`, style2.identifier);
167
+ }
168
+ }
169
+ continue;
170
+ }
171
+ if (isMedia) {
172
+ const mediaKey = key;
173
+ const mediaKeyShort = mediaKey.slice(1);
174
+ if (!mediaQueryConfig[mediaKeyShort]) {
175
+ viewProps[key] = val;
176
+ continue;
177
+ }
178
+ const mediaStyle = getSubStyle(val, staticConfig, theme, props, state);
179
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
180
+ console.log(" \xBB getSplitStyles mediaStyle", mediaKey, mediaStyle, props);
181
+ }
182
+ const shouldDoClasses = isWeb && !state.noClassNames;
183
+ if (shouldDoClasses) {
184
+ const mediaStyles = getStylesAtomic(mediaStyle);
185
+ for (const style2 of mediaStyles) {
186
+ const out2 = createMediaStyle(style2, mediaKeyShort, mediaQueryConfig);
187
+ insertStyleRule(out2.identifier, out2.styleRule);
188
+ mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
189
+ }
190
+ } else {
191
+ if (mediaState[mediaKey]) {
192
+ push();
193
+ if (process.env.NODE_ENV === "development" && props["debug"]) {
194
+ console.log("apply media style", mediaKey, mediaState);
195
+ }
196
+ Object.assign(shouldDoClasses ? medias : style, mediaStyle);
197
+ }
198
+ }
199
+ continue;
200
+ }
201
+ if (!isWeb && key === "pointerEvents") {
202
+ viewProps[key] = val;
203
+ continue;
204
+ }
205
+ if (validStyleProps[key]) {
206
+ cur = cur || {};
207
+ cur[key] = val;
208
+ continue;
209
+ }
210
+ if (!staticConfig.variants || !(key in staticConfig.variants)) {
211
+ if (key !== "animation" && key !== "debug") {
212
+ push();
213
+ viewProps[key] = val;
214
+ }
215
+ }
216
+ }
217
+ }
218
+ push();
219
+ if (transforms) {
220
+ for (const namespace in transforms) {
221
+ const [hash, val] = transforms[namespace];
222
+ const identifier = `_transform${hash}`;
223
+ if (isClient) {
224
+ if (!insertedTransforms[identifier]) {
225
+ const rule = `.${identifier} { transform: ${val}; }`;
226
+ insertStyleRule(identifier, rule);
227
+ }
228
+ }
229
+ classNames[namespace] = identifier;
230
+ }
231
+ }
232
+ if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
233
+ console.log(" \xBB getSplitStyles out", { style, pseudos, medias, classNames, viewProps, state });
234
+ }
235
+ return {
236
+ viewProps,
237
+ style,
238
+ medias,
239
+ pseudos,
240
+ classNames
241
+ };
242
+ }, "getSplitStyles");
243
+ const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props, state, avoidDefaultProps) => {
244
+ const styleOut = {};
245
+ for (const key in styleIn) {
246
+ const val = styleIn[key];
247
+ const out = staticConfig.propMapper(key, val, theme, state.fallbackProps || props, state.resolveVariablesAs, avoidDefaultProps);
248
+ const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
249
+ for (const [skey, sval] of expanded) {
250
+ if (skey in stylePropsTransform) {
251
+ mergeTransform(styleOut, skey, sval);
252
+ } else {
253
+ styleOut[skey] = sval;
254
+ }
255
+ }
256
+ }
257
+ normalizeStyleObject(styleOut);
258
+ return styleOut;
259
+ }, "getSubStyle");
260
+ function normalizeStyleObject(style) {
261
+ var _a, _b;
262
+ if (typeof style.flex === "number") {
263
+ const val = style.flex;
264
+ delete style.flex;
265
+ style.flexGrow = (_a = style.flexGrow) != null ? _a : val;
266
+ style.flexShrink = (_b = style.flexShrink) != null ? _b : 1;
267
+ }
268
+ if (!isWeb) {
269
+ fixNativeShadow(style);
270
+ }
271
+ }
272
+ __name(normalizeStyleObject, "normalizeStyleObject");
273
+ export {
274
+ getSplitStyles,
275
+ getSubStyle,
276
+ normalizeStyleObject
277
+ };
278
+ //# sourceMappingURL=getSplitStyles.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getSplitStyles.tsx"],
4
+ "sourcesContent": ["import {\n mergeTransform,\n stylePropsText,\n stylePropsTransform,\n validPseudoKeys,\n validStyles,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { getConfig } from '../conf'\nimport { isClient, isWeb } from '../constants/platform'\nimport { mediaQueryConfig, mediaState } from '../hooks/useMedia'\nimport {\n MediaKeys,\n MediaQueryKey,\n PseudoStyles,\n PsuedoPropKeys,\n SplitStyleState,\n StackProps,\n StaticConfigParsed,\n TamaguiInternalConfig,\n ThemeObject,\n} from '../types'\nimport { createMediaStyle } from './createMediaStyle'\nimport { fixNativeShadow } from './fixNativeShadow'\nimport { ViewStyleWithPseudos, getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule, insertedTransforms, updateInserted } from './insertStyleRule'\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\nexport type ClassNamesObject = Record<string, string>\nexport type SplitStyleResult = ReturnType<typeof getSplitStyles>\n\nconst skipProps = {\n animation: true,\n animateOnly: true,\n debug: true,\n}\n\ntype TransformNamespaceKey = 'transform' | PsuedoPropKeys | MediaQueryKey\n\n// TODO can make a few of these objects lazy if profiling seems slow\n\nlet conf: TamaguiInternalConfig\n\nexport const getSplitStyles = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n state: SplitStyleState & {\n keepVariantsAsProps?: boolean\n },\n defaultClassNames?: any\n) => {\n if (process.env.NODE_ENV === 'development' && props['debug'] === 'verbose') {\n console.log(' \u00BB getSplitStyles', { props, state, defaultClassNames })\n }\n\n conf = conf || getConfig()\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: StackProps = {}\n const style: ViewStyle = {}\n const classNames: ClassNamesObject = {\n ...defaultClassNames,\n }\n const pseudos: PseudoStyles = {}\n const medias: Record<MediaKeys, ViewStyle> = {}\n let cur: ViewStyleWithPseudos | null = null\n\n // we need to gather these specific to each media query / pseudo\n // value is [hash, val], so [\"-jnjad-asdnjk\", \"scaleX(1) rotate(10deg)\"]\n let transforms: Record<TransformNamespaceKey, [string, string]> = {}\n\n function mergeClassName(key: string, val: string) {\n if (!val) {\n // empty classnames passed by compiler sometimes\n return\n }\n if (val.startsWith('_transform-')) {\n const isMediaOrPseudo = key !== 'transform'\n const isMedia = isMediaOrPseudo && key[11] === '_'\n const isPsuedo = (isMediaOrPseudo && key[11] === '0') || key.endsWith('Style')\n const namespace: TransformNamespaceKey = isMedia\n ? key.split('_')[2]\n : isPsuedo\n ? key.split('-')[1]\n : 'transform'\n\n let transform = insertedTransforms[val]\n if (isClient) {\n if (!transform) {\n // HMR or loaded a new chunk\n updateInserted()\n transform = insertedTransforms[val]\n }\n if (!transform) {\n if (isWeb && val[0] !== '_') {\n // runtime insert\n transform = val\n } else {\n // error\n console.trace('?', key, val, cur, props, state)\n }\n }\n if (process.env.NODE_ENV === 'development' && props['debug'] === 'verbose') {\n // prettier-ignore\n console.log(' \u00BB getSplitStyles mergeClassName transform', { key, val, namespace, transform, insertedTransforms })\n }\n if (process.env.NODE_ENV === 'development') {\n if (!transform) {\n console.trace('NO TRANSFORM?', { key, val, transform })\n }\n }\n }\n transforms[namespace] = transforms[namespace] || ['', '']\n const identifier = val.replace('_transform', '')\n transforms[namespace][0] += identifier\n // ssr doesn't need to do anything just make the right classname\n if (transform) {\n transforms[namespace][1] += transform\n }\n } else {\n classNames[key] = val\n }\n }\n\n function push() {\n if (!cur) return\n normalizeStyleObject(cur)\n\n if (process.env.NODE_ENV === 'development' && props['debug'] === 'verbose') {\n console.log(' \u00BB getSplitStyles push', cur, state)\n }\n\n if (isWeb && !state.noClassNames) {\n const atomic = getStylesAtomic(cur)\n for (const atomicStyle of atomic) {\n if (!state.noClassNames) {\n insertStyleRule(atomicStyle.identifier, atomicStyle.rules[0])\n mergeClassName(atomicStyle.property, atomicStyle.identifier)\n } else {\n style[atomicStyle.property] = atomicStyle.value\n }\n }\n }\n\n if (\n !isWeb ||\n state.noClassNames ||\n state.resolveVariablesAs === 'value' ||\n state.resolveVariablesAs === 'both'\n ) {\n for (const key in cur) {\n if (key in stylePropsTransform) {\n mergeTransform(style, key, cur[key])\n } else {\n style[key] = cur[key]\n }\n }\n }\n\n // reset it for next group of styles\n cur = null\n }\n\n for (const keyInit in props) {\n if (skipProps[keyInit]) {\n continue\n }\n\n const valInit = props[keyInit]\n\n // TODO\n if (keyInit === 'style' || keyInit.startsWith('_style')) {\n push()\n cur = valInit\n push()\n continue\n }\n\n if (keyInit === 'className' || (validStyleProps[keyInit] && valInit && valInit[0] === '_')) {\n push()\n mergeClassName(keyInit, valInit)\n continue\n }\n\n if (\n state.keepVariantsAsProps &&\n staticConfig.defaultVariants &&\n keyInit in staticConfig.defaultVariants\n ) {\n viewProps[keyInit] = valInit\n }\n\n let isMedia = keyInit[0] === '$'\n let isPseudo = validPseudoKeys[keyInit]\n\n if (\n !isMedia &&\n !isPseudo &&\n !staticConfig.variants?.[keyInit] &&\n !validStyleProps[keyInit] &&\n !conf.shorthands[keyInit]\n ) {\n viewProps[keyInit] = valInit\n continue\n }\n\n const out =\n isMedia || isPseudo\n ? true\n : staticConfig.propMapper(\n keyInit,\n valInit,\n theme,\n state.fallbackProps || props,\n state.resolveVariablesAs\n )\n\n const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)\n\n if (process.env.NODE_ENV === 'development' && props['debug'] === 'verbose') {\n console.log(' \u00BB getSplitStyles', keyInit, expanded)\n }\n\n for (const [key, val] of expanded) {\n if (val === undefined) {\n continue\n }\n\n if (key !== 'target' && val && val[0] === '_') {\n mergeClassName(key, val)\n continue\n }\n\n isMedia = key[0] === '$'\n isPseudo = validPseudoKeys[key]\n\n if (\n (staticConfig.deoptProps && staticConfig.deoptProps.has(key)) ||\n (staticConfig.inlineProps && staticConfig.inlineProps.has(key))\n ) {\n viewProps[key] = val\n }\n\n // pseudo\n if (isPseudo) {\n if (!val) continue\n if (key === 'enterStyle' && state.mounted) {\n // once mounted we can ignore enterStyle\n continue\n }\n pseudos[key] = pseudos[key] || {}\n pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true)\n if (isWeb && !state.noClassNames) {\n const pseudoStyles = getStylesAtomic({ [key]: pseudos[key] })\n for (const style of pseudoStyles) {\n insertStyleRule(style.identifier, style.rules[0])\n mergeClassName(`${style.property}-${key}`, style.identifier)\n }\n }\n continue\n }\n\n // media\n if (isMedia) {\n const mediaKey = key\n const mediaKeyShort = mediaKey.slice(1)\n\n if (!mediaQueryConfig[mediaKeyShort]) {\n // this isn't a media key, pass through\n viewProps[key] = val\n continue\n }\n\n // dont check if media is active, we just apply *all* media styles\n // we combine the media props on top regular props, could proxy this\n // TODO test proxy here instead of merge\n // THIS USED TO PROXY BACK TO REGULAR PROPS BUT THAT IS THE WRONG BEHAVIOR\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n const mediaStyle = getSubStyle(val, staticConfig, theme, props, state)\n\n if (process.env.NODE_ENV === 'development' && props['debug'] === 'verbose') {\n console.log(' \u00BB getSplitStyles mediaStyle', mediaKey, mediaStyle, props)\n }\n\n const shouldDoClasses = isWeb && !state.noClassNames\n if (shouldDoClasses) {\n const mediaStyles = getStylesAtomic(mediaStyle)\n for (const style of mediaStyles) {\n const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig)\n insertStyleRule(out.identifier, out.styleRule)\n mergeClassName(`${out.identifier}-${mediaKey}`, out.identifier)\n }\n } else {\n if (mediaState[mediaKey]) {\n push()\n if (process.env.NODE_ENV === 'development' && props['debug']) {\n console.log('apply media style', mediaKey, mediaState)\n }\n Object.assign(shouldDoClasses ? medias : style, mediaStyle)\n }\n }\n continue\n }\n\n if (!isWeb && key === 'pointerEvents') {\n viewProps[key] = val\n continue\n }\n\n if (validStyleProps[key]) {\n cur = cur || {}\n cur[key] = val\n continue\n }\n\n // pass to view props\n if (!staticConfig.variants || !(key in staticConfig.variants)) {\n if (key !== 'animation' && key !== 'debug') {\n push()\n viewProps[key] = val\n }\n }\n }\n }\n\n push()\n\n if (transforms) {\n for (const namespace in transforms) {\n const [hash, val] = transforms[namespace]\n const identifier = `_transform${hash}`\n if (isClient) {\n if (!insertedTransforms[identifier]) {\n const rule = `.${identifier} { transform: ${val}; }`\n insertStyleRule(identifier, rule)\n }\n }\n classNames[namespace] = identifier\n }\n }\n\n if (process.env.NODE_ENV === 'development' && props['debug'] === 'verbose') {\n console.log(' \u00BB getSplitStyles out', { style, pseudos, medias, classNames, viewProps, state })\n }\n\n return {\n viewProps,\n style,\n medias,\n pseudos,\n classNames,\n }\n}\n\nexport const getSubStyle = (\n styleIn: Object,\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n props: any,\n state: SplitStyleState,\n avoidDefaultProps?: boolean\n): ViewStyle => {\n const styleOut: ViewStyle = {}\n for (const key in styleIn) {\n const val = styleIn[key]\n const out = staticConfig.propMapper(\n key,\n val,\n theme,\n state.fallbackProps || props,\n state.resolveVariablesAs,\n avoidDefaultProps\n )\n const expanded = out === true || !out ? [[key, val]] : Object.entries(out)\n for (const [skey, sval] of expanded) {\n if (skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = sval\n }\n }\n }\n normalizeStyleObject(styleOut)\n return styleOut\n}\n\nexport function normalizeStyleObject(style: any) {\n // fix flex to match web\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n if (typeof style.flex === 'number') {\n const val = style.flex\n delete style.flex\n style.flexGrow = style.flexGrow ?? val\n style.flexShrink = style.flexShrink ?? 1\n }\n\n if (!isWeb) {\n fixNativeShadow(style)\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,131 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import {
4
+ invertMapTransformKeys,
5
+ mergeTransform,
6
+ stylePropsTransform
7
+ } from "@tamagui/helpers";
8
+ import { getConfig } from "../conf";
9
+ import { rnw } from "../constants/rnw";
10
+ import { isVariable } from "../createVariable";
11
+ function getStylesAtomic(stylesIn, options = {}) {
12
+ const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn;
13
+ let res = [];
14
+ for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {
15
+ if (!style || !Object.keys(style).length) {
16
+ continue;
17
+ }
18
+ const pseudo = pseudosOrdered[index];
19
+ for (const skey in style) {
20
+ const val = style[skey];
21
+ if (isVariable(val)) {
22
+ style[skey] = val.toString();
23
+ }
24
+ if (stylePropsTransform[skey]) {
25
+ delete style[skey];
26
+ mergeTransform(style, skey, val);
27
+ }
28
+ }
29
+ res = [...res, ...getAtomicStyle(style, pseudo, options)];
30
+ }
31
+ return res;
32
+ }
33
+ __name(getStylesAtomic, "getStylesAtomic");
34
+ const generateAtomicStyles = /* @__PURE__ */ __name((style) => {
35
+ return rnw.atomic(rnw.createCompileableStyle(rnw.createReactDOMStyle(style)));
36
+ }, "generateAtomicStyles");
37
+ let reversedShorthands = null;
38
+ function getAtomicStyle(style, pseudo, options) {
39
+ var _a;
40
+ if (style == null || typeof style !== "object") {
41
+ throw new Error(`Wrong style type: "${typeof style}": ${style}`);
42
+ }
43
+ for (const key in borderDefaults) {
44
+ if (key in style) {
45
+ style[borderDefaults[key]] = (_a = style[borderDefaults[key]]) != null ? _a : "solid";
46
+ }
47
+ }
48
+ let atomicStyles = {};
49
+ if (options.splitTransforms && style.transform) {
50
+ let { transform, ...rest } = style;
51
+ Object.assign(atomicStyles, generateAtomicStyles(rest));
52
+ for (const t of transform) {
53
+ const tKey = Object.keys(t)[0];
54
+ const transformProperty = invertMapTransformKeys[tKey] || tKey;
55
+ const out = generateAtomicStyles({ transform: [t] });
56
+ const key = Object.keys(out)[0];
57
+ atomicStyles[key] = {
58
+ ...out[key],
59
+ transformProperty
60
+ };
61
+ }
62
+ } else {
63
+ atomicStyles = generateAtomicStyles(style);
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
+ }
74
+ return Object.keys(atomicStyles).map((key) => {
75
+ const val = atomicStyles[key];
76
+ const [_, a, b] = val.identifier.split("-");
77
+ const hash = b || a;
78
+ const psuedoPrefix = pseudo ? `0${pseudo.name}-` : "";
79
+ const shortProp = reversedShorthands[val.property] || val.property;
80
+ const identifier = `_${shortProp}-${psuedoPrefix}${hash}`;
81
+ const className = `.${identifier}`;
82
+ const rules = val.rules.map((rule) => {
83
+ if (pseudo) {
84
+ const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ":root").join("") + " ";
85
+ let res = rule.replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`).replace("{", `:${pseudo.name}{`);
86
+ if (pseudo.name === "hover") {
87
+ res = `@media not all and (hover: none) { ${res} }`;
88
+ }
89
+ return res;
90
+ }
91
+ return rule.replace(`.${val.identifier}`, className).replace(importantRegex, "");
92
+ });
93
+ const result = {
94
+ property: val.transformProperty || val.property,
95
+ value: val.value,
96
+ identifier,
97
+ className,
98
+ rules
99
+ };
100
+ return result;
101
+ });
102
+ }
103
+ __name(getAtomicStyle, "getAtomicStyle");
104
+ const importantRegex = /\!important*/g;
105
+ const borderDefaults = {
106
+ borderWidth: "borderStyle",
107
+ borderBottomWidth: "borderBottomStyle",
108
+ borderTopWidth: "borderTopStyle",
109
+ borderLeftWidth: "borderLeftStyle",
110
+ borderRightWidth: "borderRightStyle"
111
+ };
112
+ const pseudos = {
113
+ hoverStyle: {
114
+ name: "hover",
115
+ priority: 1
116
+ },
117
+ pressStyle: {
118
+ name: "active",
119
+ priority: 2
120
+ },
121
+ focusStyle: {
122
+ name: "focus",
123
+ priority: 3
124
+ }
125
+ };
126
+ const pseudosOrdered = Object.values(pseudos);
127
+ export {
128
+ getStylesAtomic,
129
+ pseudos
130
+ };
131
+ //# sourceMappingURL=getStylesAtomic.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getStylesAtomic.ts"],
4
+ "sourcesContent": ["import {\n StyleObject,\n invertMapTransformKeys,\n mergeTransform,\n stylePropsTransform,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { getConfig } from '../conf'\nimport { rnw } from '../constants/rnw'\nimport { isVariable } from '../createVariable'\n\n// NOTE: going to refactor and merge getSplitStyles + getAtomicStyles into one\n// before i can do that need to not rely on rnw for generateAtomicStyles\n// will change that to not be external at all and just logically do it in the\n// merged getSplitStyles/getAtomicStyles file in one loop.\n\nexport type ViewStyleWithPseudos = ViewStyle & {\n hoverStyle?: ViewStyle\n pressStyle?: ViewStyle\n focusStyle?: ViewStyle\n}\n\ntype AtomicStyleOptions = {\n splitTransforms?: boolean\n}\n\nexport function getStylesAtomic(stylesIn: ViewStyleWithPseudos, options: AtomicStyleOptions = {}) {\n const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn\n let res: StyleObject[] = []\n\n // *1 order matched to *0\n for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {\n if (!style || !Object.keys(style).length) {\n continue\n }\n const pseudo = pseudosOrdered[index]\n for (const skey in style) {\n const val = style[skey]\n if (isVariable(val)) {\n style[skey] = val.toString()\n }\n if (stylePropsTransform[skey]) {\n delete style[skey]\n mergeTransform(style, skey, val)\n }\n }\n res = [...res, ...getAtomicStyle(style, pseudo, options)]\n }\n\n return res\n}\n\nconst generateAtomicStyles = (style: ViewStyle) => {\n return rnw.atomic(rnw.createCompileableStyle(rnw.createReactDOMStyle(style))) as {\n [key: string]: StyleObject\n }\n}\n\nlet reversedShorthands: Record<string, string> | null = null\n\nfunction getAtomicStyle(\n style: ViewStyle,\n pseudo: { name: string; priority: number } | undefined,\n options: AtomicStyleOptions\n): StyleObject[] {\n if (style == null || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n\n // why is this diff from react-native-web!? need to figure out\n for (const key in borderDefaults) {\n if (key in style) {\n style[borderDefaults[key]] = style[borderDefaults[key]] ?? 'solid'\n }\n }\n\n let atomicStyles: { [key: string]: StyleObject & { transformProperty?: string } } = {}\n\n if (options.splitTransforms && style.transform) {\n let { transform, ...rest } = style\n Object.assign(atomicStyles, generateAtomicStyles(rest))\n for (const t of transform) {\n const tKey = Object.keys(t)[0]\n const transformProperty = invertMapTransformKeys[tKey] || tKey\n const out = generateAtomicStyles({ transform: [t] })\n const key = Object.keys(out)[0]\n atomicStyles[key] = {\n ...out[key],\n transformProperty,\n }\n }\n } else {\n // TODO we can do this all in one loop likely inside getSplitStyles in existing loop and avoid O(n^3)...\n atomicStyles = generateAtomicStyles(style)\n }\n\n if (!reversedShorthands) {\n reversedShorthands = {}\n const conf = getConfig()\n if (conf.shorthands) {\n for (const key in conf.shorthands) {\n reversedShorthands[conf.shorthands[key]] = key\n }\n }\n }\n\n // TODO ... and then also avoid this loop! n^4\n return Object.keys(atomicStyles).map((key) => {\n const val = atomicStyles[key]\n // r-transform-1ns13n\n const [_, a, b] = val.identifier.split('-')\n // dev mode its \"r-transform-1ns13n\", prod its \"r-1ns13n\", normalize them\n const hash = b || a\n // pseudos have a `--` to be easier to find with concatClassNames\n const psuedoPrefix = pseudo ? `0${pseudo.name}-` : ''\n const shortProp = reversedShorthands![val.property] || val.property\n const identifier = `_${shortProp}-${psuedoPrefix}${hash}`\n const className = `.${identifier}`\n const rules = val.rules.map((rule) => {\n if (pseudo) {\n const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ':root').join('') + ' '\n let res = rule\n .replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`)\n .replace('{', `:${pseudo.name}{`)\n\n if (pseudo.name === 'hover') {\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n res = `@media not all and (hover: none) { ${res} }`\n }\n return res\n }\n return rule.replace(`.${val.identifier}`, className).replace(importantRegex, '')\n })\n\n const result: StyleObject = {\n property: val.transformProperty || val.property,\n value: val.value,\n identifier,\n className,\n rules,\n }\n\n return result\n })\n}\n\nconst importantRegex = /\\!important*/g\n\nconst borderDefaults = {\n borderWidth: 'borderStyle',\n borderBottomWidth: 'borderBottomStyle',\n borderTopWidth: 'borderTopStyle',\n borderLeftWidth: 'borderLeftStyle',\n borderRightWidth: 'borderRightStyle',\n}\n\n// *0 order matches to *1\nexport const pseudos = {\n hoverStyle: {\n name: 'hover',\n priority: 1,\n },\n pressStyle: {\n name: 'active',\n priority: 2,\n },\n focusStyle: {\n name: 'focus',\n priority: 3,\n },\n}\n\nconst pseudosOrdered = Object.values(pseudos)\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/helpers/getStylesAtomic.native.ts"],
3
+ "sources": ["../../../src/helpers/getStylesAtomic.native.ts"],
4
4
  "sourcesContent": ["export function getStylesAtomic() {\n console.warn('no-op native')\n}\n"],
5
- "mappings": ";;AAAO,2BAA2B;AAChC,UAAQ,KAAK;AAAA;AADC;",
5
+ "mappings": ";;AAAO,2BAA2B;AAChC,UAAQ,KAAK,cAAc;AAC7B;AAFgB;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,11 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ import { PREFIX } from "../constants/constants";
4
+ function getThemeParentClassName(themeName) {
5
+ return `theme-parent ${themeName ? `${PREFIX}${themeName}` : ""}`;
6
+ }
7
+ __name(getThemeParentClassName, "getThemeParentClassName");
8
+ export {
9
+ getThemeParentClassName
10
+ };
11
+ //# sourceMappingURL=getThemeParentClassName.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/getThemeParentClassName.ts"],
4
+ "sourcesContent": ["import { PREFIX } from '../constants/constants'\n\nexport function getThemeParentClassName(themeName?: string | null) {\n return `theme-parent ${themeName ? `${PREFIX}${themeName}` : ''}`\n}\n"],
5
+ "mappings": ";;AAAA;AAEO,iCAAiC,WAA2B;AACjE,SAAO,gBAAgB,YAAY,GAAG,SAAS,cAAc;AAC/D;AAFgB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,94 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+ const allSelectors = {};
4
+ const insertedSelectors = {};
5
+ const insertedTransforms = {};
6
+ const getAllSelectors = /* @__PURE__ */ __name(() => allSelectors, "getAllSelectors");
7
+ const getInsertedRules = /* @__PURE__ */ __name(() => Object.values(insertedSelectors), "getInsertedRules");
8
+ const getAllTransforms = /* @__PURE__ */ __name(() => insertedTransforms, "getAllTransforms");
9
+ function addTransform(identifier, css, rule) {
10
+ const s = css.indexOf("transform:");
11
+ if (s === -1) {
12
+ if (process.env.NODE_ENV === "development") {
13
+ console.groupCollapsed(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`);
14
+ console.log("rule:", rule);
15
+ console.trace();
16
+ console.groupEnd();
17
+ } else {
18
+ console.error(`Missing transform`, identifier, css, rule);
19
+ }
20
+ return;
21
+ }
22
+ const startI = s + "transform:".length;
23
+ const endI = css.indexOf(";");
24
+ const value = css.slice(startI, endI);
25
+ insertedTransforms[identifier] = value;
26
+ }
27
+ __name(addTransform, "addTransform");
28
+ const isClient = typeof document !== "undefined";
29
+ let hasInsertedSinceUpdate = true;
30
+ function updateInserted() {
31
+ if (!isClient)
32
+ return;
33
+ if (!hasInsertedSinceUpdate) {
34
+ console.warn("hasnt inserted since");
35
+ return;
36
+ }
37
+ const sheets = document.styleSheets;
38
+ if (!sheets)
39
+ return;
40
+ for (let i = 0; i < sheets.length; i++) {
41
+ const rules = sheets[i].cssRules;
42
+ const firstRule = rules[0];
43
+ if (!(firstRule instanceof CSSStyleRule))
44
+ continue;
45
+ const firstSelector = firstRule.selectorText;
46
+ if (!firstSelector)
47
+ continue;
48
+ if (firstSelector === ":root" || firstSelector.startsWith("._")) {
49
+ for (let i2 = 0; i2 < rules.length; i2++) {
50
+ const rule = rules.item(i2);
51
+ if (!(rule instanceof CSSStyleRule))
52
+ continue;
53
+ const identifier = rule.selectorText.slice(1);
54
+ if (!allSelectors[identifier]) {
55
+ allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule.cssText : true;
56
+ if (identifier.startsWith("_transform")) {
57
+ addTransform(identifier, rule.cssText, rule);
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ hasInsertedSinceUpdate = false;
64
+ }
65
+ __name(updateInserted, "updateInserted");
66
+ updateInserted();
67
+ const sheet = isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
68
+ function updateInsertedCache(identifier, rule) {
69
+ if (insertedSelectors[identifier])
70
+ return;
71
+ insertedSelectors[identifier] = rule;
72
+ if (identifier.startsWith("_transform")) {
73
+ addTransform(identifier, rule);
74
+ }
75
+ }
76
+ __name(updateInsertedCache, "updateInsertedCache");
77
+ function insertStyleRule(identifier, rule) {
78
+ if (allSelectors[identifier])
79
+ return;
80
+ hasInsertedSinceUpdate = true;
81
+ updateInsertedCache(identifier, rule);
82
+ sheet == null ? void 0 : sheet.insertRule(rule, sheet.cssRules.length);
83
+ }
84
+ __name(insertStyleRule, "insertStyleRule");
85
+ export {
86
+ getAllSelectors,
87
+ getAllTransforms,
88
+ getInsertedRules,
89
+ insertStyleRule,
90
+ insertedTransforms,
91
+ updateInserted,
92
+ updateInsertedCache
93
+ };
94
+ //# sourceMappingURL=insertStyleRule.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/helpers/insertStyleRule.tsx"],
4
+ "sourcesContent": ["// this needs to check if its inserted already? 99% of the time it is\n// this should avoid re-inserts, but need to test the perf trade-offs\n// i tested with the site itself and the initial insert was trivial\n\nconst allSelectors = {}\nconst insertedSelectors = {}\nexport const insertedTransforms = {}\n\nexport const getAllSelectors = () => allSelectors\nexport const getInsertedRules = () => Object.values(insertedSelectors)\nexport const getAllTransforms = () => insertedTransforms\n\n// keep transforms in map for merging later\nfunction addTransform(identifier: string, css: string, rule?: CSSRule) {\n const s = css.indexOf('transform:')\n if (s === -1) {\n if (process.env.NODE_ENV === 'development') {\n console.groupCollapsed(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`)\n console.log('rule:', rule)\n console.trace()\n console.groupEnd()\n } else {\n console.error(`Missing transform`, identifier, css, rule)\n }\n return\n }\n const startI = s + 'transform:'.length\n const endI = css.indexOf(';')\n const value = css.slice(startI, endI)\n insertedTransforms[identifier] = value\n}\n\nconst isClient = typeof document !== 'undefined'\n\n// gets existing ones (client side)\n// takes ~0.1ms for a fairly large page\n// used now for three things:\n// 1. debugging at dev time\n// 2. avoid duplicate insert styles at runtime\n// 3. used now for merging transforms atomically\nlet hasInsertedSinceUpdate = true\n\nexport function updateInserted() {\n if (!isClient) return\n if (!hasInsertedSinceUpdate) {\n console.warn('hasnt inserted since')\n return\n }\n const sheets = document.styleSheets\n if (!sheets) return\n for (let i = 0; i < sheets.length; i++) {\n const rules = sheets[i].cssRules\n const firstRule = rules[0]\n if (!(firstRule instanceof CSSStyleRule)) continue\n const firstSelector = firstRule.selectorText\n if (!firstSelector) continue\n if (firstSelector === ':root' || firstSelector.startsWith('._')) {\n for (let i = 0; i < rules.length; i++) {\n const rule = rules.item(i)\n if (!(rule instanceof CSSStyleRule)) continue\n const identifier = rule.selectorText.slice(1)\n if (!allSelectors[identifier]) {\n allSelectors[identifier] = process.env.NODE_ENV === 'development' ? rule.cssText : true\n if (identifier.startsWith('_transform')) {\n addTransform(identifier, rule.cssText, rule)\n }\n }\n }\n }\n }\n hasInsertedSinceUpdate = false\n}\n\nupdateInserted()\n\nconst sheet = isClient ? document.head.appendChild(document.createElement('style')).sheet : null\n\nexport function updateInsertedCache(identifier: string, rule: string) {\n if (insertedSelectors[identifier]) return\n insertedSelectors[identifier] = rule\n if (identifier.startsWith('_transform')) {\n addTransform(identifier, rule)\n }\n}\n\nexport function insertStyleRule(identifier: string, rule: string) {\n if (allSelectors[identifier]) return\n hasInsertedSinceUpdate = true\n updateInsertedCache(identifier, rule)\n sheet?.insertRule(rule, sheet.cssRules.length)\n}\n"],
5
+ "mappings": ";;AAIA,MAAM,eAAe,CAAC;AACtB,MAAM,oBAAoB,CAAC;AACpB,MAAM,qBAAqB,CAAC;AAE5B,MAAM,kBAAkB,6BAAM,cAAN;AACxB,MAAM,mBAAmB,6BAAM,OAAO,OAAO,iBAAiB,GAArC;AACzB,MAAM,mBAAmB,6BAAM,oBAAN;AAGhC,sBAAsB,YAAoB,KAAa,MAAgB;AACrE,QAAM,IAAI,IAAI,QAAQ,YAAY;AAClC,MAAI,MAAM,IAAI;AACZ,QAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,cAAQ,eAAe,0DAAqD,YAAY;AACxF,cAAQ,IAAI,SAAS,IAAI;AACzB,cAAQ,MAAM;AACd,cAAQ,SAAS;AAAA,IACnB,OAAO;AACL,cAAQ,MAAM,qBAAqB,YAAY,KAAK,IAAI;AAAA,IAC1D;AACA;AAAA,EACF;AACA,QAAM,SAAS,IAAI,aAAa;AAChC,QAAM,OAAO,IAAI,QAAQ,GAAG;AAC5B,QAAM,QAAQ,IAAI,MAAM,QAAQ,IAAI;AACpC,qBAAmB,cAAc;AACnC;AAjBS;AAmBT,MAAM,WAAW,OAAO,aAAa;AAQrC,IAAI,yBAAyB;AAEtB,0BAA0B;AAC/B,MAAI,CAAC;AAAU;AACf,MAAI,CAAC,wBAAwB;AAC3B,YAAQ,KAAK,sBAAsB;AACnC;AAAA,EACF;AACA,QAAM,SAAS,SAAS;AACxB,MAAI,CAAC;AAAQ;AACb,WAAS,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;AACtC,UAAM,QAAQ,OAAO,GAAG;AACxB,UAAM,YAAY,MAAM;AACxB,QAAI,CAAE,sBAAqB;AAAe;AAC1C,UAAM,gBAAgB,UAAU;AAChC,QAAI,CAAC;AAAe;AACpB,QAAI,kBAAkB,WAAW,cAAc,WAAW,IAAI,GAAG;AAC/D,eAAS,KAAI,GAAG,KAAI,MAAM,QAAQ,MAAK;AACrC,cAAM,OAAO,MAAM,KAAK,EAAC;AACzB,YAAI,CAAE,iBAAgB;AAAe;AACrC,cAAM,aAAa,KAAK,aAAa,MAAM,CAAC;AAC5C,YAAI,CAAC,aAAa,aAAa;AAC7B,uBAAa,cAAc,QAAQ,IAAI,aAAa,gBAAgB,KAAK,UAAU;AACnF,cAAI,WAAW,WAAW,YAAY,GAAG;AACvC,yBAAa,YAAY,KAAK,SAAS,IAAI;AAAA,UAC7C;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,2BAAyB;AAC3B;AA7BgB;AA+BhB,eAAe;AAEf,MAAM,QAAQ,WAAW,SAAS,KAAK,YAAY,SAAS,cAAc,OAAO,CAAC,EAAE,QAAQ;AAErF,6BAA6B,YAAoB,MAAc;AACpE,MAAI,kBAAkB;AAAa;AACnC,oBAAkB,cAAc;AAChC,MAAI,WAAW,WAAW,YAAY,GAAG;AACvC,iBAAa,YAAY,IAAI;AAAA,EAC/B;AACF;AANgB;AAQT,yBAAyB,YAAoB,MAAc;AAChE,MAAI,aAAa;AAAa;AAC9B,2BAAyB;AACzB,sBAAoB,YAAY,IAAI;AACpC,iCAAO,WAAW,MAAM,MAAM,SAAS;AACzC;AALgB;",
6
+ "names": []
7
+ }
File without changes
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/helpers/isObj.ts"],
3
+ "sources": ["../../../src/helpers/isObj.ts"],
4
4
  "sourcesContent": ["export const isObj = (x: any) => x && !Array.isArray(x) && typeof x === 'object'\n"],
5
- "mappings": ";;AAAO,MAAM,QAAQ,wBAAC,MAAW,KAAK,CAAC,MAAM,QAAQ,MAAM,OAAO,MAAM,UAAnD;",
5
+ "mappings": ";;AAAO,MAAM,QAAQ,wBAAC,MAAW,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,OAAO,MAAM,UAAnD;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,8 @@ var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
  import { isValidElement } from "react";
4
4
  const isTamaguiElement = /* @__PURE__ */ __name((child) => {
5
- return isValidElement(child) && !!child.type["staticConfig"]?.parsed;
5
+ var _a;
6
+ return isValidElement(child) && !!((_a = child.type["staticConfig"]) == null ? void 0 : _a.parsed);
6
7
  }, "isTamaguiElement");
7
8
  export {
8
9
  isTamaguiElement
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/helpers/isTamaguiElement.tsx"],
3
+ "sources": ["../../../src/helpers/isTamaguiElement.tsx"],
4
4
  "sourcesContent": ["import React, { isValidElement } from 'react'\n\nexport const isTamaguiElement = (child: any): child is React.ReactElement => {\n return isValidElement(child) && !!child.type['staticConfig']?.parsed\n}\n"],
5
- "mappings": ";;AAAA;AAEO,MAAM,mBAAmB,wBAAC,UAA4C;AAC3E,SAAO,eAAe,UAAU,CAAC,CAAC,MAAM,KAAK,iBAAiB;AAAA,GADhC;",
5
+ "mappings": ";;AAAA;AAEO,MAAM,mBAAmB,wBAAC,UAA4C;AAF7E;AAGE,SAAO,eAAe,KAAK,KAAK,CAAC,CAAC,aAAM,KAAK,oBAAX,mBAA4B;AAChE,GAFgC;",
6
6
  "names": []
7
7
  }