@tamagui/core 1.0.0-beta.9 → 1.0.1-beta.101

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 (582) hide show
  1. package/dist/cjs/Pressability.js +28 -0
  2. package/dist/cjs/Pressability.js.map +7 -0
  3. package/dist/cjs/Pressability.native.js +28 -0
  4. package/dist/cjs/Pressability.native.js.map +7 -0
  5. package/dist/cjs/Tamagui.js +6 -8
  6. package/dist/cjs/Tamagui.js.map +2 -2
  7. package/dist/cjs/ThemeManager.js +25 -32
  8. package/dist/cjs/ThemeManager.js.map +2 -2
  9. package/dist/cjs/conf.js +20 -15
  10. package/dist/cjs/conf.js.map +2 -2
  11. package/dist/cjs/constants/constants.js +1 -1
  12. package/dist/cjs/constants/constants.js.map +1 -1
  13. package/dist/cjs/constants/platform.js +9 -9
  14. package/dist/cjs/constants/platform.js.map +2 -2
  15. package/dist/cjs/constants/rnw.js +5 -19
  16. package/dist/cjs/constants/rnw.js.map +2 -2
  17. package/dist/cjs/constants/rnw.native.js +28 -0
  18. package/dist/cjs/constants/rnw.native.js.map +7 -0
  19. package/dist/cjs/createComponent.js +612 -295
  20. package/dist/cjs/createComponent.js.map +2 -2
  21. package/dist/cjs/createFont.js +2 -3
  22. package/dist/cjs/createFont.js.map +2 -2
  23. package/dist/cjs/createShorthands.js +0 -2
  24. package/dist/cjs/createShorthands.js.map +1 -1
  25. package/dist/cjs/createTamagui.js +147 -100
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +3 -2
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +4 -21
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +39 -14
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/createVariables.js +55 -0
  34. package/dist/cjs/createVariables.js.map +7 -0
  35. package/dist/cjs/helpers/areEqualSets.js +2 -3
  36. package/dist/cjs/helpers/areEqualSets.js.map +1 -1
  37. package/dist/cjs/helpers/assignNativePropsToWeb.js +187 -0
  38. package/dist/cjs/helpers/assignNativePropsToWeb.js.map +7 -0
  39. package/dist/cjs/helpers/assignNativePropsToWeb.native.js +29 -0
  40. package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +7 -0
  41. package/dist/cjs/helpers/calc.js +70 -0
  42. package/dist/cjs/helpers/calc.js.map +7 -0
  43. package/dist/cjs/helpers/createMediaStyle.js +4 -4
  44. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  45. package/dist/cjs/helpers/createPropMapper.js +133 -113
  46. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  47. package/dist/cjs/helpers/createShallowUpdate.js +3 -4
  48. package/dist/cjs/helpers/createShallowUpdate.js.map +2 -2
  49. package/dist/cjs/helpers/createTamaguiProvider.js +16 -18
  50. package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
  51. package/dist/cjs/helpers/cssHash.js +50 -0
  52. package/dist/cjs/helpers/cssHash.js.map +7 -0
  53. package/dist/cjs/helpers/expandStyle.js +111 -0
  54. package/dist/cjs/helpers/expandStyle.js.map +7 -0
  55. package/dist/cjs/helpers/expandStyles.js +126 -0
  56. package/dist/cjs/helpers/expandStyles.js.map +7 -0
  57. package/dist/cjs/helpers/extendStaticConfig.js +25 -17
  58. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  59. package/dist/cjs/helpers/fixNativeShadow.js +2 -3
  60. package/dist/cjs/helpers/fixNativeShadow.js.map +1 -1
  61. package/dist/cjs/helpers/getExpandedShorthands.js +0 -2
  62. package/dist/cjs/helpers/getExpandedShorthands.js.map +1 -1
  63. package/dist/cjs/helpers/getFont.js +61 -0
  64. package/dist/cjs/helpers/getFont.js.map +7 -0
  65. package/dist/cjs/helpers/getSize.js +17 -9
  66. package/dist/cjs/helpers/getSize.js.map +2 -2
  67. package/dist/cjs/helpers/getSplitStyles.js +268 -168
  68. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  69. package/dist/cjs/helpers/getStackSize.js +45 -0
  70. package/dist/cjs/helpers/getStackSize.js.map +7 -0
  71. package/dist/cjs/helpers/getStylesAtomic.js +178 -118
  72. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  73. package/dist/cjs/helpers/getStylesAtomic.native.js +0 -2
  74. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  75. package/dist/cjs/helpers/getTextSize.js +3 -4
  76. package/dist/cjs/helpers/getTextSize.js.map +2 -2
  77. package/dist/cjs/helpers/getVariantExtras.js +46 -0
  78. package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
  79. package/dist/cjs/helpers/insertStyleRule.js +55 -37
  80. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  81. package/dist/cjs/helpers/isObj.js +1 -2
  82. package/dist/cjs/helpers/isObj.js.map +1 -1
  83. package/dist/cjs/helpers/isTamaguiComponent.js +36 -0
  84. package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
  85. package/dist/cjs/helpers/isTamaguiElement.js +4 -5
  86. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  87. package/dist/cjs/helpers/matchMedia.js +2 -3
  88. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  89. package/dist/cjs/helpers/matchMedia.native.js +1 -2
  90. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  91. package/dist/cjs/helpers/mergeProps.js +49 -0
  92. package/dist/cjs/helpers/mergeProps.js.map +7 -0
  93. package/dist/cjs/helpers/mergeTransform.js +41 -0
  94. package/dist/cjs/helpers/mergeTransform.js.map +7 -0
  95. package/dist/cjs/helpers/nativeGestureHandler.native.js +18 -0
  96. package/dist/cjs/helpers/nativeGestureHandler.native.js.map +7 -0
  97. package/dist/cjs/helpers/normalizeColor.js +76 -0
  98. package/dist/cjs/helpers/normalizeColor.js.map +7 -0
  99. package/dist/cjs/helpers/normalizeValueWithProperty.js +90 -0
  100. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
  101. package/dist/cjs/helpers/proxyThemeVariables.js +1 -3
  102. package/dist/cjs/helpers/proxyThemeVariables.js.map +1 -1
  103. package/dist/cjs/helpers/pseudoDescriptors.js +41 -0
  104. package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
  105. package/dist/cjs/helpers/registerCSSVariable.js +40 -0
  106. package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
  107. package/dist/cjs/helpers/themeable.js +3 -5
  108. package/dist/cjs/helpers/themeable.js.map +2 -2
  109. package/dist/cjs/helpers/validate.js +39 -37
  110. package/dist/cjs/helpers/validate.js.map +2 -2
  111. package/dist/cjs/helpers/withStaticProperties.js +2 -3
  112. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  113. package/dist/cjs/helpers/wrapThemeManagerContext.js +0 -2
  114. package/dist/cjs/helpers/wrapThemeManagerContext.js.map +2 -2
  115. package/dist/cjs/hooks/useConstant.js +0 -2
  116. package/dist/cjs/hooks/useConstant.js.map +1 -1
  117. package/dist/cjs/hooks/useEvent.js +34 -0
  118. package/dist/cjs/hooks/useEvent.js.map +7 -0
  119. package/dist/cjs/hooks/useFeatures.js +22 -20
  120. package/dist/cjs/hooks/useFeatures.js.map +2 -2
  121. package/dist/cjs/hooks/useGet.js +39 -0
  122. package/dist/cjs/hooks/useGet.js.map +7 -0
  123. package/dist/cjs/hooks/useId.js +5 -6
  124. package/dist/cjs/hooks/useId.js.map +2 -2
  125. package/dist/cjs/hooks/useIsMounted.js +2 -4
  126. package/dist/cjs/hooks/useIsMounted.js.map +2 -2
  127. package/dist/cjs/hooks/useIsTouchDevice.js +3 -4
  128. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  129. package/dist/cjs/hooks/useMedia.js +11 -15
  130. package/dist/cjs/hooks/useMedia.js.map +1 -1
  131. package/dist/cjs/hooks/usePressable.js +2 -3
  132. package/dist/cjs/hooks/usePressable.js.map +1 -1
  133. package/dist/cjs/hooks/usePrevious.js +1 -0
  134. package/dist/cjs/hooks/usePrevious.js.map +7 -0
  135. package/dist/cjs/hooks/useTheme.js +21 -33
  136. package/dist/cjs/hooks/useTheme.js.map +2 -2
  137. package/dist/cjs/hooks/useUnmountEffect.js +0 -2
  138. package/dist/cjs/hooks/useUnmountEffect.js.map +1 -1
  139. package/dist/cjs/index.js +23 -12
  140. package/dist/cjs/index.js.map +2 -2
  141. package/dist/cjs/insertFont.js +89 -0
  142. package/dist/cjs/insertFont.js.map +7 -0
  143. package/dist/cjs/static.js +3 -1
  144. package/dist/cjs/static.js.map +2 -2
  145. package/dist/cjs/styled.js +0 -2
  146. package/dist/cjs/styled.js.map +2 -2
  147. package/dist/cjs/types-rnw.js.map +1 -1
  148. package/dist/cjs/types.js.map +1 -1
  149. package/dist/cjs/views/Slot.js +40 -26
  150. package/dist/cjs/views/Slot.js.map +2 -2
  151. package/dist/cjs/views/Text.js +11 -15
  152. package/dist/cjs/views/Text.js.map +2 -2
  153. package/dist/cjs/views/TextAncestorContext.js +4 -6
  154. package/dist/cjs/views/TextAncestorContext.js.map +2 -2
  155. package/dist/cjs/views/Theme.js +6 -9
  156. package/dist/cjs/views/Theme.js.map +2 -2
  157. package/dist/cjs/views/ThemeInverse.js +7 -5
  158. package/dist/cjs/views/ThemeInverse.js.map +2 -2
  159. package/dist/cjs/views/ThemeProvider.js +6 -6
  160. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  161. package/dist/cjs/views/ThemeReset.js +3 -3
  162. package/dist/cjs/views/ThemeReset.js.map +2 -2
  163. package/dist/esm/Pressability.js +5 -0
  164. package/dist/esm/Pressability.js.map +7 -0
  165. package/dist/esm/Pressability.native.js +5 -0
  166. package/dist/esm/Pressability.native.js.map +7 -0
  167. package/dist/esm/Tamagui.js +5 -8
  168. package/dist/esm/Tamagui.js.map +2 -2
  169. package/dist/esm/ThemeManager.js +25 -33
  170. package/dist/esm/ThemeManager.js.map +2 -2
  171. package/dist/esm/conf.js +18 -15
  172. package/dist/esm/conf.js.map +2 -2
  173. package/dist/esm/constants/constants.js +24 -9
  174. package/dist/esm/constants/constants.js.map +2 -2
  175. package/dist/esm/constants/platform.js +7 -7
  176. package/dist/esm/constants/platform.js.map +2 -2
  177. package/dist/esm/constants/rnw.js +2 -20
  178. package/dist/esm/constants/rnw.js.map +2 -2
  179. package/dist/esm/constants/rnw.native.js +5 -0
  180. package/dist/esm/constants/rnw.native.js.map +7 -0
  181. package/dist/esm/createComponent.js +705 -331
  182. package/dist/esm/createComponent.js.map +2 -2
  183. package/dist/esm/createFont.js +2 -4
  184. package/dist/esm/createFont.js.map +2 -2
  185. package/dist/esm/createShorthands.js +0 -3
  186. package/dist/esm/createShorthands.js.map +1 -1
  187. package/dist/esm/createTamagui.js +172 -105
  188. package/dist/esm/createTamagui.js.map +2 -2
  189. package/dist/esm/createTheme.js +3 -3
  190. package/dist/esm/createTheme.js.map +2 -2
  191. package/dist/esm/createTokens.js +3 -20
  192. package/dist/esm/createTokens.js.map +2 -2
  193. package/dist/esm/createVariable.js +38 -14
  194. package/dist/esm/createVariable.js.map +2 -2
  195. package/dist/esm/createVariables.js +32 -0
  196. package/dist/esm/createVariables.js.map +7 -0
  197. package/dist/esm/helpers/areEqualSets.js +2 -4
  198. package/dist/esm/helpers/areEqualSets.js.map +1 -1
  199. package/dist/esm/helpers/assignNativePropsToWeb.js +164 -0
  200. package/dist/esm/helpers/assignNativePropsToWeb.js.map +7 -0
  201. package/dist/esm/helpers/assignNativePropsToWeb.native.js +6 -0
  202. package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +7 -0
  203. package/dist/esm/helpers/calc.js +47 -0
  204. package/dist/esm/helpers/calc.js.map +7 -0
  205. package/dist/esm/helpers/createMediaStyle.js +4 -5
  206. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  207. package/dist/esm/helpers/createPropMapper.js +131 -114
  208. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  209. package/dist/esm/helpers/createShallowUpdate.js +19 -5
  210. package/dist/esm/helpers/createShallowUpdate.js.map +2 -2
  211. package/dist/esm/helpers/createTamaguiProvider.js +46 -19
  212. package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
  213. package/dist/esm/helpers/cssHash.js +27 -0
  214. package/dist/esm/helpers/cssHash.js.map +7 -0
  215. package/dist/esm/helpers/expandStyle.js +90 -0
  216. package/dist/esm/helpers/expandStyle.js.map +7 -0
  217. package/dist/esm/helpers/expandStyles.js +103 -0
  218. package/dist/esm/helpers/expandStyles.js.map +7 -0
  219. package/dist/esm/helpers/extendStaticConfig.js +46 -40
  220. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  221. package/dist/esm/helpers/fixNativeShadow.js +2 -4
  222. package/dist/esm/helpers/fixNativeShadow.js.map +1 -1
  223. package/dist/esm/helpers/getExpandedShorthands.js +0 -3
  224. package/dist/esm/helpers/getExpandedShorthands.js.map +1 -1
  225. package/dist/{jsx/helpers/getTextSize.js → esm/helpers/getFont.js} +12 -7
  226. package/dist/esm/helpers/getFont.js.map +7 -0
  227. package/dist/esm/helpers/getSize.js +15 -9
  228. package/dist/esm/helpers/getSize.js.map +2 -2
  229. package/dist/esm/helpers/getSplitStyles.js +282 -176
  230. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  231. package/dist/esm/helpers/getStackSize.js +22 -0
  232. package/dist/esm/helpers/getStackSize.js.map +7 -0
  233. package/dist/esm/helpers/getStylesAtomic.js +188 -110
  234. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  235. package/dist/esm/helpers/getStylesAtomic.native.js +0 -3
  236. package/dist/esm/helpers/getStylesAtomic.native.js.map +1 -1
  237. package/dist/esm/helpers/getTextSize.js +3 -5
  238. package/dist/esm/helpers/getTextSize.js.map +2 -2
  239. package/dist/esm/helpers/getVariantExtras.js +23 -0
  240. package/dist/esm/helpers/getVariantExtras.js.map +7 -0
  241. package/dist/esm/helpers/insertStyleRule.js +55 -38
  242. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  243. package/dist/esm/helpers/isObj.js +1 -3
  244. package/dist/esm/helpers/isObj.js.map +1 -1
  245. package/dist/esm/helpers/isTamaguiComponent.js +13 -0
  246. package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
  247. package/dist/esm/helpers/isTamaguiElement.js +4 -6
  248. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  249. package/dist/esm/helpers/matchMedia.js +2 -4
  250. package/dist/esm/helpers/matchMedia.js.map +1 -1
  251. package/dist/esm/helpers/matchMedia.native.js +1 -3
  252. package/dist/esm/helpers/matchMedia.native.js.map +1 -1
  253. package/dist/esm/helpers/mergeProps.js +26 -0
  254. package/dist/esm/helpers/mergeProps.js.map +7 -0
  255. package/dist/esm/helpers/mergeTransform.js +17 -0
  256. package/dist/esm/helpers/mergeTransform.js.map +7 -0
  257. package/dist/esm/helpers/nativeGestureHandler.native.js +2 -0
  258. package/dist/esm/helpers/nativeGestureHandler.native.js.map +7 -0
  259. package/dist/esm/helpers/normalizeColor.js +49 -0
  260. package/dist/esm/helpers/normalizeColor.js.map +7 -0
  261. package/dist/esm/helpers/normalizeValueWithProperty.js +67 -0
  262. package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
  263. package/dist/esm/helpers/proxyThemeVariables.js +1 -4
  264. package/dist/esm/helpers/proxyThemeVariables.js.map +1 -1
  265. package/dist/esm/helpers/pseudoDescriptors.js +18 -0
  266. package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
  267. package/dist/esm/helpers/registerCSSVariable.js +15 -0
  268. package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
  269. package/dist/esm/helpers/themeable.js +34 -5
  270. package/dist/esm/helpers/themeable.js.map +2 -2
  271. package/dist/esm/helpers/validate.js +42 -19
  272. package/dist/esm/helpers/validate.js.map +2 -2
  273. package/dist/esm/helpers/withStaticProperties.js +2 -4
  274. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  275. package/dist/esm/helpers/wrapThemeManagerContext.js +0 -3
  276. package/dist/esm/helpers/wrapThemeManagerContext.js.map +2 -2
  277. package/dist/esm/hooks/useConstant.js +0 -3
  278. package/dist/esm/hooks/useConstant.js.map +1 -1
  279. package/dist/esm/hooks/useEvent.js +11 -0
  280. package/dist/esm/hooks/useEvent.js.map +7 -0
  281. package/dist/esm/hooks/useFeatures.js +59 -26
  282. package/dist/esm/hooks/useFeatures.js.map +2 -2
  283. package/dist/esm/hooks/useGet.js +16 -0
  284. package/dist/esm/hooks/useGet.js.map +7 -0
  285. package/dist/esm/hooks/useId.js +8 -11
  286. package/dist/esm/hooks/useId.js.map +2 -2
  287. package/dist/esm/hooks/useIsMounted.js +1 -4
  288. package/dist/esm/hooks/useIsMounted.js.map +2 -2
  289. package/dist/esm/hooks/useIsTouchDevice.js +4 -6
  290. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  291. package/dist/esm/hooks/useMedia.js +28 -21
  292. package/dist/esm/hooks/useMedia.js.map +1 -1
  293. package/dist/esm/hooks/usePressable.js +18 -5
  294. package/dist/esm/hooks/usePressable.js.map +1 -1
  295. package/dist/esm/hooks/usePrevious.js +1 -0
  296. package/dist/esm/hooks/usePrevious.js.map +7 -0
  297. package/dist/esm/hooks/useTheme.js +45 -41
  298. package/dist/esm/hooks/useTheme.js.map +2 -2
  299. package/dist/esm/hooks/useUnmountEffect.js +0 -3
  300. package/dist/esm/hooks/useUnmountEffect.js.map +1 -1
  301. package/dist/esm/index.js +20 -9
  302. package/dist/esm/index.js.map +2 -2
  303. package/dist/esm/insertFont.js +64 -0
  304. package/dist/esm/insertFont.js.map +7 -0
  305. package/dist/esm/static.js +3 -1
  306. package/dist/esm/static.js.map +2 -2
  307. package/dist/esm/styled.js +37 -11
  308. package/dist/esm/styled.js.map +2 -2
  309. package/dist/esm/views/Slot.js +74 -34
  310. package/dist/esm/views/Slot.js.map +2 -2
  311. package/dist/esm/views/Stack.js +21 -3
  312. package/dist/esm/views/Stack.js.map +1 -1
  313. package/dist/esm/views/Text.js +27 -19
  314. package/dist/esm/views/Text.js.map +2 -2
  315. package/dist/esm/views/TextAncestorContext.js +4 -7
  316. package/dist/esm/views/TextAncestorContext.js.map +2 -2
  317. package/dist/esm/views/Theme.js +6 -10
  318. package/dist/esm/views/Theme.js.map +2 -2
  319. package/dist/esm/views/ThemeInverse.js +8 -7
  320. package/dist/esm/views/ThemeInverse.js.map +2 -2
  321. package/dist/esm/views/ThemeProvider.js +6 -7
  322. package/dist/esm/views/ThemeProvider.js.map +2 -2
  323. package/dist/esm/views/ThemeReset.js +3 -4
  324. package/dist/esm/views/ThemeReset.js.map +2 -2
  325. package/package.json +19 -11
  326. package/reset.css +41 -0
  327. package/types/Pressability.d.ts +2 -0
  328. package/types/Pressability.d.ts.map +1 -0
  329. package/types/Pressability.native.d.ts +2 -0
  330. package/types/Pressability.native.d.ts.map +1 -0
  331. package/types/Tamagui.d.ts +4 -6
  332. package/types/Tamagui.d.ts.map +1 -1
  333. package/types/ThemeContext.d.ts +0 -0
  334. package/types/ThemeContext.d.ts.map +0 -0
  335. package/types/ThemeManager.d.ts +10 -7
  336. package/types/ThemeManager.d.ts.map +1 -1
  337. package/types/conf.d.ts +3 -4
  338. package/types/conf.d.ts.map +1 -1
  339. package/types/constants/constants.d.ts +1 -1
  340. package/types/constants/constants.d.ts.map +1 -1
  341. package/types/constants/platform.d.ts +4 -4
  342. package/types/constants/platform.d.ts.map +1 -1
  343. package/types/constants/rnw.d.ts +1 -1
  344. package/types/constants/rnw.d.ts.map +1 -1
  345. package/types/constants/rnw.native.d.ts +2 -0
  346. package/types/constants/rnw.native.d.ts.map +1 -0
  347. package/types/contexts/ButtonInsideButtonContext.d.ts +0 -0
  348. package/types/contexts/ButtonInsideButtonContext.d.ts.map +0 -0
  349. package/types/createComponent.d.ts +40 -15
  350. package/types/createComponent.d.ts.map +1 -1
  351. package/types/createFont.d.ts +0 -0
  352. package/types/createFont.d.ts.map +0 -0
  353. package/types/createShorthands.d.ts +0 -0
  354. package/types/createShorthands.d.ts.map +0 -0
  355. package/types/createTamagui.d.ts +10 -2
  356. package/types/createTamagui.d.ts.map +1 -1
  357. package/types/createTheme.d.ts +1 -1
  358. package/types/createTheme.d.ts.map +1 -1
  359. package/types/createTokens.d.ts +0 -1
  360. package/types/createTokens.d.ts.map +1 -1
  361. package/types/createVariable.d.ts +16 -11
  362. package/types/createVariable.d.ts.map +1 -1
  363. package/types/createVariables.d.ts +10 -0
  364. package/types/createVariables.d.ts.map +1 -0
  365. package/types/defaultComponentState.d.ts +0 -0
  366. package/types/defaultComponentState.d.ts.map +0 -0
  367. package/types/helpers/RNComponents.d.ts +0 -0
  368. package/types/helpers/RNComponents.d.ts.map +0 -0
  369. package/types/helpers/areEqualSets.d.ts +0 -0
  370. package/types/helpers/areEqualSets.d.ts.map +0 -0
  371. package/types/helpers/assignNativePropsToWeb.d.ts +2 -0
  372. package/types/helpers/assignNativePropsToWeb.d.ts.map +1 -0
  373. package/types/helpers/assignNativePropsToWeb.native.d.ts +2 -0
  374. package/types/helpers/assignNativePropsToWeb.native.d.ts.map +1 -0
  375. package/types/helpers/calc.d.ts +12 -0
  376. package/types/helpers/calc.d.ts.map +1 -0
  377. package/types/helpers/createMediaStyle.d.ts +1 -1
  378. package/types/helpers/createMediaStyle.d.ts.map +1 -1
  379. package/types/helpers/createPropMapper.d.ts +4 -3
  380. package/types/helpers/createPropMapper.d.ts.map +1 -1
  381. package/types/helpers/createShallowUpdate.d.ts +1 -2
  382. package/types/helpers/createShallowUpdate.d.ts.map +1 -1
  383. package/types/helpers/createTamaguiProvider.d.ts +2 -5
  384. package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
  385. package/types/helpers/cssHash.d.ts +2 -0
  386. package/types/helpers/cssHash.d.ts.map +1 -0
  387. package/types/helpers/expandStyle.d.ts +2 -0
  388. package/types/helpers/expandStyle.d.ts.map +1 -0
  389. package/types/helpers/expandStyles.d.ts +7 -0
  390. package/types/helpers/expandStyles.d.ts.map +1 -0
  391. package/types/helpers/extendStaticConfig.d.ts +0 -0
  392. package/types/helpers/extendStaticConfig.d.ts.map +1 -1
  393. package/types/helpers/fixNativeShadow.d.ts +0 -0
  394. package/types/helpers/fixNativeShadow.d.ts.map +0 -0
  395. package/types/helpers/getExpandedShorthands.d.ts +0 -0
  396. package/types/helpers/getExpandedShorthands.d.ts.map +0 -0
  397. package/types/helpers/getFont.d.ts +3 -0
  398. package/types/helpers/getFont.d.ts.map +1 -0
  399. package/types/helpers/getSize.d.ts +3 -2
  400. package/types/helpers/getSize.d.ts.map +1 -1
  401. package/types/helpers/getSplitStyles.d.ts +10 -7
  402. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  403. package/types/helpers/getStackSize.d.ts +8 -0
  404. package/types/helpers/getStackSize.d.ts.map +1 -0
  405. package/types/helpers/getStylesAtomic.d.ts +7 -17
  406. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  407. package/types/helpers/getStylesAtomic.native.d.ts +0 -0
  408. package/types/helpers/getStylesAtomic.native.d.ts.map +0 -0
  409. package/types/helpers/getVariantExtras.d.ts +7 -0
  410. package/types/helpers/getVariantExtras.d.ts.map +1 -0
  411. package/types/helpers/insertStyleRule.d.ts +1 -1
  412. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  413. package/types/helpers/isObj.d.ts +0 -0
  414. package/types/helpers/isObj.d.ts.map +0 -0
  415. package/types/helpers/isTamaguiComponent.d.ts +5 -0
  416. package/types/helpers/isTamaguiComponent.d.ts.map +1 -0
  417. package/types/helpers/isTamaguiElement.d.ts +1 -1
  418. package/types/helpers/isTamaguiElement.d.ts.map +1 -1
  419. package/types/helpers/matchMedia.d.ts +0 -0
  420. package/types/helpers/matchMedia.d.ts.map +0 -0
  421. package/types/helpers/matchMedia.native.d.ts +0 -0
  422. package/types/helpers/matchMedia.native.d.ts.map +0 -0
  423. package/types/helpers/mergeProps.d.ts +2 -0
  424. package/types/helpers/mergeProps.d.ts.map +1 -0
  425. package/types/helpers/mergeTransform.d.ts +7 -0
  426. package/types/helpers/mergeTransform.d.ts.map +1 -0
  427. package/types/helpers/nativeGestureHandler.native.d.ts +2 -0
  428. package/types/helpers/nativeGestureHandler.native.d.ts.map +1 -0
  429. package/types/helpers/normalizeColor.d.ts +3 -0
  430. package/types/helpers/normalizeColor.d.ts.map +1 -0
  431. package/types/helpers/normalizeValueWithProperty.d.ts +2 -0
  432. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -0
  433. package/types/helpers/proxyThemeVariables.d.ts +0 -0
  434. package/types/helpers/proxyThemeVariables.d.ts.map +0 -0
  435. package/types/helpers/pseudoDescriptors.d.ts +16 -0
  436. package/types/helpers/pseudoDescriptors.d.ts.map +1 -0
  437. package/types/helpers/registerCSSVariable.d.ts +5 -0
  438. package/types/helpers/registerCSSVariable.d.ts.map +1 -0
  439. package/types/helpers/themeable.d.ts +0 -0
  440. package/types/helpers/themeable.d.ts.map +1 -1
  441. package/types/helpers/validate.d.ts +0 -0
  442. package/types/helpers/validate.d.ts.map +0 -0
  443. package/types/helpers/withStaticProperties.d.ts +0 -0
  444. package/types/helpers/withStaticProperties.d.ts.map +0 -0
  445. package/types/helpers/wrapThemeManagerContext.d.ts +0 -0
  446. package/types/helpers/wrapThemeManagerContext.d.ts.map +0 -0
  447. package/types/hooks/useConstant.d.ts +0 -0
  448. package/types/hooks/useConstant.d.ts.map +0 -0
  449. package/types/hooks/useEvent.d.ts +4 -0
  450. package/types/hooks/useEvent.d.ts.map +1 -0
  451. package/types/hooks/useFeatures.d.ts +11 -5
  452. package/types/hooks/useFeatures.d.ts.map +1 -1
  453. package/types/hooks/useGet.d.ts +2 -0
  454. package/types/hooks/useGet.d.ts.map +1 -0
  455. package/types/hooks/useId.d.ts +0 -0
  456. package/types/hooks/useId.d.ts.map +1 -1
  457. package/types/hooks/useIsMounted.d.ts +0 -0
  458. package/types/hooks/useIsMounted.d.ts.map +1 -1
  459. package/types/hooks/useIsTouchDevice.d.ts +0 -0
  460. package/types/hooks/useIsTouchDevice.d.ts.map +0 -0
  461. package/types/hooks/useMedia.d.ts +0 -0
  462. package/types/hooks/useMedia.d.ts.map +0 -0
  463. package/types/hooks/usePressable.d.ts +0 -0
  464. package/types/hooks/usePressable.d.ts.map +0 -0
  465. package/types/hooks/usePrevious.d.ts +1 -0
  466. package/types/hooks/usePrevious.d.ts.map +1 -0
  467. package/types/hooks/useTheme.d.ts +15 -6
  468. package/types/hooks/useTheme.d.ts.map +1 -1
  469. package/types/hooks/useUnmountEffect.d.ts +0 -0
  470. package/types/hooks/useUnmountEffect.d.ts.map +0 -0
  471. package/types/index.d.ts +18 -6
  472. package/types/index.d.ts.map +1 -1
  473. package/types/insertFont.d.ts +6 -0
  474. package/types/insertFont.d.ts.map +1 -0
  475. package/types/static.d.ts +3 -1
  476. package/types/static.d.ts.map +1 -1
  477. package/types/styled.d.ts +2 -2
  478. package/types/styled.d.ts.map +1 -1
  479. package/types/types-rnw.d.ts +0 -0
  480. package/types/types-rnw.d.ts.map +1 -1
  481. package/types/types.d.ts +71 -51
  482. package/types/types.d.ts.map +1 -1
  483. package/types/views/Slot.d.ts +1 -0
  484. package/types/views/Slot.d.ts.map +1 -1
  485. package/types/views/Stack.d.ts +0 -0
  486. package/types/views/Stack.d.ts.map +0 -0
  487. package/types/views/Text.d.ts +0 -0
  488. package/types/views/Text.d.ts.map +1 -1
  489. package/types/views/TextAncestorContext.d.ts +0 -0
  490. package/types/views/TextAncestorContext.d.ts.map +1 -1
  491. package/types/views/Theme.d.ts +1 -9
  492. package/types/views/Theme.d.ts.map +1 -1
  493. package/types/views/ThemeInverse.d.ts +0 -1
  494. package/types/views/ThemeInverse.d.ts.map +1 -1
  495. package/types/views/ThemeProvider.d.ts +2 -0
  496. package/types/views/ThemeProvider.d.ts.map +1 -1
  497. package/types/views/ThemeReset.d.ts +0 -0
  498. package/types/views/ThemeReset.d.ts.map +0 -0
  499. package/dist/cjs/helpers/addStylesUsingClassname.js +0 -87
  500. package/dist/cjs/helpers/addStylesUsingClassname.js.map +0 -7
  501. package/dist/cjs/helpers/fixNativeShadow.native.js +0 -63
  502. package/dist/cjs/helpers/fixNativeShadow.native.js.map +0 -7
  503. package/dist/cjs/helpers/getButtonSize.js +0 -45
  504. package/dist/cjs/helpers/getButtonSize.js.map +0 -7
  505. package/dist/esm/helpers/addStylesUsingClassname.js +0 -64
  506. package/dist/esm/helpers/addStylesUsingClassname.js.map +0 -7
  507. package/dist/esm/helpers/fixNativeShadow.native.js +0 -41
  508. package/dist/esm/helpers/fixNativeShadow.native.js.map +0 -7
  509. package/dist/esm/helpers/getButtonSize.js +0 -24
  510. package/dist/esm/helpers/getButtonSize.js.map +0 -7
  511. package/dist/jsx/Tamagui.js +0 -41
  512. package/dist/jsx/ThemeContext.js +0 -5
  513. package/dist/jsx/ThemeManager.js +0 -186
  514. package/dist/jsx/conf.js +0 -35
  515. package/dist/jsx/constants/constants.js +0 -17
  516. package/dist/jsx/constants/platform.js +0 -25
  517. package/dist/jsx/constants/rnw.js +0 -23
  518. package/dist/jsx/contexts/ButtonInsideButtonContext.js +0 -5
  519. package/dist/jsx/createComponent.js +0 -617
  520. package/dist/jsx/createFont.js +0 -27
  521. package/dist/jsx/createShorthands.js +0 -9
  522. package/dist/jsx/createTamagui.js +0 -201
  523. package/dist/jsx/createTheme.js +0 -6
  524. package/dist/jsx/createTokens.js +0 -28
  525. package/dist/jsx/createVariable.js +0 -48
  526. package/dist/jsx/defaultComponentState.js +0 -0
  527. package/dist/jsx/helpers/RNComponents.js +0 -11
  528. package/dist/jsx/helpers/addStylesUsingClassname.js +0 -63
  529. package/dist/jsx/helpers/areEqualSets.js +0 -15
  530. package/dist/jsx/helpers/createMediaStyle.js +0 -30
  531. package/dist/jsx/helpers/createPropMapper.js +0 -237
  532. package/dist/jsx/helpers/createShallowUpdate.js +0 -18
  533. package/dist/jsx/helpers/createTamaguiProvider.js +0 -34
  534. package/dist/jsx/helpers/extendStaticConfig.js +0 -61
  535. package/dist/jsx/helpers/fixNativeShadow.js +0 -7
  536. package/dist/jsx/helpers/fixNativeShadow.native.js +0 -40
  537. package/dist/jsx/helpers/getButtonSize.js +0 -23
  538. package/dist/jsx/helpers/getExpandedShorthands.js +0 -18
  539. package/dist/jsx/helpers/getSize.js +0 -12
  540. package/dist/jsx/helpers/getSplitStyles.js +0 -302
  541. package/dist/jsx/helpers/getStylesAtomic.js +0 -130
  542. package/dist/jsx/helpers/getStylesAtomic.native.js +0 -9
  543. package/dist/jsx/helpers/insertStyleRule.js +0 -94
  544. package/dist/jsx/helpers/isObj.js +0 -6
  545. package/dist/jsx/helpers/isTamaguiElement.js +0 -10
  546. package/dist/jsx/helpers/matchMedia.js +0 -17
  547. package/dist/jsx/helpers/matchMedia.native.js +0 -8
  548. package/dist/jsx/helpers/proxyThemeVariables.js +0 -17
  549. package/dist/jsx/helpers/themeable.js +0 -24
  550. package/dist/jsx/helpers/validate.js +0 -75
  551. package/dist/jsx/helpers/withStaticProperties.js +0 -9
  552. package/dist/jsx/helpers/wrapThemeManagerContext.js +0 -10
  553. package/dist/jsx/hooks/useConstant.js +0 -14
  554. package/dist/jsx/hooks/useFeatures.js +0 -167
  555. package/dist/jsx/hooks/useId.js +0 -34
  556. package/dist/jsx/hooks/useIsMounted.js +0 -18
  557. package/dist/jsx/hooks/useIsTouchDevice.js +0 -16
  558. package/dist/jsx/hooks/useMedia.js +0 -158
  559. package/dist/jsx/hooks/usePressable.js +0 -13
  560. package/dist/jsx/hooks/useTheme.js +0 -177
  561. package/dist/jsx/hooks/useUnmountEffect.js +0 -10
  562. package/dist/jsx/index.js +0 -54
  563. package/dist/jsx/static.js +0 -16
  564. package/dist/jsx/styled.js +0 -47
  565. package/dist/jsx/types-rnw.js +0 -0
  566. package/dist/jsx/types.js +0 -0
  567. package/dist/jsx/views/Slot.js +0 -56
  568. package/dist/jsx/views/Stack.js +0 -12
  569. package/dist/jsx/views/Text.js +0 -61
  570. package/dist/jsx/views/TextAncestorContext.js +0 -15
  571. package/dist/jsx/views/Theme.js +0 -31
  572. package/dist/jsx/views/ThemeInverse.js +0 -22
  573. package/dist/jsx/views/ThemeProvider.js +0 -35
  574. package/dist/jsx/views/ThemeReset.js +0 -34
  575. package/types/helpers/addStylesUsingClassname.d.ts +0 -3
  576. package/types/helpers/addStylesUsingClassname.d.ts.map +0 -1
  577. package/types/helpers/fixNativeShadow.native.d.ts +0 -2
  578. package/types/helpers/fixNativeShadow.native.d.ts.map +0 -1
  579. package/types/helpers/getButtonSize.d.ts +0 -8
  580. package/types/helpers/getButtonSize.d.ts.map +0 -1
  581. package/types/helpers/getTextSize.d.ts +0 -3
  582. package/types/helpers/getTextSize.d.ts.map +0 -1
@@ -16,7 +16,6 @@ var __spreadValues = (a, b) => {
16
16
  }
17
17
  return a;
18
18
  };
19
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
20
19
  var __export = (target, all) => {
21
20
  for (var name in all)
22
21
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -32,10 +31,11 @@ var __copyProps = (to, from, except, desc) => {
32
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
32
  var getSplitStyles_exports = {};
34
33
  __export(getSplitStyles_exports, {
34
+ PROP_SPLIT: () => PROP_SPLIT,
35
35
  getSplitStyles: () => getSplitStyles,
36
36
  getSubStyle: () => getSubStyle,
37
37
  insertSplitStyles: () => insertSplitStyles,
38
- normalizeStyleObject: () => normalizeStyleObject,
38
+ pseudoCNInverse: () => pseudoCNInverse,
39
39
  useSplitStyles: () => useSplitStyles
40
40
  });
41
41
  module.exports = __toCommonJS(getSplitStyles_exports);
@@ -45,149 +45,203 @@ var import_conf = require("../conf");
45
45
  var import_platform = require("../constants/platform");
46
46
  var import_useMedia = require("../hooks/useMedia");
47
47
  var import_createMediaStyle = require("./createMediaStyle");
48
- var import_fixNativeShadow = require("./fixNativeShadow");
48
+ var import_expandStyles = require("./expandStyles");
49
49
  var import_getStylesAtomic = require("./getStylesAtomic");
50
50
  var import_insertStyleRule = require("./insertStyleRule");
51
- const skipProps = {
51
+ var import_mergeTransform = require("./mergeTransform");
52
+ var import_normalizeValueWithProperty = require("./normalizeValueWithProperty");
53
+ var import_pseudoDescriptors = require("./pseudoDescriptors");
54
+ const skipProps = __spreadValues({
52
55
  animation: true,
53
56
  animateOnly: true,
54
- debug: true
55
- };
57
+ debug: true,
58
+ componentName: true
59
+ }, !import_platform.isWeb && {
60
+ tag: true,
61
+ whiteSpace: true,
62
+ wordWrap: true,
63
+ textOverflow: true,
64
+ textDecorationDistance: true,
65
+ userSelect: true,
66
+ selectable: true,
67
+ cursor: true,
68
+ contain: true,
69
+ boxSizing: true,
70
+ boxShadow: true
71
+ });
56
72
  let conf;
57
- const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state, defaultClassNames) => {
58
- var _a;
59
- if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
60
- console.log(" \xBB getSplitStyles", { props, state, defaultClassNames });
61
- }
73
+ const PROP_SPLIT = "-";
74
+ const pseudoCNInverse = {
75
+ hover: "hoverStyle",
76
+ focus: "focusStyle",
77
+ press: "pressStyle"
78
+ };
79
+ const getSplitStyles = (props, staticConfig, theme, state, defaultClassNames, debug) => {
80
+ var _a, _b;
62
81
  conf = conf || (0, import_conf.getConfig)();
63
82
  const validStyleProps = staticConfig.isText ? import_helpers.stylePropsText : import_helpers.validStyles;
64
83
  const viewProps = {};
65
- const style = {};
66
- const classNames = __spreadValues({}, defaultClassNames);
67
84
  const pseudos = {};
68
85
  const medias = {};
69
- const rulesToInsert = [];
70
- function addStyle(prop, rule) {
71
- rulesToInsert.push([prop, rule]);
72
- (0, import_insertStyleRule.updateInsertedCache)(prop, rule);
86
+ const usedKeys = /* @__PURE__ */ new Set();
87
+ let style = {};
88
+ if (state.hasTextAncestor) {
89
+ style.display = "inline-flex";
73
90
  }
74
- __name(addStyle, "addStyle");
75
- let cur = null;
76
- let transforms = {};
77
- function mergeClassName(key, val) {
78
- if (!val) {
79
- return;
91
+ let classNames = {};
92
+ let transforms = null;
93
+ let rulesToInsert = null;
94
+ function addStyle(prop, rule) {
95
+ if (process.env.TAMAGUI_TARGET === "web") {
96
+ if ((0, import_insertStyleRule.updateInsertedCache)(prop, rule) || !import_platform.isClient && process.env.NODE_ENV === "production") {
97
+ rulesToInsert = rulesToInsert || [];
98
+ rulesToInsert.push([prop, rule]);
99
+ }
80
100
  }
81
- if (val.startsWith("_transform-")) {
82
- const isMediaOrPseudo = key !== "transform";
83
- const isMedia = isMediaOrPseudo && key[11] === "_";
84
- const isPsuedo = isMediaOrPseudo && key[11] === "0" || key.endsWith("Style");
85
- const namespace = isMedia ? key.split("_")[2] : isPsuedo ? key.split("-")[1] : "transform";
86
- let transform = import_insertStyleRule.insertedTransforms[val];
87
- if (import_platform.isClient) {
88
- if (!transform) {
89
- (0, import_insertStyleRule.updateInserted)();
90
- transform = import_insertStyleRule.insertedTransforms[val];
91
- }
92
- if (!transform) {
93
- if (import_platform.isWeb && val[0] !== "_") {
94
- transform = val;
95
- } else {
96
- console.trace("?", key, val, cur, props, state);
101
+ }
102
+ function mergeClassName(key, val, isMediaOrPseudo = false) {
103
+ if (process.env.TAMAGUI_TARGET === "web") {
104
+ if (!val)
105
+ return;
106
+ if (val.startsWith("_transform-")) {
107
+ const namespace = isMediaOrPseudo ? key : "transform";
108
+ let transform = import_insertStyleRule.insertedTransforms[val];
109
+ if (import_platform.isClient) {
110
+ if (!transform) {
111
+ (0, import_insertStyleRule.updateInserted)();
112
+ transform = import_insertStyleRule.insertedTransforms[val];
113
+ if (process.env.NODE_ENV === "development") {
114
+ if (!transform) {
115
+ console.warn("no transform found", { insertedTransforms: import_insertStyleRule.insertedTransforms, val });
116
+ }
117
+ }
97
118
  }
98
- }
99
- if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
100
- console.log(" \xBB getSplitStyles mergeClassName transform", { key, val, namespace, transform, insertedTransforms: import_insertStyleRule.insertedTransforms });
101
- }
102
- if (process.env.NODE_ENV === "development") {
103
119
  if (!transform) {
104
- console.trace("NO TRANSFORM?", { key, val, transform });
120
+ if (import_platform.isWeb && val[0] !== "_") {
121
+ transform = val;
122
+ }
123
+ }
124
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
125
+ console.log(" \xBB getSplitStyles mergeClassName transform", { key, val, namespace, transform, insertedTransforms: import_insertStyleRule.insertedTransforms });
105
126
  }
106
127
  }
107
- }
108
- transforms[namespace] = transforms[namespace] || ["", ""];
109
- const identifier = val.replace("_transform", "");
110
- transforms[namespace][0] += identifier;
111
- if (transform) {
112
- transforms[namespace][1] += transform;
113
- }
114
- } else {
115
- classNames[key] = val;
116
- }
117
- }
118
- __name(mergeClassName, "mergeClassName");
119
- function push() {
120
- if (!cur)
121
- return;
122
- normalizeStyleObject(cur);
123
- if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
124
- console.log(" \xBB getSplitStyles push", cur, state);
125
- }
126
- if (import_platform.isWeb && !state.noClassNames) {
127
- const atomic = (0, import_getStylesAtomic.getStylesAtomic)(cur);
128
- for (const atomicStyle of atomic) {
129
- if (!state.noClassNames) {
130
- addStyle(atomicStyle.identifier, atomicStyle.rules[0]);
131
- mergeClassName(atomicStyle.property, atomicStyle.identifier);
132
- } else {
133
- style[atomicStyle.property] = atomicStyle.value;
134
- }
135
- }
136
- }
137
- if (!import_platform.isWeb || state.noClassNames || state.resolveVariablesAs === "value" || state.resolveVariablesAs === "both") {
138
- for (const key in cur) {
139
- if (key in import_helpers.stylePropsTransform) {
140
- (0, import_helpers.mergeTransform)(style, key, cur[key]);
141
- } else {
142
- style[key] = cur[key];
128
+ transforms = transforms || {};
129
+ transforms[namespace] = transforms[namespace] || ["", ""];
130
+ const identifier = val.replace("_transform", "");
131
+ transforms[namespace][0] += identifier;
132
+ if (transform) {
133
+ transforms[namespace][1] += transform;
143
134
  }
135
+ } else {
136
+ classNames[key] = val;
144
137
  }
145
138
  }
146
- cur = null;
147
139
  }
148
- __name(push, "push");
149
- for (const keyInit in props) {
150
- if (skipProps[keyInit]) {
140
+ const propKeys = Object.keys(props);
141
+ const shouldDoClasses = (import_platform.isWeb || process.env.IS_STATIC === "is_static") && !state.noClassNames;
142
+ const len = propKeys.length;
143
+ for (let i = len - 1; i >= 0; i--) {
144
+ const keyInit = propKeys[i];
145
+ if (usedKeys.has(keyInit))
146
+ continue;
147
+ if (skipProps[keyInit])
148
+ continue;
149
+ if (!import_platform.isWeb && keyInit.startsWith("data-"))
151
150
  continue;
152
- }
153
151
  const valInit = props[keyInit];
154
152
  if (keyInit === "style" || keyInit.startsWith("_style")) {
155
- push();
156
- cur = valInit;
157
- push();
153
+ if (!valInit)
154
+ continue;
155
+ for (const key in valInit) {
156
+ if (usedKeys.has(key))
157
+ continue;
158
+ if (valInit && typeof valInit === "object") {
159
+ for (const skey in valInit) {
160
+ if (usedKeys.has(skey))
161
+ continue;
162
+ usedKeys.add(skey);
163
+ style[skey] = valInit[skey];
164
+ }
165
+ } else {
166
+ usedKeys.add(key);
167
+ style[key] = valInit;
168
+ }
169
+ }
158
170
  continue;
159
171
  }
160
- if (keyInit === "className" || validStyleProps[keyInit] && valInit && valInit[0] === "_") {
161
- push();
162
- mergeClassName(keyInit, valInit);
163
- continue;
172
+ if (process.env.TAMAGUI_TARGET === "web") {
173
+ if (keyInit === "className") {
174
+ let nonTamaguis = "";
175
+ if (!valInit)
176
+ continue;
177
+ for (const cn of valInit.split(" ")) {
178
+ if (cn[0] === "_") {
179
+ const [shorthand, mediaOrPseudo] = cn.slice(1).split("-");
180
+ const isMedia2 = mediaOrPseudo[0] === "_";
181
+ const isPseudo2 = mediaOrPseudo[0] === "0";
182
+ const isMediaOrPseudo2 = isMedia2 || isPseudo2;
183
+ let fullKey = conf.shorthands[shorthand];
184
+ if (isMedia2) {
185
+ let mediaShortKey = mediaOrPseudo.slice(1);
186
+ mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf("_"));
187
+ fullKey += `${PROP_SPLIT}${mediaShortKey}`;
188
+ } else if (isPseudo2) {
189
+ const pseudoShortKey = mediaOrPseudo.slice(1);
190
+ fullKey += `${PROP_SPLIT}${pseudoShortKey}`;
191
+ }
192
+ usedKeys.add(fullKey);
193
+ mergeClassName(fullKey, cn, isMediaOrPseudo2);
194
+ } else {
195
+ nonTamaguis += " " + cn;
196
+ }
197
+ }
198
+ if (nonTamaguis) {
199
+ usedKeys.add(keyInit);
200
+ mergeClassName(keyInit, nonTamaguis);
201
+ }
202
+ continue;
203
+ }
204
+ if (valInit && valInit[0] === "_") {
205
+ const isValidClassName = import_helpers.validStyles[keyInit];
206
+ const isMediaOrPseudo2 = !isValidClassName && keyInit.includes(PROP_SPLIT) && import_helpers.validStyles[keyInit.split(PROP_SPLIT)[0]];
207
+ if (isValidClassName || isMediaOrPseudo2) {
208
+ usedKeys.add(keyInit);
209
+ mergeClassName(keyInit, valInit, isMediaOrPseudo2);
210
+ continue;
211
+ }
212
+ }
164
213
  }
165
214
  if (state.keepVariantsAsProps && staticConfig.defaultVariants && keyInit in staticConfig.defaultVariants) {
166
215
  viewProps[keyInit] = valInit;
167
216
  }
168
217
  let isMedia = keyInit[0] === "$";
169
218
  let isPseudo = import_helpers.validPseudoKeys[keyInit];
219
+ let isMediaOrPseudo = isMedia || isPseudo;
170
220
  if (!isMedia && !isPseudo && !((_a = staticConfig.variants) == null ? void 0 : _a[keyInit]) && !validStyleProps[keyInit] && !conf.shorthands[keyInit]) {
221
+ usedKeys.add(keyInit);
171
222
  viewProps[keyInit] = valInit;
172
223
  continue;
173
224
  }
174
- const out = isMedia || isPseudo ? true : staticConfig.propMapper(keyInit, valInit, theme, state.fallbackProps || props, state.resolveVariablesAs);
175
- const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
176
- if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
177
- console.log(" \xBB getSplitStyles", keyInit, expanded);
225
+ const expanded = isMedia || isPseudo ? [[keyInit, valInit]] : staticConfig.propMapper(keyInit, valInit, theme, props, state, void 0, debug);
226
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
227
+ console.log(" \xBB getSplitStyles", keyInit, valInit, expanded);
228
+ }
229
+ if (!expanded) {
230
+ continue;
178
231
  }
179
232
  for (const [key, val] of expanded) {
180
- if (val === void 0) {
181
- continue;
182
- }
183
- if (key !== "target" && val && val[0] === "_") {
184
- mergeClassName(key, val);
233
+ if (val === void 0)
185
234
  continue;
186
- }
187
235
  isMedia = key[0] === "$";
188
236
  isPseudo = import_helpers.validPseudoKeys[key];
189
- if (staticConfig.deoptProps && staticConfig.deoptProps.has(key) || staticConfig.inlineProps && staticConfig.inlineProps.has(key)) {
190
- viewProps[key] = val;
237
+ isMediaOrPseudo = isMedia || isPseudo;
238
+ if (!isMediaOrPseudo) {
239
+ if (usedKeys.has(key))
240
+ continue;
241
+ }
242
+ if (staticConfig.deoptProps && staticConfig.deoptProps.has(key) || staticConfig.inlineProps && staticConfig.inlineProps.has(key) || staticConfig.inlineWhenUnflattened && staticConfig.inlineWhenUnflattened.has(key)) {
243
+ usedKeys.add(key);
244
+ viewProps[key] = props[key] ?? val;
191
245
  }
192
246
  if (isPseudo) {
193
247
  if (!val)
@@ -196,12 +250,17 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
196
250
  continue;
197
251
  }
198
252
  pseudos[key] = pseudos[key] || {};
199
- pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true);
200
- if (import_platform.isWeb && !state.noClassNames) {
201
- const pseudoStyles = (0, import_getStylesAtomic.getStylesAtomic)({ [key]: pseudos[key] });
253
+ pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, conf, true);
254
+ if (shouldDoClasses) {
255
+ const pseudoStyles = (0, import_getStylesAtomic.getAtomicStyle)(pseudos[key], import_pseudoDescriptors.pseudoDescriptors[key]);
202
256
  for (const style2 of pseudoStyles) {
203
- addStyle(style2.identifier, style2.rules[0]);
204
- mergeClassName(`${style2.property}-${key}`, style2.identifier);
257
+ const postfix = ((_b = import_pseudoDescriptors.pseudoDescriptors[key]) == null ? void 0 : _b.name) || key;
258
+ const fullKey = `${style2.property}${PROP_SPLIT}${postfix}`;
259
+ if (!usedKeys.has(fullKey)) {
260
+ usedKeys.add(fullKey);
261
+ addStyle(style2.identifier, style2.rules.join(";"));
262
+ mergeClassName(fullKey, style2.identifier, isMediaOrPseudo);
263
+ }
205
264
  }
206
265
  }
207
266
  continue;
@@ -210,25 +269,29 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
210
269
  const mediaKey = key;
211
270
  const mediaKeyShort = mediaKey.slice(1);
212
271
  if (!import_useMedia.mediaQueryConfig[mediaKeyShort]) {
213
- viewProps[key] = val;
272
+ if (!usedKeys.has(key)) {
273
+ viewProps[key] = val;
274
+ }
214
275
  continue;
215
276
  }
216
- const mediaStyle = getSubStyle(val, staticConfig, theme, props, state);
217
- if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
218
- console.log(" \xBB getSplitStyles mediaStyle", mediaKey, mediaStyle, props);
277
+ const mediaStyle = getSubStyle(val, staticConfig, theme, props, state, conf);
278
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
279
+ console.log(" \xBB getSplitStyles mediaStyle", { mediaKey, mediaStyle, props, shouldDoClasses });
219
280
  }
220
- const shouldDoClasses = import_platform.isWeb && !state.noClassNames;
221
281
  if (shouldDoClasses) {
222
282
  const mediaStyles = (0, import_getStylesAtomic.getStylesAtomic)(mediaStyle);
223
283
  for (const style2 of mediaStyles) {
224
- const out2 = (0, import_createMediaStyle.createMediaStyle)(style2, mediaKeyShort, import_useMedia.mediaQueryConfig);
225
- addStyle(out2.identifier, out2.styleRule);
226
- mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
284
+ const out = (0, import_createMediaStyle.createMediaStyle)(style2, mediaKeyShort, import_useMedia.mediaQueryConfig);
285
+ const fullKey = `${style2.property}${PROP_SPLIT}${mediaKeyShort}`;
286
+ if (!usedKeys.has(fullKey)) {
287
+ usedKeys.add(fullKey);
288
+ addStyle(out.identifier, out.styleRule);
289
+ mergeClassName(fullKey, out.identifier, true);
290
+ }
227
291
  }
228
292
  } else {
229
293
  if (import_useMedia.mediaState[mediaKey]) {
230
- push();
231
- if (process.env.NODE_ENV === "development" && props["debug"]) {
294
+ if (process.env.NODE_ENV === "development" && debug) {
232
295
  console.log("apply media style", mediaKey, import_useMedia.mediaState);
233
296
  }
234
297
  Object.assign(shouldDoClasses ? medias : style, mediaStyle);
@@ -237,38 +300,73 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
237
300
  continue;
238
301
  }
239
302
  if (!import_platform.isWeb && key === "pointerEvents") {
303
+ usedKeys.add(key);
240
304
  viewProps[key] = val;
241
305
  continue;
242
306
  }
243
307
  if (validStyleProps[key]) {
244
- cur = cur || {};
245
- cur[key] = val;
308
+ usedKeys.add(key);
309
+ if (val && val[0] === "_") {
310
+ classNames[key] = val;
311
+ } else if (key in import_helpers.stylePropsTransform) {
312
+ (0, import_mergeTransform.mergeTransform)(style, key, val, true);
313
+ } else {
314
+ style[key] = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(val, key);
315
+ }
246
316
  continue;
247
317
  }
248
318
  if (!staticConfig.variants || !(key in staticConfig.variants)) {
249
- if (key !== "animation" && key !== "debug") {
250
- push();
319
+ if (!skipProps[key]) {
251
320
  viewProps[key] = val;
321
+ usedKeys.add(key);
252
322
  }
253
323
  }
254
324
  }
255
325
  }
256
- push();
257
- if (transforms) {
258
- for (const namespace in transforms) {
259
- const [hash, val] = transforms[namespace];
260
- const identifier = `_transform${hash}`;
261
- if (import_platform.isClient) {
262
- if (!import_insertStyleRule.insertedTransforms[identifier]) {
263
- const rule = `.${identifier} { transform: ${val}; }`;
264
- addStyle(identifier, rule);
326
+ (0, import_expandStyles.fixStyles)(style);
327
+ if (import_platform.isWeb) {
328
+ (0, import_getStylesAtomic.styleToCSS)(style);
329
+ }
330
+ if (defaultClassNames) {
331
+ classNames = __spreadValues(__spreadValues({}, defaultClassNames), classNames);
332
+ }
333
+ if (shouldDoClasses) {
334
+ const atomic = (0, import_getStylesAtomic.getStylesAtomic)(style);
335
+ for (const atomicStyle of atomic) {
336
+ const key = atomicStyle.property;
337
+ if (!state.dynamicStylesInline) {
338
+ addStyle(atomicStyle.identifier, atomicStyle.rules.join(";"));
339
+ mergeClassName(key, atomicStyle.identifier);
340
+ } else {
341
+ style[key] = atomicStyle.value;
342
+ }
343
+ }
344
+ }
345
+ if (process.env.TAMAGUI_TARGET === "web") {
346
+ if (transforms) {
347
+ for (const namespace in transforms) {
348
+ if (!transforms[namespace]) {
349
+ if (process.env.NODE_ENV === "development") {
350
+ console.warn("Error no transform", transforms, namespace);
351
+ }
352
+ continue;
265
353
  }
354
+ const [hash, val] = transforms[namespace];
355
+ const identifier = `_transform${hash}`;
356
+ if (import_platform.isClient) {
357
+ if (!import_insertStyleRule.insertedTransforms[identifier]) {
358
+ const rule = `.${identifier} { transform: ${val}; }`;
359
+ addStyle(identifier, rule);
360
+ }
361
+ }
362
+ classNames[namespace] = identifier;
266
363
  }
267
- classNames[namespace] = identifier;
268
364
  }
269
365
  }
270
- if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
271
- console.log(" \xBB getSplitStyles out", { style, pseudos, medias, classNames, viewProps, state });
366
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
367
+ if (typeof document !== "undefined") {
368
+ console.log(" \xBB getSplitStyles out", { style, pseudos, medias, classNames, viewProps, state });
369
+ }
272
370
  }
273
371
  return {
274
372
  viewProps,
@@ -278,53 +376,55 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
278
376
  classNames,
279
377
  rulesToInsert
280
378
  };
281
- }, "getSplitStyles");
282
- const insertSplitStyles = /* @__PURE__ */ __name((...args) => {
283
- const res = getSplitStyles(...args);
284
- for (const [prop, rule] of res.rulesToInsert) {
285
- (0, import_insertStyleRule.insertStyleRule)(prop, rule);
286
- }
287
- return res;
288
- }, "insertSplitStyles");
289
- const effect = import_react.useInsertionEffect || import_platform.useIsomorphicLayoutEffect;
290
- const useSplitStyles = /* @__PURE__ */ __name((...args) => {
291
- const res = getSplitStyles(...args);
292
- effect(() => {
293
- for (const [prop, rule] of res.rulesToInsert) {
294
- (0, import_insertStyleRule.insertStyleRule)(prop, rule);
295
- }
296
- });
297
- return res;
298
- }, "useSplitStyles");
299
- const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props, state, avoidDefaultProps) => {
379
+ };
380
+ const getSubStyle = (styleIn, staticConfig, theme, props, state, conf2, avoidDefaultProps) => {
300
381
  const styleOut = {};
301
- for (const key in styleIn) {
382
+ for (let key in styleIn) {
302
383
  const val = styleIn[key];
303
- const out = staticConfig.propMapper(key, val, theme, state.fallbackProps || props, state.resolveVariablesAs, avoidDefaultProps);
304
- const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
384
+ key = conf2.shorthands[key] || key;
385
+ const expanded = staticConfig.propMapper(key, val, theme, props, state, avoidDefaultProps);
386
+ if (!expanded)
387
+ continue;
305
388
  for (const [skey, sval] of expanded) {
306
389
  if (skey in import_helpers.stylePropsTransform) {
307
- (0, import_helpers.mergeTransform)(styleOut, skey, sval);
390
+ (0, import_mergeTransform.mergeTransform)(styleOut, skey, sval);
308
391
  } else {
309
- styleOut[skey] = sval;
392
+ styleOut[skey] = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(sval, key);
310
393
  }
311
394
  }
312
395
  }
313
- normalizeStyleObject(styleOut);
396
+ (0, import_expandStyles.fixStyles)(styleOut);
314
397
  return styleOut;
315
- }, "getSubStyle");
316
- function normalizeStyleObject(style) {
317
- if (!import_platform.isWeb) {
318
- (0, import_fixNativeShadow.fixNativeShadow)(style);
398
+ };
399
+ const insertSplitStyles = (...args) => {
400
+ const res = getSplitStyles(...args);
401
+ if (res.rulesToInsert) {
402
+ for (const [prop, rule] of res.rulesToInsert) {
403
+ (0, import_insertStyleRule.insertStyleRule)(prop, rule);
404
+ }
319
405
  }
320
- }
321
- __name(normalizeStyleObject, "normalizeStyleObject");
406
+ return res;
407
+ };
408
+ const useInsertEffectCompat = import_platform.isWeb ? import_react.useInsertionEffect || import_platform.useIsomorphicLayoutEffect : () => {
409
+ };
410
+ const useSplitStyles = (...args) => {
411
+ const res = getSplitStyles(...args);
412
+ useInsertEffectCompat(() => {
413
+ if (!res.rulesToInsert)
414
+ return;
415
+ for (const [prop, rule] of res.rulesToInsert) {
416
+ (0, import_insertStyleRule.insertStyleRule)(prop, rule);
417
+ }
418
+ }, [res.rulesToInsert]);
419
+ return res;
420
+ };
322
421
  // Annotate the CommonJS export names for ESM import in node:
323
422
  0 && (module.exports = {
423
+ PROP_SPLIT,
324
424
  getSplitStyles,
325
425
  getSubStyle,
326
426
  insertSplitStyles,
327
- normalizeStyleObject,
427
+ pseudoCNInverse,
328
428
  useSplitStyles
329
429
  });
330
430
  //# sourceMappingURL=getSplitStyles.js.map