@tamagui/web 1.61.2 → 1.62.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 (497) hide show
  1. package/dist/cjs/Tamagui.js +10 -26
  2. package/dist/cjs/Tamagui.js.map +1 -1
  3. package/dist/cjs/Tamagui.native.js +64 -0
  4. package/dist/cjs/Tamagui.native.js.map +6 -0
  5. package/dist/cjs/config.js +25 -64
  6. package/dist/cjs/config.js.map +2 -2
  7. package/dist/cjs/config.native.js +90 -0
  8. package/dist/cjs/config.native.js.map +6 -0
  9. package/dist/cjs/constants/accessibilityDirectMap.js +41 -51
  10. package/dist/cjs/constants/accessibilityDirectMap.js.map +1 -1
  11. package/dist/cjs/constants/accessibilityDirectMap.native.js +9 -16
  12. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
  13. package/dist/cjs/constants/constants.js +16 -24
  14. package/dist/cjs/constants/constants.js.map +1 -1
  15. package/dist/cjs/constants/constants.native.js +32 -0
  16. package/dist/cjs/constants/constants.native.js.map +6 -0
  17. package/dist/cjs/constants/isDevTools.js +7 -12
  18. package/dist/cjs/constants/isDevTools.js.map +1 -1
  19. package/dist/cjs/constants/isDevTools.native.js +33 -0
  20. package/dist/cjs/constants/isDevTools.native.js.map +6 -0
  21. package/dist/cjs/contexts/ComponentContext.js +8 -14
  22. package/dist/cjs/contexts/ComponentContext.js.map +1 -1
  23. package/dist/cjs/contexts/ComponentContext.native.js +42 -0
  24. package/dist/cjs/contexts/ComponentContext.native.js.map +6 -0
  25. package/dist/cjs/createComponent.js +288 -710
  26. package/dist/cjs/createComponent.js.map +2 -2
  27. package/dist/cjs/createComponent.native.js +643 -0
  28. package/dist/cjs/createComponent.native.js.map +6 -0
  29. package/dist/cjs/createFont.js +18 -29
  30. package/dist/cjs/createFont.js.map +1 -1
  31. package/dist/cjs/createFont.native.js +59 -0
  32. package/dist/cjs/createFont.native.js.map +6 -0
  33. package/dist/cjs/createShorthands.js +5 -9
  34. package/dist/cjs/createShorthands.js.map +1 -1
  35. package/dist/cjs/createShorthands.native.js +28 -0
  36. package/dist/cjs/createShorthands.native.js.map +6 -0
  37. package/dist/cjs/createTamagui.js +56 -144
  38. package/dist/cjs/createTamagui.js.map +2 -2
  39. package/dist/cjs/createTamagui.native.js +186 -0
  40. package/dist/cjs/createTamagui.native.js.map +6 -0
  41. package/dist/cjs/createTheme.js +6 -12
  42. package/dist/cjs/createTheme.js.map +1 -1
  43. package/dist/cjs/createTheme.native.js +26 -0
  44. package/dist/cjs/createTheme.native.js.map +6 -0
  45. package/dist/cjs/createTokens.js +5 -9
  46. package/dist/cjs/createTokens.js.map +1 -1
  47. package/dist/cjs/createTokens.native.js +29 -0
  48. package/dist/cjs/createTokens.native.js.map +6 -0
  49. package/dist/cjs/createVariable.js +20 -47
  50. package/dist/cjs/createVariable.js.map +1 -1
  51. package/dist/cjs/createVariable.native.js +85 -0
  52. package/dist/cjs/createVariable.native.js.map +6 -0
  53. package/dist/cjs/createVariables.js +11 -22
  54. package/dist/cjs/createVariables.js.map +1 -1
  55. package/dist/cjs/createVariables.native.js +54 -0
  56. package/dist/cjs/createVariables.native.js.map +6 -0
  57. package/dist/cjs/helpers/ThemeManager.js +75 -169
  58. package/dist/cjs/helpers/ThemeManager.js.map +1 -1
  59. package/dist/cjs/helpers/ThemeManager.native.js +178 -0
  60. package/dist/cjs/helpers/ThemeManager.native.js.map +6 -0
  61. package/dist/cjs/helpers/ThemeManagerContext.js +5 -9
  62. package/dist/cjs/helpers/ThemeManagerContext.js.map +1 -1
  63. package/dist/cjs/helpers/ThemeManagerContext.native.js +27 -0
  64. package/dist/cjs/helpers/ThemeManagerContext.native.js.map +6 -0
  65. package/dist/cjs/helpers/createChainedWeakCache.js +14 -24
  66. package/dist/cjs/helpers/createChainedWeakCache.js.map +1 -1
  67. package/dist/cjs/helpers/createChainedWeakCache.native.js +54 -0
  68. package/dist/cjs/helpers/createChainedWeakCache.native.js.map +6 -0
  69. package/dist/cjs/helpers/createMediaStyle.js +20 -70
  70. package/dist/cjs/helpers/createMediaStyle.js.map +1 -1
  71. package/dist/cjs/helpers/createMediaStyle.native.js +72 -0
  72. package/dist/cjs/helpers/createMediaStyle.native.js.map +6 -0
  73. package/dist/cjs/helpers/createProxy.js +11 -20
  74. package/dist/cjs/helpers/createProxy.js.map +1 -1
  75. package/dist/cjs/helpers/createProxy.native.js +35 -0
  76. package/dist/cjs/helpers/createProxy.native.js.map +6 -0
  77. package/dist/cjs/helpers/createShallowSetState.js +7 -13
  78. package/dist/cjs/helpers/createShallowSetState.js.map +1 -1
  79. package/dist/cjs/helpers/createShallowSetState.native.js +36 -0
  80. package/dist/cjs/helpers/createShallowSetState.native.js.map +6 -0
  81. package/dist/cjs/helpers/createStyledContext.js +12 -26
  82. package/dist/cjs/helpers/createStyledContext.js.map +1 -1
  83. package/dist/cjs/helpers/createStyledContext.native.js +39 -0
  84. package/dist/cjs/helpers/createStyledContext.native.js.map +6 -0
  85. package/dist/cjs/helpers/defaultOffset.js +5 -9
  86. package/dist/cjs/helpers/defaultOffset.js.map +1 -1
  87. package/dist/cjs/helpers/defaultOffset.native.js +26 -0
  88. package/dist/cjs/helpers/defaultOffset.native.js.map +6 -0
  89. package/dist/cjs/helpers/expandStyle.js +20 -40
  90. package/dist/cjs/helpers/expandStyle.js.map +1 -1
  91. package/dist/cjs/helpers/expandStyle.native.js +64 -0
  92. package/dist/cjs/helpers/expandStyle.native.js.map +6 -0
  93. package/dist/cjs/helpers/expandStyles.js +13 -39
  94. package/dist/cjs/helpers/expandStyles.js.map +1 -1
  95. package/dist/cjs/helpers/expandStyles.native.js +55 -0
  96. package/dist/cjs/helpers/expandStyles.native.js.map +6 -0
  97. package/dist/cjs/helpers/getAnimationDriver.js +5 -9
  98. package/dist/cjs/helpers/getAnimationDriver.js.map +1 -1
  99. package/dist/cjs/helpers/getAnimationDriver.native.js +29 -0
  100. package/dist/cjs/helpers/getAnimationDriver.native.js.map +6 -0
  101. package/dist/cjs/helpers/getExpandedShorthands.js +6 -11
  102. package/dist/cjs/helpers/getExpandedShorthands.js.map +1 -1
  103. package/dist/cjs/helpers/getExpandedShorthands.native.js +35 -0
  104. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +6 -0
  105. package/dist/cjs/helpers/getFontLanguage.js +5 -9
  106. package/dist/cjs/helpers/getFontLanguage.js.map +1 -1
  107. package/dist/cjs/helpers/getFontLanguage.native.js +26 -0
  108. package/dist/cjs/helpers/getFontLanguage.native.js.map +6 -0
  109. package/dist/cjs/helpers/getGroupPropParts.js +7 -17
  110. package/dist/cjs/helpers/getGroupPropParts.js.map +1 -1
  111. package/dist/cjs/helpers/getGroupPropParts.native.js +32 -0
  112. package/dist/cjs/helpers/getGroupPropParts.native.js.map +6 -0
  113. package/dist/cjs/helpers/getSplitStyles.js +364 -827
  114. package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
  115. package/dist/cjs/helpers/getSplitStyles.native.js +503 -0
  116. package/dist/cjs/helpers/getSplitStyles.native.js.map +6 -0
  117. package/dist/cjs/helpers/getStylesAtomic.js +39 -102
  118. package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
  119. package/dist/cjs/helpers/getStylesAtomic.native.js +6 -13
  120. package/dist/cjs/helpers/getStylesAtomic.native.js.map +1 -1
  121. package/dist/cjs/helpers/getThemeCSSRules.js +25 -70
  122. package/dist/cjs/helpers/getThemeCSSRules.js.map +1 -1
  123. package/dist/cjs/helpers/getThemeCSSRules.native.js +5 -8
  124. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
  125. package/dist/cjs/helpers/getVariantExtras.js +13 -26
  126. package/dist/cjs/helpers/getVariantExtras.js.map +1 -1
  127. package/dist/cjs/helpers/getVariantExtras.native.js +72 -0
  128. package/dist/cjs/helpers/getVariantExtras.native.js.map +6 -0
  129. package/dist/cjs/helpers/insertStyleRule.js +85 -197
  130. package/dist/cjs/helpers/insertStyleRule.js.map +1 -1
  131. package/dist/cjs/helpers/insertStyleRule.native.js +223 -0
  132. package/dist/cjs/helpers/insertStyleRule.native.js.map +6 -0
  133. package/dist/cjs/helpers/isObj.js +6 -10
  134. package/dist/cjs/helpers/isObj.js.map +1 -1
  135. package/dist/cjs/helpers/isObj.native.js +26 -0
  136. package/dist/cjs/helpers/isObj.native.js.map +6 -0
  137. package/dist/cjs/helpers/isTamaguiComponent.js +7 -11
  138. package/dist/cjs/helpers/isTamaguiComponent.js.map +1 -1
  139. package/dist/cjs/helpers/isTamaguiComponent.native.js +29 -0
  140. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +6 -0
  141. package/dist/cjs/helpers/isTamaguiElement.js +7 -14
  142. package/dist/cjs/helpers/isTamaguiElement.js.map +1 -1
  143. package/dist/cjs/helpers/isTamaguiElement.native.js +27 -0
  144. package/dist/cjs/helpers/isTamaguiElement.native.js.map +6 -0
  145. package/dist/cjs/helpers/matchMedia.js +8 -12
  146. package/dist/cjs/helpers/matchMedia.js.map +1 -1
  147. package/dist/cjs/helpers/matchMedia.native.js +9 -16
  148. package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
  149. package/dist/cjs/helpers/mergeProps.js +10 -18
  150. package/dist/cjs/helpers/mergeProps.js.map +1 -1
  151. package/dist/cjs/helpers/mergeProps.native.js +49 -0
  152. package/dist/cjs/helpers/mergeProps.native.js.map +6 -0
  153. package/dist/cjs/helpers/mergeVariants.js +16 -30
  154. package/dist/cjs/helpers/mergeVariants.js.map +1 -1
  155. package/dist/cjs/helpers/mergeVariants.native.js +56 -0
  156. package/dist/cjs/helpers/mergeVariants.native.js.map +6 -0
  157. package/dist/cjs/helpers/normalizeColor.js +9 -27
  158. package/dist/cjs/helpers/normalizeColor.js.map +1 -1
  159. package/dist/cjs/helpers/normalizeColor.native.js +40 -0
  160. package/dist/cjs/helpers/normalizeColor.native.js.map +6 -0
  161. package/dist/cjs/helpers/normalizeShadow.js +6 -12
  162. package/dist/cjs/helpers/normalizeShadow.js.map +1 -1
  163. package/dist/cjs/helpers/normalizeShadow.native.js +8 -17
  164. package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
  165. package/dist/cjs/helpers/normalizeStylePropKeys.js +5 -9
  166. package/dist/cjs/helpers/normalizeStylePropKeys.js.map +1 -1
  167. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +15 -18
  168. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
  169. package/dist/cjs/helpers/normalizeValueWithProperty.js +22 -63
  170. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +1 -1
  171. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +60 -0
  172. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +6 -0
  173. package/dist/cjs/helpers/objectIdentityKey.js +9 -14
  174. package/dist/cjs/helpers/objectIdentityKey.js.map +1 -1
  175. package/dist/cjs/helpers/objectIdentityKey.native.js +43 -0
  176. package/dist/cjs/helpers/objectIdentityKey.native.js.map +6 -0
  177. package/dist/cjs/helpers/propMapper.js +91 -241
  178. package/dist/cjs/helpers/propMapper.js.map +1 -1
  179. package/dist/cjs/helpers/propMapper.native.js +201 -0
  180. package/dist/cjs/helpers/propMapper.native.js.map +6 -0
  181. package/dist/cjs/helpers/proxyThemeToParents.js +12 -29
  182. package/dist/cjs/helpers/proxyThemeToParents.js.map +1 -1
  183. package/dist/cjs/helpers/proxyThemeToParents.native.js +62 -0
  184. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +6 -0
  185. package/dist/cjs/helpers/proxyThemeVariables.js +6 -10
  186. package/dist/cjs/helpers/proxyThemeVariables.js.map +1 -1
  187. package/dist/cjs/helpers/proxyThemeVariables.native.js +37 -0
  188. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +6 -0
  189. package/dist/cjs/helpers/pseudoDescriptors.js +7 -13
  190. package/dist/cjs/helpers/pseudoDescriptors.js.map +1 -1
  191. package/dist/cjs/helpers/pseudoDescriptors.native.js +60 -0
  192. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +6 -0
  193. package/dist/cjs/helpers/registerCSSVariable.js +6 -14
  194. package/dist/cjs/helpers/registerCSSVariable.js.map +1 -1
  195. package/dist/cjs/helpers/registerCSSVariable.native.js +33 -0
  196. package/dist/cjs/helpers/registerCSSVariable.native.js.map +6 -0
  197. package/dist/cjs/helpers/themeable.js +15 -27
  198. package/dist/cjs/helpers/themeable.js.map +1 -1
  199. package/dist/cjs/helpers/themeable.native.js +56 -0
  200. package/dist/cjs/helpers/themeable.native.js.map +6 -0
  201. package/dist/cjs/helpers/themes.js +15 -26
  202. package/dist/cjs/helpers/themes.js.map +1 -1
  203. package/dist/cjs/helpers/themes.native.js +38 -0
  204. package/dist/cjs/helpers/themes.native.js.map +6 -0
  205. package/dist/cjs/helpers/timer.js +6 -10
  206. package/dist/cjs/helpers/timer.js.map +1 -1
  207. package/dist/cjs/helpers/timer.native.js +32 -0
  208. package/dist/cjs/helpers/timer.native.js.map +6 -0
  209. package/dist/cjs/helpers/withStaticProperties.js +8 -15
  210. package/dist/cjs/helpers/withStaticProperties.js.map +1 -1
  211. package/dist/cjs/helpers/withStaticProperties.native.js +41 -0
  212. package/dist/cjs/helpers/withStaticProperties.native.js.map +6 -0
  213. package/dist/cjs/hooks/getThemeUnwrapped.js +6 -13
  214. package/dist/cjs/hooks/getThemeUnwrapped.js.map +1 -1
  215. package/dist/cjs/hooks/getThemeUnwrapped.native.js +28 -0
  216. package/dist/cjs/hooks/getThemeUnwrapped.native.js.map +6 -0
  217. package/dist/cjs/hooks/useAnimationDriver.js +7 -15
  218. package/dist/cjs/hooks/useAnimationDriver.js.map +1 -1
  219. package/dist/cjs/hooks/useAnimationDriver.native.js +27 -0
  220. package/dist/cjs/hooks/useAnimationDriver.native.js.map +6 -0
  221. package/dist/cjs/hooks/useId.js +5 -9
  222. package/dist/cjs/hooks/useId.js.map +1 -1
  223. package/dist/cjs/hooks/useId.native.js +26 -0
  224. package/dist/cjs/hooks/useId.native.js.map +6 -0
  225. package/dist/cjs/hooks/useIsTouchDevice.js +7 -14
  226. package/dist/cjs/hooks/useIsTouchDevice.js.map +1 -1
  227. package/dist/cjs/hooks/useIsTouchDevice.native.js +27 -0
  228. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +6 -0
  229. package/dist/cjs/hooks/useMedia.js +60 -170
  230. package/dist/cjs/hooks/useMedia.js.map +2 -2
  231. package/dist/cjs/hooks/useMedia.native.js +219 -0
  232. package/dist/cjs/hooks/useMedia.native.js.map +6 -0
  233. package/dist/cjs/hooks/useMemoDebug.js +7 -17
  234. package/dist/cjs/hooks/useMemoDebug.js.map +1 -1
  235. package/dist/cjs/hooks/useMemoDebug.native.js +31 -0
  236. package/dist/cjs/hooks/useMemoDebug.native.js.map +6 -0
  237. package/dist/cjs/hooks/useProps.js +7 -11
  238. package/dist/cjs/hooks/useProps.js.map +1 -1
  239. package/dist/cjs/hooks/useProps.native.js +32 -0
  240. package/dist/cjs/hooks/useProps.native.js.map +6 -0
  241. package/dist/cjs/hooks/useStyle.js +8 -21
  242. package/dist/cjs/hooks/useStyle.js.map +1 -1
  243. package/dist/cjs/hooks/useStyle.native.js +48 -0
  244. package/dist/cjs/hooks/useStyle.native.js.map +6 -0
  245. package/dist/cjs/hooks/useTheme.js +95 -215
  246. package/dist/cjs/hooks/useTheme.js.map +1 -1
  247. package/dist/cjs/hooks/useTheme.native.js +215 -0
  248. package/dist/cjs/hooks/useTheme.native.js.map +6 -0
  249. package/dist/cjs/hooks/useThemeName.js +14 -26
  250. package/dist/cjs/hooks/useThemeName.js.map +1 -1
  251. package/dist/cjs/hooks/useThemeName.native.js +36 -0
  252. package/dist/cjs/hooks/useThemeName.native.js.map +6 -0
  253. package/dist/cjs/index.js +7 -11
  254. package/dist/cjs/index.js.map +1 -1
  255. package/dist/cjs/index.native.js +168 -0
  256. package/dist/cjs/index.native.js.map +6 -0
  257. package/dist/cjs/inject-styles.js +7 -15
  258. package/dist/cjs/inject-styles.js.map +1 -1
  259. package/dist/cjs/inject-styles.native.js +33 -0
  260. package/dist/cjs/inject-styles.native.js.map +6 -0
  261. package/dist/cjs/insertFont.js +25 -49
  262. package/dist/cjs/insertFont.js.map +1 -1
  263. package/dist/cjs/insertFont.native.js +69 -0
  264. package/dist/cjs/insertFont.native.js.map +6 -0
  265. package/dist/cjs/interfaces/CSSColorNames.js +3 -6
  266. package/dist/cjs/interfaces/CSSColorNames.js.map +1 -1
  267. package/dist/cjs/interfaces/CSSColorNames.native.js +15 -0
  268. package/dist/cjs/interfaces/CSSColorNames.native.js.map +6 -0
  269. package/dist/cjs/interfaces/GetRef.js +3 -6
  270. package/dist/cjs/interfaces/GetRef.js.map +1 -1
  271. package/dist/cjs/interfaces/GetRef.native.js +15 -0
  272. package/dist/cjs/interfaces/GetRef.native.js.map +6 -0
  273. package/dist/cjs/interfaces/Role.js +3 -6
  274. package/dist/cjs/interfaces/Role.js.map +1 -1
  275. package/dist/cjs/interfaces/Role.native.js +15 -0
  276. package/dist/cjs/interfaces/Role.native.js.map +6 -0
  277. package/dist/cjs/setupHooks.js +5 -9
  278. package/dist/cjs/setupHooks.js.map +1 -1
  279. package/dist/cjs/setupHooks.native.js +31 -0
  280. package/dist/cjs/setupHooks.native.js.map +6 -0
  281. package/dist/cjs/setupReactNative.js +11 -17
  282. package/dist/cjs/setupReactNative.js.map +1 -1
  283. package/dist/cjs/setupReactNative.native.js +44 -0
  284. package/dist/cjs/setupReactNative.native.js.map +6 -0
  285. package/dist/cjs/styled.js +25 -67
  286. package/dist/cjs/styled.js.map +1 -1
  287. package/dist/cjs/styled.native.js +75 -0
  288. package/dist/cjs/styled.native.js.map +6 -0
  289. package/dist/cjs/types.js +3 -6
  290. package/dist/cjs/types.js.map +1 -1
  291. package/dist/cjs/types.native.js +15 -0
  292. package/dist/cjs/types.native.js.map +6 -0
  293. package/dist/cjs/views/AnimationDriverProvider.js +7 -14
  294. package/dist/cjs/views/AnimationDriverProvider.js.map +1 -1
  295. package/dist/cjs/views/AnimationDriverProvider.native.js +27 -0
  296. package/dist/cjs/views/AnimationDriverProvider.native.js.map +6 -0
  297. package/dist/cjs/views/FontLanguage.js +15 -21
  298. package/dist/cjs/views/FontLanguage.js.map +1 -1
  299. package/dist/cjs/views/FontLanguage.native.js +6 -11
  300. package/dist/cjs/views/FontLanguage.native.js.map +1 -1
  301. package/dist/cjs/views/FontLanguage.types.js +3 -6
  302. package/dist/cjs/views/FontLanguage.types.js.map +1 -1
  303. package/dist/cjs/views/FontLanguage.types.native.js +15 -0
  304. package/dist/cjs/views/FontLanguage.types.native.js.map +6 -0
  305. package/dist/cjs/views/Slot.js +15 -46
  306. package/dist/cjs/views/Slot.js.map +2 -2
  307. package/dist/cjs/views/Slot.native.js +58 -0
  308. package/dist/cjs/views/Slot.native.js.map +6 -0
  309. package/dist/cjs/views/Stack.js +7 -13
  310. package/dist/cjs/views/Stack.js.map +1 -1
  311. package/dist/cjs/views/Stack.native.js +31 -0
  312. package/dist/cjs/views/Stack.native.js.map +6 -0
  313. package/dist/cjs/views/TamaguiProvider.js +16 -38
  314. package/dist/cjs/views/TamaguiProvider.js.map +1 -1
  315. package/dist/cjs/views/TamaguiProvider.native.js +58 -0
  316. package/dist/cjs/views/TamaguiProvider.native.js.map +6 -0
  317. package/dist/cjs/views/Text.js +28 -45
  318. package/dist/cjs/views/Text.js.map +1 -1
  319. package/dist/cjs/views/Text.native.js +53 -0
  320. package/dist/cjs/views/Text.native.js.map +6 -0
  321. package/dist/cjs/views/Theme.js +41 -89
  322. package/dist/cjs/views/Theme.js.map +2 -2
  323. package/dist/cjs/views/Theme.native.js +99 -0
  324. package/dist/cjs/views/Theme.native.js.map +6 -0
  325. package/dist/cjs/views/ThemeDebug.js +19 -52
  326. package/dist/cjs/views/ThemeDebug.js.map +2 -2
  327. package/dist/cjs/views/ThemeDebug.native.js +5 -8
  328. package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
  329. package/dist/cjs/views/ThemeProvider.js +22 -37
  330. package/dist/cjs/views/ThemeProvider.js.map +1 -1
  331. package/dist/cjs/views/ThemeProvider.native.js +43 -0
  332. package/dist/cjs/views/ThemeProvider.native.js.map +6 -0
  333. package/dist/cjs/views/View.js +7 -12
  334. package/dist/cjs/views/View.js.map +1 -1
  335. package/dist/cjs/views/View.native.js +30 -0
  336. package/dist/cjs/views/View.native.js.map +6 -0
  337. package/dist/esm/Tamagui.js +2 -9
  338. package/dist/esm/Tamagui.js.map +1 -1
  339. package/dist/esm/config.js +20 -55
  340. package/dist/esm/config.js.map +2 -2
  341. package/dist/esm/constants/accessibilityDirectMap.js +36 -42
  342. package/dist/esm/constants/accessibilityDirectMap.js.map +1 -1
  343. package/dist/esm/constants/constants.js +11 -15
  344. package/dist/esm/constants/constants.js.map +1 -1
  345. package/dist/esm/constants/isDevTools.js +2 -3
  346. package/dist/esm/constants/isDevTools.js.map +1 -1
  347. package/dist/esm/contexts/ComponentContext.js +3 -5
  348. package/dist/esm/contexts/ComponentContext.js.map +1 -1
  349. package/dist/esm/createComponent.js +281 -677
  350. package/dist/esm/createComponent.js.map +2 -2
  351. package/dist/esm/createFont.js +13 -20
  352. package/dist/esm/createFont.js.map +1 -1
  353. package/dist/esm/createTamagui.js +50 -124
  354. package/dist/esm/createTamagui.js.map +2 -2
  355. package/dist/esm/createTheme.js +1 -3
  356. package/dist/esm/createTheme.js.map +1 -1
  357. package/dist/esm/createVariable.js +14 -35
  358. package/dist/esm/createVariable.js.map +1 -1
  359. package/dist/esm/createVariables.js +5 -11
  360. package/dist/esm/createVariables.js.map +1 -1
  361. package/dist/esm/helpers/ThemeManager.js +69 -157
  362. package/dist/esm/helpers/ThemeManager.js.map +1 -1
  363. package/dist/esm/helpers/createChainedWeakCache.js +9 -15
  364. package/dist/esm/helpers/createChainedWeakCache.js.map +1 -1
  365. package/dist/esm/helpers/createMediaStyle.js +14 -58
  366. package/dist/esm/helpers/createMediaStyle.js.map +1 -1
  367. package/dist/esm/helpers/createProxy.js +6 -11
  368. package/dist/esm/helpers/createProxy.js.map +1 -1
  369. package/dist/esm/helpers/createShallowSetState.js +2 -4
  370. package/dist/esm/helpers/createShallowSetState.js.map +1 -1
  371. package/dist/esm/helpers/createStyledContext.js +7 -15
  372. package/dist/esm/helpers/createStyledContext.js.map +1 -1
  373. package/dist/esm/helpers/expandStyle.js +16 -32
  374. package/dist/esm/helpers/expandStyle.js.map +1 -1
  375. package/dist/esm/helpers/expandStyles.js +7 -25
  376. package/dist/esm/helpers/expandStyles.js.map +1 -1
  377. package/dist/esm/helpers/getExpandedShorthands.js +1 -2
  378. package/dist/esm/helpers/getExpandedShorthands.js.map +1 -1
  379. package/dist/esm/helpers/getGroupPropParts.js +2 -8
  380. package/dist/esm/helpers/getGroupPropParts.js.map +1 -1
  381. package/dist/esm/helpers/getSplitStyles.js +360 -810
  382. package/dist/esm/helpers/getSplitStyles.js.map +2 -2
  383. package/dist/esm/helpers/getStylesAtomic.js +33 -88
  384. package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
  385. package/dist/esm/helpers/getThemeCSSRules.js +19 -57
  386. package/dist/esm/helpers/getThemeCSSRules.js.map +1 -1
  387. package/dist/esm/helpers/getVariantExtras.js +7 -15
  388. package/dist/esm/helpers/getVariantExtras.js.map +1 -1
  389. package/dist/esm/helpers/insertStyleRule.js +79 -186
  390. package/dist/esm/helpers/insertStyleRule.js.map +1 -1
  391. package/dist/esm/helpers/isObj.js +1 -1
  392. package/dist/esm/helpers/isObj.js.map +1 -1
  393. package/dist/esm/helpers/isTamaguiComponent.js +2 -2
  394. package/dist/esm/helpers/isTamaguiComponent.js.map +1 -1
  395. package/dist/esm/helpers/isTamaguiElement.js +1 -3
  396. package/dist/esm/helpers/isTamaguiElement.js.map +1 -1
  397. package/dist/esm/helpers/matchMedia.js +3 -3
  398. package/dist/esm/helpers/matchMedia.js.map +1 -1
  399. package/dist/esm/helpers/mergeProps.js +5 -9
  400. package/dist/esm/helpers/mergeProps.js.map +1 -1
  401. package/dist/esm/helpers/mergeVariants.js +11 -21
  402. package/dist/esm/helpers/mergeVariants.js.map +1 -1
  403. package/dist/esm/helpers/normalizeColor.js +3 -15
  404. package/dist/esm/helpers/normalizeColor.js.map +1 -1
  405. package/dist/esm/helpers/normalizeValueWithProperty.js +16 -51
  406. package/dist/esm/helpers/normalizeValueWithProperty.js.map +1 -1
  407. package/dist/esm/helpers/objectIdentityKey.js +4 -5
  408. package/dist/esm/helpers/objectIdentityKey.js.map +1 -1
  409. package/dist/esm/helpers/propMapper.js +86 -223
  410. package/dist/esm/helpers/propMapper.js.map +1 -1
  411. package/dist/esm/helpers/proxyThemeToParents.js +6 -18
  412. package/dist/esm/helpers/proxyThemeToParents.js.map +1 -1
  413. package/dist/esm/helpers/proxyThemeVariables.js +1 -1
  414. package/dist/esm/helpers/proxyThemeVariables.js.map +1 -1
  415. package/dist/esm/helpers/pseudoDescriptors.js +2 -4
  416. package/dist/esm/helpers/pseudoDescriptors.js.map +1 -1
  417. package/dist/esm/helpers/registerCSSVariable.js +1 -5
  418. package/dist/esm/helpers/registerCSSVariable.js.map +1 -1
  419. package/dist/esm/helpers/themeable.js +8 -12
  420. package/dist/esm/helpers/themeable.js.map +1 -1
  421. package/dist/esm/helpers/themes.js +10 -17
  422. package/dist/esm/helpers/themes.js.map +1 -1
  423. package/dist/esm/helpers/timer.js +1 -1
  424. package/dist/esm/helpers/withStaticProperties.js +3 -6
  425. package/dist/esm/helpers/withStaticProperties.js.map +1 -1
  426. package/dist/esm/hooks/getThemeUnwrapped.js +1 -4
  427. package/dist/esm/hooks/getThemeUnwrapped.js.map +1 -1
  428. package/dist/esm/hooks/useAnimationDriver.js +1 -3
  429. package/dist/esm/hooks/useAnimationDriver.js.map +1 -1
  430. package/dist/esm/hooks/useIsTouchDevice.js +1 -3
  431. package/dist/esm/hooks/useIsTouchDevice.js.map +1 -1
  432. package/dist/esm/hooks/useMedia.js +54 -152
  433. package/dist/esm/hooks/useMedia.js.map +2 -2
  434. package/dist/esm/hooks/useMemoDebug.js +2 -8
  435. package/dist/esm/hooks/useMemoDebug.js.map +1 -1
  436. package/dist/esm/hooks/useProps.js +2 -2
  437. package/dist/esm/hooks/useProps.js.map +1 -1
  438. package/dist/esm/hooks/useStyle.js +2 -6
  439. package/dist/esm/hooks/useStyle.js.map +1 -1
  440. package/dist/esm/hooks/useTheme.js +89 -198
  441. package/dist/esm/hooks/useTheme.js.map +1 -1
  442. package/dist/esm/hooks/useThemeName.js +8 -14
  443. package/dist/esm/hooks/useThemeName.js.map +1 -1
  444. package/dist/esm/index.js +1 -0
  445. package/dist/esm/index.js.map +1 -1
  446. package/dist/esm/inject-styles.js +2 -6
  447. package/dist/esm/inject-styles.js.map +1 -1
  448. package/dist/esm/insertFont.js +19 -36
  449. package/dist/esm/insertFont.js.map +1 -1
  450. package/dist/esm/setupReactNative.js +6 -8
  451. package/dist/esm/setupReactNative.js.map +1 -1
  452. package/dist/esm/styled.js +19 -55
  453. package/dist/esm/styled.js.map +1 -1
  454. package/dist/esm/views/AnimationDriverProvider.js +2 -4
  455. package/dist/esm/views/AnimationDriverProvider.js.map +1 -1
  456. package/dist/esm/views/FontLanguage.js +10 -12
  457. package/dist/esm/views/FontLanguage.js.map +1 -1
  458. package/dist/esm/views/Slot.js +10 -33
  459. package/dist/esm/views/Slot.js.map +2 -2
  460. package/dist/esm/views/Stack.js +1 -1
  461. package/dist/esm/views/TamaguiProvider.js +9 -20
  462. package/dist/esm/views/TamaguiProvider.js.map +1 -1
  463. package/dist/esm/views/Text.js +22 -34
  464. package/dist/esm/views/Text.js.map +1 -1
  465. package/dist/esm/views/Theme.js +34 -70
  466. package/dist/esm/views/Theme.js.map +2 -2
  467. package/dist/esm/views/ThemeDebug.js +14 -40
  468. package/dist/esm/views/ThemeDebug.js.map +2 -2
  469. package/dist/esm/views/ThemeProvider.js +17 -24
  470. package/dist/esm/views/ThemeProvider.js.map +1 -1
  471. package/dist/esm/views/View.js +1 -1
  472. package/package.json +15 -10
  473. package/src/createTamagui.ts +8 -7
  474. package/src/helpers/getStylesAtomic.ts +1 -0
  475. package/src/helpers/getThemeCSSRules.ts +3 -1
  476. package/src/index.ts +2 -0
  477. package/types/createTamagui.d.ts.map +1 -1
  478. package/types/helpers/getStylesAtomic.d.ts.map +1 -1
  479. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  480. package/types/index.d.ts +1 -0
  481. package/types/index.d.ts.map +1 -1
  482. package/dist/esm/constants/accessibilityDirectMap.native.js +0 -63
  483. package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -6
  484. package/dist/esm/helpers/getStylesAtomic.native.js +0 -14
  485. package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -6
  486. package/dist/esm/helpers/getThemeCSSRules.native.js +0 -7
  487. package/dist/esm/helpers/getThemeCSSRules.native.js.map +0 -6
  488. package/dist/esm/helpers/matchMedia.native.js +0 -24
  489. package/dist/esm/helpers/matchMedia.native.js.map +0 -6
  490. package/dist/esm/helpers/normalizeShadow.native.js +0 -31
  491. package/dist/esm/helpers/normalizeShadow.native.js.map +0 -6
  492. package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -16
  493. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -6
  494. package/dist/esm/views/FontLanguage.native.js +0 -11
  495. package/dist/esm/views/FontLanguage.native.js.map +0 -6
  496. package/dist/esm/views/ThemeDebug.native.js +0 -11
  497. package/dist/esm/views/ThemeDebug.native.js.map +0 -6
@@ -1,21 +1,17 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
7
+ __defProp(target, name, { get: all[name], enumerable: !0 });
8
+ }, __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from == "object" || typeof from == "function")
12
10
  for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
11
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
12
  return to;
17
13
  };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
19
15
  var getSplitStyles_exports = {};
20
16
  __export(getSplitStyles_exports, {
21
17
  PROP_SPLIT: () => PROP_SPLIT,
@@ -24,30 +20,12 @@ __export(getSplitStyles_exports, {
24
20
  useSplitStyles: () => useSplitStyles
25
21
  });
26
22
  module.exports = __toCommonJS(getSplitStyles_exports);
27
- var import_constants = require("@tamagui/constants");
28
- var import_helpers = require("@tamagui/helpers");
29
- var import_react = require("react");
30
- var import_config = require("../config");
31
- var import_accessibilityDirectMap = require("../constants/accessibilityDirectMap");
32
- var import_isDevTools = require("../constants/isDevTools");
33
- var import_useMedia = require("../hooks/useMedia");
34
- var import_createMediaStyle = require("./createMediaStyle");
35
- var import_expandStyles = require("./expandStyles");
36
- var import_getGroupPropParts = require("./getGroupPropParts");
37
- var import_getStylesAtomic = require("./getStylesAtomic");
38
- var import_insertStyleRule = require("./insertStyleRule");
39
- var import_normalizeValueWithProperty = require("./normalizeValueWithProperty");
40
- var import_propMapper = require("./propMapper");
41
- var import_pseudoDescriptors = require("./pseudoDescriptors");
42
- const fontFamilyKey = "fontFamily";
43
- const IS_STATIC = process.env.IS_STATIC === "is_static";
23
+ var import_constants = require("@tamagui/constants"), import_helpers = require("@tamagui/helpers"), import_react = require("react"), import_config = require("../config"), import_accessibilityDirectMap = require("../constants/accessibilityDirectMap"), import_isDevTools = require("../constants/isDevTools"), import_useMedia = require("../hooks/useMedia"), import_createMediaStyle = require("./createMediaStyle"), import_expandStyles = require("./expandStyles"), import_getGroupPropParts = require("./getGroupPropParts"), import_getStylesAtomic = require("./getStylesAtomic"), import_insertStyleRule = require("./insertStyleRule"), import_normalizeValueWithProperty = require("./normalizeValueWithProperty"), import_propMapper = require("./propMapper"), import_pseudoDescriptors = require("./pseudoDescriptors");
24
+ const fontFamilyKey = "fontFamily", IS_STATIC = process.env.IS_STATIC === "is_static";
44
25
  let conf;
45
- const PROP_SPLIT = "-";
46
- const getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, context, elementType, debug) => {
47
- var _a, _b, _c, _d, _e, _f, _g;
26
+ const PROP_SPLIT = "-", getSplitStyles = (props, staticConfig, theme, themeName, componentState, styleProps, parentSplitStyles, context, elementType, debug) => {
48
27
  conf = conf || (0, import_config.getConfig)();
49
- const { shorthands } = conf;
50
- const {
28
+ const { shorthands } = conf, {
51
29
  isHOC,
52
30
  isText,
53
31
  variants,
@@ -56,24 +34,8 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
56
34
  inlineWhenUnflattened,
57
35
  parentStaticConfig,
58
36
  acceptsClassName
59
- } = staticConfig;
60
- const validStyleProps = isText ? import_helpers.stylePropsText : import_helpers.validStyles;
61
- const viewProps = {};
62
- const mediaState = styleProps.mediaState || import_useMedia.mediaState;
63
- const usedKeys = {};
64
- const shouldDoClasses = acceptsClassName && import_constants.isWeb && !styleProps.noClassNames;
65
- const rulesToInsert = [];
66
- const classNames = {};
67
- const transforms = {};
68
- let pseudos = null;
69
- let space = props.space;
70
- let hasMedia = false;
71
- let dynamicThemeAccess;
72
- let pseudoGroups;
73
- let mediaGroups;
74
- let style = {};
75
- let className = "";
76
- let mediaStylesSeen = 0;
37
+ } = staticConfig, validStyleProps = isText ? import_helpers.stylePropsText : import_helpers.validStyles, viewProps = {}, mediaState = styleProps.mediaState || import_useMedia.mediaState, usedKeys = {}, shouldDoClasses = acceptsClassName && import_constants.isWeb && !styleProps.noClassNames, rulesToInsert = [], classNames = {}, transforms = {};
38
+ let pseudos = null, space = props.space, hasMedia = !1, dynamicThemeAccess, pseudoGroups, mediaGroups, style = {}, className = "", mediaStylesSeen = 0;
77
39
  const styleState = {
78
40
  curProps: Object.assign({}, props),
79
41
  classNames,
@@ -89,432 +51,223 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
89
51
  context,
90
52
  debug
91
53
  };
92
- if (process.env.NODE_ENV === "development" && debug && debug !== "profile" && import_constants.isClient) {
93
- console.groupCollapsed("getSplitStyles (collapsed)");
94
- console.log({
95
- props,
96
- staticConfig,
97
- shouldDoClasses,
98
- styleProps,
99
- componentState,
100
- styleState,
101
- theme: { ...theme }
102
- });
103
- console.groupEnd();
104
- }
105
- if (process.env.TAMAGUI_TARGET === "web" && typeof props.className === "string") {
106
- for (const cn of props.className.split(" ")) {
54
+ if (process.env.NODE_ENV === "development" && debug && debug !== "profile" && import_constants.isClient && (console.groupCollapsed("getSplitStyles (collapsed)"), console.log({
55
+ props,
56
+ staticConfig,
57
+ shouldDoClasses,
58
+ styleProps,
59
+ componentState,
60
+ styleState,
61
+ theme: { ...theme }
62
+ }), console.groupEnd()), typeof props.className == "string")
63
+ for (const cn of props.className.split(" "))
107
64
  if (cn[0] === "_") {
108
- const [shorthand, mediaOrPseudo] = cn.slice(1).split("-");
109
- const isMedia = mediaOrPseudo[0] === "_";
110
- const isPseudo = mediaOrPseudo[0] === "0";
111
- const isMediaOrPseudo = isMedia || isPseudo;
65
+ const [shorthand, mediaOrPseudo] = cn.slice(1).split("-"), isMedia = mediaOrPseudo[0] === "_", isPseudo = mediaOrPseudo[0] === "0", isMediaOrPseudo = isMedia || isPseudo;
112
66
  let fullKey = shorthands[shorthand];
113
67
  if (isMedia) {
114
68
  let mediaShortKey = mediaOrPseudo.slice(1);
115
- mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf("_"));
116
- fullKey += `${PROP_SPLIT}${mediaShortKey}`;
69
+ mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf("_")), fullKey += `${PROP_SPLIT}${mediaShortKey}`;
117
70
  } else if (isPseudo) {
118
71
  const pseudoShortKey = mediaOrPseudo.slice(1);
119
72
  fullKey += `${PROP_SPLIT}${pseudoShortKey}`;
120
73
  }
121
- usedKeys[fullKey] = 1;
122
- mergeClassName(transforms, classNames, fullKey, cn, isMediaOrPseudo);
123
- } else if (cn) {
124
- className += ` ${cn}`;
125
- }
126
- }
127
- }
74
+ usedKeys[fullKey] = 1, mergeClassName(transforms, classNames, fullKey, cn, isMediaOrPseudo);
75
+ } else
76
+ cn && (className += ` ${cn}`);
128
77
  for (const keyOg in props) {
129
- let keyInit = keyOg;
130
- let valInit = props[keyOg];
131
- if (keyInit in shorthands) {
132
- keyInit = shorthands[keyInit];
133
- }
134
- if (keyInit === "className")
135
- continue;
136
- if (keyInit in usedKeys)
78
+ let keyInit = keyOg, valInit = props[keyOg];
79
+ if (keyInit in shorthands && (keyInit = shorthands[keyInit]), keyInit === "className" || keyInit in usedKeys)
137
80
  continue;
138
81
  if (keyInit in skipProps && !isHOC) {
139
82
  if (keyInit === "group") {
140
- if (process.env.TAMAGUI_TARGET === "web") {
141
- const identifier = `t_group_${valInit}`;
142
- const containerCSS = {
143
- identifier,
144
- property: "container",
145
- rules: [
146
- `.${identifier} { container-name: ${valInit}; container-type: inline-size; }`
147
- ]
148
- };
149
- addStyleToInsertRules(rulesToInsert, containerCSS);
150
- }
83
+ const identifier = `t_group_${valInit}`, containerCSS = {
84
+ identifier,
85
+ property: "container",
86
+ rules: [
87
+ `.${identifier} { container-name: ${valInit}; container-type: inline-size; }`
88
+ ]
89
+ };
90
+ addStyleToInsertRules(rulesToInsert, containerCSS);
151
91
  }
152
92
  continue;
153
93
  }
154
94
  const valInitType = typeof valInit;
155
- styleState.curProps[keyInit] = valInit;
156
- if (process.env.TAMAGUI_TARGET === "web") {
157
- if (valInitType === "string" && valInit[0] === "_") {
158
- if (keyInit in validStyleProps || keyInit.includes("-")) {
159
- if (process.env.NODE_ENV === "development" && debug) {
160
- console.log(`Adding compiled style ${keyInit}: ${valInit}`);
161
- }
162
- if (shouldDoClasses) {
163
- classNames[keyInit] = valInit;
164
- delete style[keyInit];
165
- } else {
166
- style[keyInit] = (0, import_normalizeValueWithProperty.reverseMapClassNameToValue)(keyInit, valInit);
167
- delete className[keyInit];
168
- }
169
- continue;
170
- }
171
- }
172
- }
173
- if (process.env.TAMAGUI_TARGET === "native") {
174
- if (!import_constants.isAndroid) {
175
- if (keyInit === "elevationAndroid")
176
- continue;
177
- }
178
- if (keyInit === "userSelect") {
179
- keyInit = "selectable";
180
- valInit = valInit === "none" ? false : true;
181
- } else if (keyInit === "role") {
182
- viewProps["accessibilityRole"] = import_accessibilityDirectMap.accessibilityWebRoleToNativeRole[valInit];
183
- continue;
184
- } else if (keyInit.startsWith("aria-")) {
185
- if (import_accessibilityDirectMap.webToNativeAccessibilityDirectMap[keyInit]) {
186
- const nativeA11yProp = import_accessibilityDirectMap.webToNativeAccessibilityDirectMap[keyInit];
187
- if (keyInit === "aria-hidden") {
188
- viewProps["aria-hidden"] = valInit;
189
- }
190
- viewProps[nativeA11yProp] = valInit;
191
- continue;
192
- } else if (import_accessibilityDirectMap.nativeAccessibilityValue[keyInit]) {
193
- let field = import_accessibilityDirectMap.nativeAccessibilityValue[keyInit];
194
- if (viewProps["accessibilityValue"]) {
195
- viewProps["accessibilityValue"][field] = valInit;
196
- } else {
197
- viewProps["accessibilityValue"] = {
198
- [field]: valInit
199
- };
200
- }
201
- } else if (import_accessibilityDirectMap.nativeAccessibilityState[keyInit]) {
202
- let field = import_accessibilityDirectMap.nativeAccessibilityState[keyInit];
203
- if (viewProps["accessibilityState"]) {
204
- viewProps["accessibilityState"][field] = valInit;
205
- } else {
206
- viewProps["accessibilityState"] = {
207
- [field]: valInit
208
- };
209
- }
210
- }
211
- continue;
212
- } else if (keyInit.startsWith("data-")) {
213
- continue;
214
- }
95
+ if (styleState.curProps[keyInit] = valInit, valInitType === "string" && valInit[0] === "_" && (keyInit in validStyleProps || keyInit.includes("-"))) {
96
+ process.env.NODE_ENV === "development" && debug && console.log(`Adding compiled style ${keyInit}: ${valInit}`), shouldDoClasses ? (classNames[keyInit] = valInit, delete style[keyInit]) : (style[keyInit] = (0, import_normalizeValueWithProperty.reverseMapClassNameToValue)(keyInit, valInit), delete className[keyInit]);
97
+ continue;
215
98
  }
216
99
  if (keyInit === "dataSet") {
217
- for (const keyInit2 in valInit) {
100
+ for (const keyInit2 in valInit)
218
101
  viewProps[`data-${hyphenate(keyInit2)}`] = valInit[keyInit2];
219
- }
220
102
  continue;
221
103
  }
222
104
  if (keyInit[0] === "_" && keyInit.startsWith("_style")) {
223
105
  mergeStyleProp(styleState, valInit);
224
106
  continue;
225
107
  }
226
- if (process.env.TAMAGUI_TARGET === "web") {
227
- if (keyInit === "disabled" && valInit === true) {
228
- viewProps["aria-disabled"] = true;
229
- if (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") {
230
- viewProps.disabled = true;
231
- }
232
- if (!(variants == null ? void 0 : variants.disabled)) {
233
- continue;
234
- }
235
- }
108
+ {
109
+ if (keyInit === "disabled" && valInit === !0 && (viewProps["aria-disabled"] = !0, (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") && (viewProps.disabled = !0), !variants?.disabled))
110
+ continue;
236
111
  if (keyInit === "testID") {
237
112
  viewProps[isReactNative ? keyInit : "data-testid"] = valInit;
238
113
  continue;
239
114
  }
240
115
  if (keyInit === "id" || keyInit === "nativeID") {
241
- if (isReactNative) {
242
- viewProps.nativeID = valInit;
243
- } else {
244
- viewProps.id = valInit;
245
- }
116
+ isReactNative ? viewProps.nativeID = valInit : viewProps.id = valInit;
246
117
  continue;
247
118
  }
248
- let didUseKeyInit = false;
119
+ let didUseKeyInit = !1;
249
120
  if (isReactNative) {
250
121
  if (keyInit in import_accessibilityDirectMap.accessibilityDirectMap || keyInit.startsWith("accessibility")) {
251
122
  viewProps[keyInit] = valInit;
252
123
  continue;
253
124
  }
254
- } else {
255
- didUseKeyInit = true;
256
- if (keyInit in import_accessibilityDirectMap.accessibilityDirectMap) {
257
- viewProps[import_accessibilityDirectMap.accessibilityDirectMap[keyInit]] = valInit;
258
- continue;
259
- } else {
260
- switch (keyInit) {
261
- case "accessibilityRole": {
262
- if (valInit === "none") {
263
- viewProps.role = "presentation";
264
- } else {
265
- viewProps.role = accessibilityRoleToWebRole[valInit] || valInit;
266
- }
267
- continue;
268
- }
269
- case "accessibilityLabelledBy":
270
- case "accessibilityFlowTo":
271
- case "accessibilityControls":
272
- case "accessibilityDescribedBy": {
273
- viewProps[`aria-${keyInit.replace("accessibility", "").toLowerCase()}`] = processIDRefList(valInit);
274
- continue;
275
- }
276
- case "accessibilityKeyShortcuts": {
277
- if (Array.isArray(valInit)) {
278
- viewProps["aria-keyshortcuts"] = valInit.join(" ");
279
- }
280
- continue;
281
- }
282
- case "accessibilityLiveRegion": {
283
- viewProps["aria-live"] = valInit === "none" ? "off" : valInit;
284
- continue;
285
- }
286
- case "accessibilityReadOnly": {
287
- viewProps["aria-readonly"] = valInit;
288
- if (elementType === "input" || elementType === "select" || elementType === "textarea") {
289
- viewProps.readOnly = true;
290
- }
291
- continue;
292
- }
293
- case "accessibilityRequired": {
294
- viewProps["aria-required"] = valInit;
295
- if (elementType === "input" || elementType === "select" || elementType === "textarea") {
296
- viewProps.required = valInit;
297
- }
298
- continue;
299
- }
300
- default: {
301
- didUseKeyInit = false;
302
- }
125
+ } else if (didUseKeyInit = !0, keyInit in import_accessibilityDirectMap.accessibilityDirectMap) {
126
+ viewProps[import_accessibilityDirectMap.accessibilityDirectMap[keyInit]] = valInit;
127
+ continue;
128
+ } else
129
+ switch (keyInit) {
130
+ case "accessibilityRole": {
131
+ valInit === "none" ? viewProps.role = "presentation" : viewProps.role = accessibilityRoleToWebRole[valInit] || valInit;
132
+ continue;
133
+ }
134
+ case "accessibilityLabelledBy":
135
+ case "accessibilityFlowTo":
136
+ case "accessibilityControls":
137
+ case "accessibilityDescribedBy": {
138
+ viewProps[`aria-${keyInit.replace("accessibility", "").toLowerCase()}`] = processIDRefList(valInit);
139
+ continue;
140
+ }
141
+ case "accessibilityKeyShortcuts": {
142
+ Array.isArray(valInit) && (viewProps["aria-keyshortcuts"] = valInit.join(" "));
143
+ continue;
144
+ }
145
+ case "accessibilityLiveRegion": {
146
+ viewProps["aria-live"] = valInit === "none" ? "off" : valInit;
147
+ continue;
148
+ }
149
+ case "accessibilityReadOnly": {
150
+ viewProps["aria-readonly"] = valInit, (elementType === "input" || elementType === "select" || elementType === "textarea") && (viewProps.readOnly = !0);
151
+ continue;
152
+ }
153
+ case "accessibilityRequired": {
154
+ viewProps["aria-required"] = valInit, (elementType === "input" || elementType === "select" || elementType === "textarea") && (viewProps.required = valInit);
155
+ continue;
303
156
  }
157
+ default:
158
+ didUseKeyInit = !1;
304
159
  }
305
- }
306
- if (didUseKeyInit) {
160
+ if (didUseKeyInit)
307
161
  continue;
308
- }
309
162
  if (valInit && valInit[0] === "_") {
310
- const isValidClassName = keyInit in import_helpers.validStyles;
311
- const isMediaOrPseudo2 = !isValidClassName && keyInit.includes(PROP_SPLIT) && import_helpers.validStyles[keyInit.split(PROP_SPLIT)[0]];
163
+ const isValidClassName = keyInit in import_helpers.validStyles, isMediaOrPseudo2 = !isValidClassName && keyInit.includes(PROP_SPLIT) && import_helpers.validStyles[keyInit.split(PROP_SPLIT)[0]];
312
164
  if (isValidClassName || isMediaOrPseudo2) {
313
- if (process.env.NODE_ENV === "development" && debug) {
314
- console.log("tamagui classname prop", keyInit, valInit);
315
- }
316
- if (shouldDoClasses) {
317
- mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo2);
318
- delete style[keyInit];
319
- } else {
320
- style[keyInit] = (0, import_normalizeValueWithProperty.reverseMapClassNameToValue)(keyInit, valInit);
321
- delete className[keyInit];
322
- }
165
+ process.env.NODE_ENV === "development" && debug && console.log("tamagui classname prop", keyInit, valInit), shouldDoClasses ? (mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo2), delete style[keyInit]) : (style[keyInit] = (0, import_normalizeValueWithProperty.reverseMapClassNameToValue)(keyInit, valInit), delete className[keyInit]);
323
166
  continue;
324
167
  }
325
168
  }
326
169
  }
327
- const isValidStyleKeyInit = keyInit in validStyleProps;
328
- const isShorthand = keyInit in shorthands;
170
+ const isValidStyleKeyInit = keyInit in validStyleProps, isShorthand = keyInit in shorthands;
329
171
  let isVariant = !isValidStyleKeyInit && variants && keyInit in variants;
330
172
  const isStyleLikeKey = isShorthand || isValidStyleKeyInit || isVariant;
331
- let isPseudo = keyInit in import_helpers.validPseudoKeys;
332
- let isMedia = !isStyleLikeKey && !isPseudo && (0, import_useMedia.isMediaKey)(keyInit);
333
- let isMediaOrPseudo = isMedia || isPseudo;
173
+ let isPseudo = keyInit in import_helpers.validPseudoKeys, isMedia = !isStyleLikeKey && !isPseudo && (0, import_useMedia.isMediaKey)(keyInit), isMediaOrPseudo = isMedia || isPseudo;
334
174
  const isStyleProp = isMediaOrPseudo || isVariant || isValidStyleKeyInit || isShorthand;
335
- if (isStyleProp && props.asChild === "except-style") {
175
+ if (isStyleProp && props.asChild === "except-style")
336
176
  continue;
337
- }
338
177
  const shouldPassProp = !isStyleProp || // is in parent variants
339
- isHOC && (parentStaticConfig == null ? void 0 : parentStaticConfig.variants) && keyInit in parentStaticConfig.variants || (inlineProps == null ? void 0 : inlineProps.has(keyInit));
340
- const isHOCShouldPassThrough = Boolean(
341
- isHOC && (isShorthand || isValidStyleKeyInit || isMediaOrPseudo || ((_a = parentStaticConfig == null ? void 0 : parentStaticConfig.variants) == null ? void 0 : _a[keyInit]) || keyInit in skipProps)
342
- );
343
- const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;
344
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
345
- console.groupCollapsed(
346
- `\u{1F539}\u{1F539}\u{1F539}\u{1F539} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : ""} ${shouldPassThrough ? "(pass)" : ""} \u{1F539}\u{1F539}\u{1F539}\u{1F539}`
347
- );
348
- console.log({ isVariant, valInit, shouldPassProp });
349
- if (import_constants.isClient) {
350
- console.log({
351
- variants,
352
- variant: variants == null ? void 0 : variants[keyInit],
353
- isVariant,
354
- isHOCShouldPassThrough,
355
- curProps: { ...styleState.curProps },
356
- parentStaticConfig
357
- });
358
- }
359
- console.groupEnd();
360
- }
361
- if (shouldPassThrough) {
362
- passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo);
363
- if (!isVariant) {
364
- continue;
365
- }
366
- }
367
- if (keyInit in skipProps)
368
- continue;
369
- if (isText) {
370
- if (valInit && (keyInit === fontFamilyKey || keyInit === shorthands[fontFamilyKey]) && valInit in conf.fontsParsed) {
371
- styleState.fontFamily = valInit;
372
- }
373
- }
374
- if (process.env.TAMAGUI_TARGET === "native" && isValidStyleKeyInit && !variants && (valInitType === "number" || valInitType === "string" && valInit[0] !== "$")) {
375
- style[keyInit] = valInit;
178
+ isHOC && parentStaticConfig?.variants && keyInit in parentStaticConfig.variants || inlineProps?.has(keyInit), isHOCShouldPassThrough = !!(isHOC && (isShorthand || isValidStyleKeyInit || isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit] || keyInit in skipProps)), shouldPassThrough = shouldPassProp || isHOCShouldPassThrough;
179
+ if (process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(
180
+ `\u{1F539}\u{1F539}\u{1F539}\u{1F539} ${keyOg}${keyInit !== keyOg ? ` (shorthand for ${keyInit})` : ""} ${shouldPassThrough ? "(pass)" : ""} \u{1F539}\u{1F539}\u{1F539}\u{1F539}`
181
+ ), console.log({ isVariant, valInit, shouldPassProp }), import_constants.isClient && console.log({
182
+ variants,
183
+ variant: variants?.[keyInit],
184
+ isVariant,
185
+ isHOCShouldPassThrough,
186
+ curProps: { ...styleState.curProps },
187
+ parentStaticConfig
188
+ }), console.groupEnd()), shouldPassThrough && (passDownProp(viewProps, keyInit, valInit, isMediaOrPseudo), !isVariant) || keyInit in skipProps)
376
189
  continue;
377
- }
378
- const avoidPropMap = isMediaOrPseudo || !isVariant && !isValidStyleKeyInit;
379
- const expanded = avoidPropMap ? [[keyInit, valInit]] : (0, import_propMapper.propMapper)(keyInit, valInit, styleState);
380
- const next = (0, import_propMapper.getPropMappedFontFamily)(expanded);
381
- if (next) {
382
- styleState.fontFamily = next;
383
- }
384
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
190
+ isText && valInit && (keyInit === fontFamilyKey || keyInit === shorthands[fontFamilyKey]) && valInit in conf.fontsParsed && (styleState.fontFamily = valInit);
191
+ const expanded = isMediaOrPseudo || !isVariant && !isValidStyleKeyInit ? [[keyInit, valInit]] : (0, import_propMapper.propMapper)(keyInit, valInit, styleState), next = (0, import_propMapper.getPropMappedFontFamily)(expanded);
192
+ if (next && (styleState.fontFamily = next), process.env.NODE_ENV === "development" && debug === "verbose") {
385
193
  console.groupCollapsed(" \u{1F4A0} expanded", keyInit, valInit);
386
194
  try {
387
- if (!import_constants.isServer && import_isDevTools.isDevTools) {
388
- console.log({
389
- expanded,
390
- styleProps,
391
- componentState,
392
- isVariant,
393
- variant: variants == null ? void 0 : variants[keyInit],
394
- shouldPassProp,
395
- isHOCShouldPassThrough,
396
- theme,
397
- usedKeys: { ...usedKeys },
398
- curProps: { ...styleState.curProps }
399
- });
400
- console.log("expanded", expanded, "\nusedKeys", { ...usedKeys }, "\ncurrent", {
401
- ...style
402
- });
403
- }
195
+ !import_constants.isServer && import_isDevTools.isDevTools && (console.log({
196
+ expanded,
197
+ styleProps,
198
+ componentState,
199
+ isVariant,
200
+ variant: variants?.[keyInit],
201
+ shouldPassProp,
202
+ isHOCShouldPassThrough,
203
+ theme,
204
+ usedKeys: { ...usedKeys },
205
+ curProps: { ...styleState.curProps }
206
+ }), console.log("expanded", expanded, `
207
+ usedKeys`, { ...usedKeys }, `
208
+ current`, {
209
+ ...style
210
+ }));
404
211
  } catch {
405
212
  }
406
213
  console.groupEnd();
407
214
  }
408
- if (!expanded)
409
- continue;
410
- for (const [key, val] of expanded) {
411
- if (val == null)
412
- continue;
413
- if (key in usedKeys)
414
- continue;
415
- isPseudo = key in import_helpers.validPseudoKeys;
416
- isMedia = !isPseudo && !isValidStyleKeyInit && (0, import_useMedia.isMediaKey)(key);
417
- isMediaOrPseudo = isMedia || isPseudo;
418
- isVariant = variants && key in variants;
419
- if ((inlineProps == null ? void 0 : inlineProps.has(key)) || IS_STATIC && (inlineWhenUnflattened == null ? void 0 : inlineWhenUnflattened.has(key))) {
420
- viewProps[key] = props[key] ?? val;
421
- }
422
- const isHOCShouldPassThrough2 = isHOC && (isMediaOrPseudo || ((_b = parentStaticConfig == null ? void 0 : parentStaticConfig.variants) == null ? void 0 : _b[keyInit]));
423
- if (isHOCShouldPassThrough2) {
424
- passDownProp(viewProps, key, val, isMediaOrPseudo);
425
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
426
- console.groupCollapsed(` - passing down prop ${key}`);
427
- console.log({ val, after: { ...viewProps[key] } });
428
- console.groupEnd();
429
- }
430
- continue;
431
- }
432
- if (isPseudo) {
433
- if (!val)
215
+ if (expanded) {
216
+ for (const [key, val] of expanded) {
217
+ if (val == null || key in usedKeys)
434
218
  continue;
435
- const pseudoStyleObject = getSubStyle(
436
- styleState,
437
- key,
438
- val,
439
- styleProps.noClassNames
440
- );
441
- const descriptor = import_pseudoDescriptors.pseudoDescriptors[key];
442
- const isEnter = key === "enterStyle";
443
- const isExit = key === "exitStyle";
444
- if (process.env.NODE_ENV === "development" && !styleProps.isAnimated && !componentState.unmounted && (isEnter || isExit)) {
445
- console.warn(
446
- `No animation prop given to component ${staticConfig.componentName || ""} with enterStyle / exitStyle, these styles will be ignore.`
447
- );
448
- }
449
- if (!descriptor || isExit && !styleProps.isExiting) {
219
+ if (isPseudo = key in import_helpers.validPseudoKeys, isMedia = !isPseudo && !isValidStyleKeyInit && (0, import_useMedia.isMediaKey)(key), isMediaOrPseudo = isMedia || isPseudo, isVariant = variants && key in variants, (inlineProps?.has(key) || IS_STATIC && inlineWhenUnflattened?.has(key)) && (viewProps[key] = props[key] ?? val), isHOC && (isMediaOrPseudo || parentStaticConfig?.variants?.[keyInit])) {
220
+ passDownProp(viewProps, key, val, isMediaOrPseudo), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed(` - passing down prop ${key}`), console.log({ val, after: { ...viewProps[key] } }), console.groupEnd());
450
221
  continue;
451
222
  }
452
- if (!shouldDoClasses || IS_STATIC) {
453
- pseudos || (pseudos = {});
454
- pseudos[key] || (pseudos[key] = {});
455
- if (IS_STATIC) {
456
- Object.assign(pseudos[key], pseudoStyleObject);
457
- }
458
- }
459
- if (shouldDoClasses && !isEnter && !isExit) {
460
- const pseudoStyles = (0, import_getStylesAtomic.generateAtomicStyles)(pseudoStyleObject, descriptor);
461
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
462
- console.groupCollapsed("pseudo (classes)", key);
463
- console.log({ pseudoStyleObject, pseudoStyles });
464
- console.groupEnd();
465
- }
466
- for (const psuedoStyle of pseudoStyles) {
467
- const fullKey = `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}`;
468
- if (fullKey in usedKeys)
469
- continue;
470
- addStyleToInsertRules(rulesToInsert, psuedoStyle);
471
- mergeClassName(
472
- transforms,
473
- classNames,
474
- fullKey,
475
- psuedoStyle.identifier,
476
- isMediaOrPseudo,
477
- true
478
- );
479
- }
480
- } else {
481
- const descriptorKey = descriptor.stateKey || descriptor.name;
482
- const pseudoState = componentState[descriptorKey];
483
- let isDisabled = isExit ? !styleProps.isExiting : !pseudoState;
484
- if (import_constants.isWeb && !import_constants.isClient && isEnter) {
485
- isDisabled = false;
486
- }
487
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
488
- console.groupCollapsed("pseudo", key, { isDisabled });
489
- console.log(pseudoStyleObject, {
223
+ if (isPseudo) {
224
+ if (!val)
225
+ continue;
226
+ const pseudoStyleObject = getSubStyle(
227
+ styleState,
228
+ key,
229
+ val,
230
+ styleProps.noClassNames
231
+ ), descriptor = import_pseudoDescriptors.pseudoDescriptors[key], isEnter = key === "enterStyle", isExit = key === "exitStyle";
232
+ if (process.env.NODE_ENV === "development" && !styleProps.isAnimated && !componentState.unmounted && (isEnter || isExit) && console.warn(
233
+ `No animation prop given to component ${staticConfig.componentName || ""} with enterStyle / exitStyle, these styles will be ignore.`
234
+ ), !descriptor || isExit && !styleProps.isExiting)
235
+ continue;
236
+ if ((!shouldDoClasses || IS_STATIC) && (pseudos ||= {}, pseudos[key] ||= {}, IS_STATIC && Object.assign(pseudos[key], pseudoStyleObject)), shouldDoClasses && !isEnter && !isExit) {
237
+ const pseudoStyles = (0, import_getStylesAtomic.generateAtomicStyles)(pseudoStyleObject, descriptor);
238
+ process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed("pseudo (classes)", key), console.log({ pseudoStyleObject, pseudoStyles }), console.groupEnd());
239
+ for (const psuedoStyle of pseudoStyles) {
240
+ const fullKey = `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}`;
241
+ fullKey in usedKeys || (addStyleToInsertRules(rulesToInsert, psuedoStyle), mergeClassName(
242
+ transforms,
243
+ classNames,
244
+ fullKey,
245
+ psuedoStyle.identifier,
246
+ isMediaOrPseudo,
247
+ !0
248
+ ));
249
+ }
250
+ } else {
251
+ const descriptorKey = descriptor.stateKey || descriptor.name, pseudoState = componentState[descriptorKey];
252
+ let isDisabled = isExit ? !styleProps.isExiting : !pseudoState;
253
+ import_constants.isWeb && !import_constants.isClient && isEnter && (isDisabled = !1), process.env.NODE_ENV === "development" && debug === "verbose" && (console.groupCollapsed("pseudo", key, { isDisabled }), console.log(pseudoStyleObject, {
490
254
  isDisabled,
491
255
  descriptorKey,
492
256
  descriptor,
493
257
  pseudoState,
494
258
  state: { ...componentState }
495
- });
496
- console.groupEnd();
497
- }
498
- const importance = descriptor.priority;
499
- for (const pkey in pseudoStyleObject) {
500
- const val2 = pseudoStyleObject[pkey];
501
- if (isDisabled) {
502
- if (pkey in animatableDefaults && !(pkey in usedKeys)) {
503
- const defaultVal = animatableDefaults[pkey];
504
- mergeStyle(styleState, pkey, defaultVal);
505
- }
506
- } else {
507
- const curImportance = usedKeys[importance] || 0;
508
- const shouldMerge = importance >= curImportance;
509
- if (shouldMerge) {
510
- pseudos || (pseudos = {});
511
- pseudos[key] || (pseudos[key] = {});
512
- pseudos[key][pkey] = val2;
513
- mergeStyle(styleState, pkey, val2);
514
- usedKeys[pkey] || (usedKeys[pkey] = 1);
515
- }
516
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
517
- console.log(" subKey", pkey, shouldMerge, {
259
+ }), console.groupEnd());
260
+ const importance = descriptor.priority;
261
+ for (const pkey in pseudoStyleObject) {
262
+ const val2 = pseudoStyleObject[pkey];
263
+ if (isDisabled) {
264
+ if (pkey in animatableDefaults && !(pkey in usedKeys)) {
265
+ const defaultVal = animatableDefaults[pkey];
266
+ mergeStyle(styleState, pkey, defaultVal);
267
+ }
268
+ } else {
269
+ const curImportance = usedKeys[importance] || 0, shouldMerge = importance >= curImportance;
270
+ shouldMerge && (pseudos ||= {}, pseudos[key] ||= {}, pseudos[key][pkey] = val2, mergeStyle(styleState, pkey, val2), usedKeys[pkey] ||= 1), process.env.NODE_ENV === "development" && debug === "verbose" && console.log(" subKey", pkey, shouldMerge, {
518
271
  importance,
519
272
  curImportance,
520
273
  pkey,
@@ -522,306 +275,187 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
522
275
  });
523
276
  }
524
277
  }
278
+ if (!isDisabled)
279
+ for (const key2 in val) {
280
+ const k = shorthands[key2] || key2;
281
+ usedKeys[k] = Math.max(importance, usedKeys[k] || 0);
282
+ }
525
283
  }
526
- if (!isDisabled) {
527
- for (const key2 in val) {
528
- const k = shorthands[key2] || key2;
529
- usedKeys[k] = Math.max(importance, usedKeys[k] || 0);
530
- }
531
- }
532
- }
533
- continue;
534
- } else if (isMedia) {
535
- if (!val)
536
284
  continue;
537
- const isPlatformMedia = key.startsWith("$platform-");
538
- if (isPlatformMedia) {
539
- const platform = key.slice(10);
540
- if (
541
- // supports web, ios, android
542
- platform !== import_constants.currentPlatform && // supports web, native
543
- platform !== process.env.TAMAGUI_TARGET
544
- ) {
285
+ } else if (isMedia) {
286
+ if (!val)
545
287
  continue;
288
+ const isPlatformMedia = key.startsWith("$platform-");
289
+ if (isPlatformMedia) {
290
+ const platform = key.slice(10);
291
+ if (
292
+ // supports web, ios, android
293
+ platform !== import_constants.currentPlatform && // supports web, native
294
+ platform !== "web"
295
+ )
296
+ continue;
546
297
  }
547
- }
548
- hasMedia || (hasMedia = true);
549
- const mediaStyle = getSubStyle(
550
- styleState,
551
- key,
552
- val,
553
- // TODO try true like pseudo
554
- false
555
- );
556
- const mediaKeyShort = key.slice(1);
557
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
558
- console.log(` \u{1F4FA} ${key}`, { key, val, mediaStyle, props, shouldDoClasses, componentState });
559
- }
560
- const hasSpace = val["space"];
561
- if (hasSpace || !shouldDoClasses) {
562
- if (!Array.isArray(hasMedia)) {
563
- hasMedia = [];
564
- }
565
- hasMedia.push(mediaKeyShort);
566
- }
567
- if (shouldDoClasses) {
568
- if (hasSpace) {
569
- delete mediaStyle["space"];
570
- if (mediaState[mediaKeyShort]) {
298
+ hasMedia ||= !0;
299
+ const mediaStyle = getSubStyle(
300
+ styleState,
301
+ key,
302
+ val,
303
+ // TODO try true like pseudo
304
+ !1
305
+ ), mediaKeyShort = key.slice(1);
306
+ process.env.NODE_ENV === "development" && debug === "verbose" && console.log(` \u{1F4FA} ${key}`, { key, val, mediaStyle, props, shouldDoClasses, componentState });
307
+ const hasSpace = val.space;
308
+ if ((hasSpace || !shouldDoClasses) && (Array.isArray(hasMedia) || (hasMedia = []), hasMedia.push(mediaKeyShort)), shouldDoClasses) {
309
+ if (hasSpace && (delete mediaStyle.space, mediaState[mediaKeyShort])) {
571
310
  const importance = (0, import_useMedia.getMediaImportanceIfMoreImportant)(
572
311
  mediaKeyShort,
573
312
  "space",
574
313
  usedKeys,
575
- true
314
+ !0
576
315
  );
577
- if (importance) {
578
- space = val["space"];
579
- usedKeys["space"] = importance;
580
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
581
- console.log(
582
- `Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`
583
- );
584
- }
585
- }
316
+ importance && (space = val.space, usedKeys.space = importance, process.env.NODE_ENV === "development" && debug === "verbose" && console.log(
317
+ `Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`
318
+ ));
586
319
  }
587
- }
588
- const mediaStyles = (0, import_getStylesAtomic.getStylesAtomic)(mediaStyle, debug);
589
- const priority = mediaStylesSeen;
590
- mediaStylesSeen += 1;
591
- for (const style2 of mediaStyles) {
592
- const out = (0, import_createMediaStyle.createMediaStyle)(
593
- style2,
594
- mediaKeyShort,
595
- import_useMedia.mediaQueryConfig,
596
- false,
597
- priority
598
- );
599
- const fullKey = `${style2.property}${PROP_SPLIT}${mediaKeyShort}`;
600
- if (fullKey in usedKeys)
601
- continue;
602
- addStyleToInsertRules(rulesToInsert, out);
603
- mergeClassName(transforms, classNames, fullKey, out.identifier, true, true);
604
- }
605
- } else {
606
- const isThemeMedia = !isPlatformMedia && mediaKeyShort.startsWith("theme-");
607
- const isGroupMedia = !isPlatformMedia && !isThemeMedia && mediaKeyShort.startsWith("group-");
608
- if (!isThemeMedia && !isPlatformMedia && !isGroupMedia) {
609
- if (!mediaState[mediaKeyShort]) {
610
- continue;
320
+ const mediaStyles = (0, import_getStylesAtomic.getStylesAtomic)(mediaStyle, debug), priority = mediaStylesSeen;
321
+ mediaStylesSeen += 1;
322
+ for (const style2 of mediaStyles) {
323
+ const out = (0, import_createMediaStyle.createMediaStyle)(
324
+ style2,
325
+ mediaKeyShort,
326
+ import_useMedia.mediaQueryConfig,
327
+ !1,
328
+ priority
329
+ ), fullKey = `${style2.property}${PROP_SPLIT}${mediaKeyShort}`;
330
+ fullKey in usedKeys || (addStyleToInsertRules(rulesToInsert, out), mergeClassName(transforms, classNames, fullKey, out.identifier, !0, !0));
611
331
  }
612
- }
613
- let importanceBump = 0;
614
- if (isThemeMedia) {
615
- dynamicThemeAccess = true;
616
- const mediaThemeName = mediaKeyShort.slice(6);
617
- if (!(themeName === mediaThemeName || themeName.startsWith(mediaThemeName))) {
332
+ } else {
333
+ const isThemeMedia = !isPlatformMedia && mediaKeyShort.startsWith("theme-"), isGroupMedia = !isPlatformMedia && !isThemeMedia && mediaKeyShort.startsWith("group-");
334
+ if (!isThemeMedia && !isPlatformMedia && !isGroupMedia && !mediaState[mediaKeyShort])
618
335
  continue;
619
- }
620
- } else if (isGroupMedia) {
621
- const groupInfo = (0, import_getGroupPropParts.getGroupPropParts)(mediaKeyShort);
622
- const groupName = groupInfo.name;
623
- const groupContext = context == null ? void 0 : context.groups.state[groupName];
624
- if (!groupContext) {
625
- if (process.env.NODE_ENV === "development" && debug) {
626
- console.warn(`No parent with group prop, skipping styles: ${groupName}`);
336
+ let importanceBump = 0;
337
+ if (isThemeMedia) {
338
+ dynamicThemeAccess = !0;
339
+ const mediaThemeName = mediaKeyShort.slice(6);
340
+ if (!(themeName === mediaThemeName || themeName.startsWith(mediaThemeName)))
341
+ continue;
342
+ } else if (isGroupMedia) {
343
+ const groupInfo = (0, import_getGroupPropParts.getGroupPropParts)(mediaKeyShort), groupName = groupInfo.name, groupContext = context?.groups.state[groupName];
344
+ if (!groupContext) {
345
+ process.env.NODE_ENV === "development" && debug && console.warn(`No parent with group prop, skipping styles: ${groupName}`);
346
+ continue;
627
347
  }
628
- continue;
629
- }
630
- const groupPseudoKey = groupInfo.pseudo;
631
- const groupMediaKey = groupInfo.media;
632
- const componentGroupState = (_c = componentState.group) == null ? void 0 : _c[groupName];
633
- if (groupMediaKey) {
634
- mediaGroups || (mediaGroups = /* @__PURE__ */ new Set());
635
- mediaGroups.add(groupMediaKey);
636
- const mediaState2 = componentGroupState == null ? void 0 : componentGroupState.media;
637
- let isActive = mediaState2 == null ? void 0 : mediaState2[groupMediaKey];
638
- if (!mediaState2 && groupContext.layout) {
639
- isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupContext.layout);
348
+ const groupPseudoKey = groupInfo.pseudo, groupMediaKey = groupInfo.media, componentGroupState = componentState.group?.[groupName];
349
+ if (groupMediaKey) {
350
+ mediaGroups ||= /* @__PURE__ */ new Set(), mediaGroups.add(groupMediaKey);
351
+ const mediaState2 = componentGroupState?.media;
352
+ let isActive = mediaState2?.[groupMediaKey];
353
+ if (!mediaState2 && groupContext.layout && (isActive = (0, import_useMedia.mediaKeyMatch)(groupMediaKey, groupContext.layout)), !isActive)
354
+ continue;
355
+ importanceBump = 2;
356
+ }
357
+ if (groupPseudoKey) {
358
+ if (pseudoGroups ||= /* @__PURE__ */ new Set(), pseudoGroups.add(groupName), !(componentGroupState || // fallback to context initially
359
+ context.groups.state[groupName]).pseudo?.[groupPseudoKey])
360
+ continue;
361
+ importanceBump = import_pseudoDescriptors.pseudoPriorities[groupPseudoKey];
640
362
  }
641
- if (!isActive)
642
- continue;
643
- importanceBump = 2;
644
363
  }
645
- if (groupPseudoKey) {
646
- pseudoGroups || (pseudoGroups = /* @__PURE__ */ new Set());
647
- pseudoGroups.add(groupName);
648
- const componentGroupPseudoState = (componentGroupState || // fallback to context initially
649
- context.groups.state[groupName]).pseudo;
650
- const isActive = componentGroupPseudoState == null ? void 0 : componentGroupPseudoState[groupPseudoKey];
651
- if (!isActive)
364
+ for (const subKey in mediaStyle) {
365
+ if (subKey === "space") {
366
+ space = valInit.space;
652
367
  continue;
653
- const priority = import_pseudoDescriptors.pseudoPriorities[groupPseudoKey];
654
- importanceBump = priority;
655
- }
656
- }
657
- for (const subKey in mediaStyle) {
658
- if (subKey === "space") {
659
- space = valInit.space;
660
- continue;
661
- }
662
- (0, import_useMedia.mergeMediaByImportance)(
663
- style,
664
- mediaKeyShort,
665
- subKey,
666
- mediaStyle[subKey],
667
- usedKeys,
668
- mediaState[mediaKeyShort],
669
- importanceBump
670
- );
671
- if (key === fontFamilyKey) {
672
- styleState.fontFamily = mediaStyle.fontFamily;
368
+ }
369
+ (0, import_useMedia.mergeMediaByImportance)(
370
+ style,
371
+ mediaKeyShort,
372
+ subKey,
373
+ mediaStyle[subKey],
374
+ usedKeys,
375
+ mediaState[mediaKeyShort],
376
+ importanceBump
377
+ ), key === fontFamilyKey && (styleState.fontFamily = mediaStyle.fontFamily);
673
378
  }
674
379
  }
380
+ continue;
675
381
  }
676
- continue;
677
- }
678
- if (process.env.TAMAGUI_TARGET === "native") {
679
- if (key === "pointerEvents") {
680
- viewProps[key] = val;
382
+ if (
383
+ // is HOC we can just pass through the styles as props
384
+ // this fixes issues where style prop got merged with wrong priority
385
+ !isHOC && key in validStyleProps
386
+ ) {
387
+ mergeStyle(styleState, key, val);
681
388
  continue;
682
389
  }
390
+ isVariant || (viewProps[key] = val);
683
391
  }
684
- if (
685
- // is HOC we can just pass through the styles as props
686
- // this fixes issues where style prop got merged with wrong priority
687
- !isHOC && (key in validStyleProps || process.env.TAMAGUI_TARGET === "native" && import_constants.isAndroid && key === "elevation")
688
- ) {
689
- mergeStyle(styleState, key, val);
690
- continue;
691
- }
692
- if (!isVariant) {
693
- viewProps[key] = val;
694
- }
695
- }
696
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
697
- console.groupCollapsed(` \u2714\uFE0F expand complete`, keyInit);
698
- try {
699
- console.log("style", { ...style });
700
- console.log("viewProps", { ...viewProps });
701
- } catch {
392
+ if (process.env.NODE_ENV === "development" && debug === "verbose") {
393
+ console.groupCollapsed(" \u2714\uFE0F expand complete", keyInit);
394
+ try {
395
+ console.log("style", { ...style }), console.log("viewProps", { ...viewProps });
396
+ } catch {
397
+ }
398
+ console.groupEnd();
702
399
  }
703
- console.groupEnd();
704
400
  }
705
401
  }
706
- if (props.style) {
707
- mergeStyleProp(styleState, props.style);
708
- }
709
- (0, import_expandStyles.fixStyles)(style);
710
- if (import_constants.isWeb && !staticConfig.isReactNative) {
711
- (0, import_getStylesAtomic.styleToCSS)(style);
402
+ if (props.style && mergeStyleProp(styleState, props.style), (0, import_expandStyles.fixStyles)(style), import_constants.isWeb && !staticConfig.isReactNative && (0, import_getStylesAtomic.styleToCSS)(style), styleState.transforms && Object.entries(styleState.transforms).sort(([a], [b]) => a.localeCompare(b)).forEach(([key, val]) => {
403
+ mergeTransform(style, key, val, !0);
404
+ }), parentSplitStyles) {
405
+ if (shouldDoClasses)
406
+ for (const key in parentSplitStyles.classNames) {
407
+ const val = parentSplitStyles.classNames[key];
408
+ key in style || key in classNames || (classNames[key] = val);
409
+ }
410
+ if (!shouldDoClasses)
411
+ for (const key in parentSplitStyles.style)
412
+ key in classNames || key in style || (style[key] = parentSplitStyles.style[key]);
712
413
  }
713
- if (styleState.transforms) {
714
- Object.entries(styleState.transforms).sort(([a], [b]) => a.localeCompare(b)).forEach(([key, val]) => {
715
- mergeTransform(style, key, val, true);
716
- });
717
- }
718
- if (parentSplitStyles) {
719
- if (process.env.TAMAGUI_TARGET === "web") {
720
- if (shouldDoClasses) {
721
- for (const key in parentSplitStyles.classNames) {
722
- const val = parentSplitStyles.classNames[key];
723
- if (key in style || key in classNames)
724
- continue;
725
- classNames[key] = val;
726
- }
727
- }
728
- }
729
- if (!shouldDoClasses) {
730
- for (const key in parentSplitStyles.style) {
731
- if (key in classNames || key in style)
732
- continue;
733
- style[key] = parentSplitStyles.style[key];
414
+ if (shouldDoClasses) {
415
+ let retainedStyles, shouldRetain = !1;
416
+ if (!style.$$css) {
417
+ const atomic = (0, import_getStylesAtomic.getStylesAtomic)(style);
418
+ for (const atomicStyle of atomic) {
419
+ const key = atomicStyle.property, isAnimatedAndAnimateOnly = styleProps.isAnimated && styleProps.noClassNames && (!props.animateOnly || props.animateOnly.includes(key)), nonAnimatedAnimateOnly = !isAnimatedAndAnimateOnly && !styleProps.isAnimated && props.animateOnly?.includes(key);
420
+ isAnimatedAndAnimateOnly ? (retainedStyles ||= {}, retainedStyles[key] = style[key]) : nonAnimatedAnimateOnly ? (retainedStyles ||= {}, retainedStyles[key] = atomicStyle.value, shouldRetain = !0) : (addStyleToInsertRules(rulesToInsert, atomicStyle), mergeClassName(
421
+ transforms,
422
+ classNames,
423
+ key,
424
+ atomicStyle.identifier,
425
+ !1,
426
+ !0
427
+ ));
734
428
  }
429
+ (shouldRetain || !IS_STATIC && !styleProps.keepStyleSSR) && (style = retainedStyles || {});
735
430
  }
736
431
  }
737
- if (process.env.TAMAGUI_TARGET === "web") {
738
- if (shouldDoClasses) {
739
- let retainedStyles;
740
- let shouldRetain = false;
741
- if (style["$$css"]) {
742
- } else {
743
- const atomic = (0, import_getStylesAtomic.getStylesAtomic)(style);
744
- for (const atomicStyle of atomic) {
745
- const key = atomicStyle.property;
746
- const isAnimatedAndAnimateOnly = styleProps.isAnimated && styleProps.noClassNames && (!props.animateOnly || props.animateOnly.includes(key));
747
- const nonAnimatedAnimateOnly = !isAnimatedAndAnimateOnly && !styleProps.isAnimated && ((_d = props.animateOnly) == null ? void 0 : _d.includes(key));
748
- if (isAnimatedAndAnimateOnly) {
749
- retainedStyles || (retainedStyles = {});
750
- retainedStyles[key] = style[key];
751
- } else if (nonAnimatedAnimateOnly) {
752
- retainedStyles || (retainedStyles = {});
753
- retainedStyles[key] = atomicStyle.value;
754
- shouldRetain = true;
755
- } else {
756
- addStyleToInsertRules(rulesToInsert, atomicStyle);
757
- mergeClassName(
758
- transforms,
759
- classNames,
760
- key,
761
- atomicStyle.identifier,
762
- false,
763
- true
764
- );
765
- }
766
- }
767
- if (shouldRetain || !IS_STATIC && !styleProps.keepStyleSSR) {
768
- style = retainedStyles || {};
769
- }
770
- }
771
- }
772
- if (transforms) {
773
- for (const namespace in transforms) {
774
- if (!transforms[namespace]) {
775
- if (process.env.NODE_ENV === "development") {
776
- console.warn("Error no transform", transforms, namespace);
777
- }
778
- continue;
779
- }
780
- const [hash, val] = transforms[namespace];
781
- const identifier = `_transform${hash}`;
782
- if (import_constants.isClient && !import_insertStyleRule.insertedTransforms[identifier]) {
783
- const rule = `.${identifier} { transform: ${val}; }`;
784
- addStyleToInsertRules(rulesToInsert, {
785
- identifier,
786
- rules: [rule],
787
- property: namespace
788
- });
789
- }
790
- classNames[namespace] = identifier;
432
+ if (transforms)
433
+ for (const namespace in transforms) {
434
+ if (!transforms[namespace]) {
435
+ process.env.NODE_ENV === "development" && console.warn("Error no transform", transforms, namespace);
436
+ continue;
791
437
  }
792
- }
793
- if (import_constants.isWeb && !isReactNative) {
794
- if (viewProps.tabIndex == null) {
795
- const isFocusable = viewProps.focusable ?? viewProps.accessible;
796
- if (viewProps.focusable) {
797
- delete viewProps.focusable;
798
- }
799
- const role = viewProps.role;
800
- if (isFocusable === false) {
801
- viewProps.tabIndex = "-1";
802
- }
803
- if (
804
- // These native elements are focusable by default
805
- elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea"
806
- ) {
807
- if (isFocusable === false || props.accessibilityDisabled === true) {
808
- viewProps.tabIndex = "-1";
809
- }
810
- } else if (
811
- // These roles are made focusable by default
812
- role === "button" || role === "checkbox" || role === "link" || role === "radio" || // @ts-expect-error (consistent with RNW)
813
- role === "textbox" || role === "switch"
814
- ) {
815
- if (isFocusable !== false) {
816
- viewProps.tabIndex = "0";
817
- }
818
- }
819
- if (isFocusable) {
820
- viewProps.tabIndex = "0";
821
- delete viewProps.focusable;
822
- }
438
+ const [hash, val] = transforms[namespace], identifier = `_transform${hash}`;
439
+ if (import_constants.isClient && !import_insertStyleRule.insertedTransforms[identifier]) {
440
+ const rule = `.${identifier} { transform: ${val}; }`;
441
+ addStyleToInsertRules(rulesToInsert, {
442
+ identifier,
443
+ rules: [rule],
444
+ property: namespace
445
+ });
823
446
  }
447
+ classNames[namespace] = identifier;
824
448
  }
449
+ if (import_constants.isWeb && !isReactNative && viewProps.tabIndex == null) {
450
+ const isFocusable = viewProps.focusable ?? viewProps.accessible;
451
+ viewProps.focusable && delete viewProps.focusable;
452
+ const role = viewProps.role;
453
+ isFocusable === !1 && (viewProps.tabIndex = "-1"), // These native elements are focusable by default
454
+ elementType === "a" || elementType === "button" || elementType === "input" || elementType === "select" || elementType === "textarea" ? (isFocusable === !1 || props.accessibilityDisabled === !0) && (viewProps.tabIndex = "-1") : (
455
+ // These roles are made focusable by default
456
+ (role === "button" || role === "checkbox" || role === "link" || role === "radio" || // @ts-expect-error (consistent with RNW)
457
+ role === "textbox" || role === "switch") && isFocusable !== !1 && (viewProps.tabIndex = "0")
458
+ ), isFocusable && (viewProps.tabIndex = "0", delete viewProps.focusable);
825
459
  }
826
460
  const result = {
827
461
  space,
@@ -837,110 +471,57 @@ const getSplitStyles = (props, staticConfig, theme, themeName, componentState, s
837
471
  pseudoGroups,
838
472
  mediaGroups
839
473
  };
840
- if (process.env.TAMAGUI_TARGET === "native") {
841
- if (style.fontFamily) {
842
- const faceInfo = (_e = (0, import_config.getFont)(style.fontFamily)) == null ? void 0 : _e.face;
843
- if (faceInfo) {
844
- const overrideFace = (_g = (_f = faceInfo[style.fontWeight]) == null ? void 0 : _f[style.fontStyle || "normal"]) == null ? void 0 : _g.val;
845
- if (overrideFace) {
846
- style.fontFamily = overrideFace;
847
- styleState.fontFamily = overrideFace;
848
- delete style.fontWeight;
849
- delete style.fontStyle;
850
- }
851
- }
852
- if (process.env.NODE_ENV === "development" && debug && debug !== "profile") {
853
- console.log(`Found fontFamily native: ${style.fontFamily}`, faceInfo);
854
- }
855
- }
856
- }
857
- if (className) {
858
- classNames.className = className;
859
- }
860
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
861
- if (import_isDevTools.isDevTools) {
862
- console.groupCollapsed(" \u{1F539} ===>");
863
- try {
864
- const logs = {
865
- ...result,
866
- componentState,
867
- transforms,
868
- viewProps,
869
- viewPropsOrder: Object.keys(viewProps),
870
- rulesToInsert,
871
- parentSplitStyles
872
- };
873
- for (const key in logs) {
874
- console.log(key, logs[key]);
875
- }
876
- } catch {
877
- }
878
- console.groupEnd();
474
+ if (className && (classNames.className = className), process.env.NODE_ENV === "development" && debug === "verbose" && import_isDevTools.isDevTools) {
475
+ console.groupCollapsed(" \u{1F539} ===>");
476
+ try {
477
+ const logs = {
478
+ ...result,
479
+ componentState,
480
+ transforms,
481
+ viewProps,
482
+ viewPropsOrder: Object.keys(viewProps),
483
+ rulesToInsert,
484
+ parentSplitStyles
485
+ };
486
+ for (const key in logs)
487
+ console.log(key, logs[key]);
488
+ } catch {
879
489
  }
490
+ console.groupEnd();
880
491
  }
881
492
  return result;
882
493
  };
883
- function mergeClassName(transforms, classNames, key, val, isMediaOrPseudo = false, isInsertingNow = false) {
884
- if (process.env.TAMAGUI_TARGET === "web") {
885
- if (!val)
886
- return;
494
+ function mergeClassName(transforms, classNames, key, val, isMediaOrPseudo = !1, isInsertingNow = !1) {
495
+ if (val)
887
496
  if (!isInsertingNow && val[0] === "_" && val.startsWith("_transform-")) {
888
497
  const ns = isMediaOrPseudo ? key : "transform";
889
498
  let transform = import_insertStyleRule.insertedTransforms[val];
890
- if (import_constants.isClient && !transform) {
891
- (0, import_insertStyleRule.scanAllSheets)();
892
- transform = import_insertStyleRule.insertedTransforms[val];
893
- if (!transform && import_constants.isWeb && val[0] !== "_") {
894
- transform = val;
895
- }
896
- }
897
- transforms[ns] || (transforms[ns] = ["", ""]);
898
- transforms[ns][0] += val.replace("_transform", "");
899
- if (transform) {
900
- transforms[ns][1] += transform;
901
- }
902
- } else {
499
+ import_constants.isClient && !transform && ((0, import_insertStyleRule.scanAllSheets)(), transform = import_insertStyleRule.insertedTransforms[val], !transform && import_constants.isWeb && val[0] !== "_" && (transform = val)), transforms[ns] ||= ["", ""], transforms[ns][0] += val.replace("_transform", ""), transform && (transforms[ns][1] += transform);
500
+ } else
903
501
  classNames[key] = val;
904
- }
905
- }
906
502
  }
907
503
  function mergeStyle(styleState, key, val) {
908
504
  const { classNames, viewProps, style, usedKeys } = styleState;
909
- if (import_constants.isWeb && (val == null ? void 0 : val[0]) === "_") {
910
- classNames[key] = val;
911
- usedKeys[key] || (usedKeys[key] = 1);
912
- } else if (key in import_helpers.stylePropsTransform) {
913
- styleState.transforms || (styleState.transforms = {});
914
- styleState.transforms[key] = val;
915
- } else {
505
+ if (import_constants.isWeb && val?.[0] === "_")
506
+ classNames[key] = val, usedKeys[key] ||= 1;
507
+ else if (key in import_helpers.stylePropsTransform)
508
+ styleState.transforms ||= {}, styleState.transforms[key] = val;
509
+ else {
916
510
  const out = import_constants.isWeb ? (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(val, key) : val;
917
- if (key in import_helpers.validStylesOnBaseProps) {
918
- viewProps[key] = out;
919
- } else {
920
- style[key] = out;
921
- }
511
+ key in import_helpers.validStylesOnBaseProps ? viewProps[key] = out : style[key] = out;
922
512
  }
923
513
  }
924
514
  const getSubStyle = (styleState, subKey, styleIn, avoidMergeTransform) => {
925
- const { staticConfig, props, conf: conf2 } = styleState;
926
- const styleOut = {};
515
+ const { staticConfig, props, conf: conf2 } = styleState, styleOut = {};
927
516
  for (let key in styleIn) {
928
517
  const val = styleIn[key];
929
518
  key = conf2.shorthands[key] || key;
930
519
  const expanded = (0, import_propMapper.propMapper)(key, val, styleState, { ...props, ...props[subKey] });
931
- if (!expanded || !staticConfig.isHOC && key in skipProps) {
932
- continue;
933
- }
934
- for (const [skey, sval] of expanded) {
935
- if (!avoidMergeTransform && skey in import_helpers.stylePropsTransform) {
936
- mergeTransform(styleOut, skey, sval);
937
- } else {
938
- styleOut[skey] = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(sval, key);
939
- }
940
- }
520
+ if (!(!expanded || !staticConfig.isHOC && key in skipProps))
521
+ for (const [skey, sval] of expanded)
522
+ !avoidMergeTransform && skey in import_helpers.stylePropsTransform ? mergeTransform(styleOut, skey, sval) : styleOut[skey] = (0, import_normalizeValueWithProperty.normalizeValueWithProperty)(sval, key);
941
523
  }
942
- (0, import_expandStyles.fixStyles)(styleOut);
943
- return styleOut;
524
+ return (0, import_expandStyles.fixStyles)(styleOut), styleOut;
944
525
  };
945
526
  function mergeStyleProp(styleState, val) {
946
527
  if (!val)
@@ -949,36 +530,22 @@ function mergeStyleProp(styleState, val) {
949
530
  for (const cur of styles) {
950
531
  if (!cur)
951
532
  continue;
952
- const isRNW = cur["$$css"];
953
- if (isRNW) {
533
+ if (cur.$$css)
954
534
  Object.assign(styleState.classNames, cur);
955
- } else {
956
- for (const key in cur) {
957
- if (key in styleState.usedKeys) {
958
- continue;
959
- }
960
- mergeStyle(styleState, key, cur[key]);
961
- }
962
- }
535
+ else
536
+ for (const key in cur)
537
+ key in styleState.usedKeys || mergeStyle(styleState, key, cur[key]);
963
538
  }
964
539
  }
965
540
  const useInsertEffectCompat = import_constants.isWeb ? import_react.useInsertionEffect || import_constants.useIsomorphicLayoutEffect : () => {
966
- };
967
- const useSplitStyles = (...args) => {
541
+ }, useSplitStyles = (...args) => {
968
542
  const res = getSplitStyles(...args);
969
- useInsertEffectCompat(() => {
543
+ return useInsertEffectCompat(() => {
970
544
  (0, import_insertStyleRule.insertStyleRules)(res.rulesToInsert);
971
- }, [res.rulesToInsert]);
972
- return res;
545
+ }, [res.rulesToInsert]), res;
973
546
  };
974
547
  function addStyleToInsertRules(rulesToInsert, styleObject) {
975
- if (process.env.TAMAGUI_TARGET === "web") {
976
- if (!(0, import_insertStyleRule.shouldInsertStyleRules)(styleObject.identifier)) {
977
- return;
978
- }
979
- (0, import_insertStyleRule.updateRules)(styleObject.identifier, styleObject.rules);
980
- rulesToInsert.push(styleObject);
981
- }
548
+ (0, import_insertStyleRule.shouldInsertStyleRules)(styleObject.identifier) && ((0, import_insertStyleRule.updateRules)(styleObject.identifier, styleObject.rules), rulesToInsert.push(styleObject));
982
549
  }
983
550
  function processIDRefList(idRefList) {
984
551
  return Array.isArray(idRefList) ? idRefList.join(" ") : idRefList;
@@ -991,23 +558,14 @@ const animatableDefaults = {
991
558
  rotateX: "0deg",
992
559
  x: 0,
993
560
  y: 0
994
- };
995
- const lowercaseHyphenate = (match) => `-${match.toLowerCase()}`;
996
- const hyphenate = (str) => str.replace(/[A-Z]/g, lowercaseHyphenate);
997
- const mergeTransform = (obj, key, val, backwards = false) => {
998
- if (typeof obj.transform === "string") {
999
- return;
1000
- }
1001
- obj.transform || (obj.transform = []);
1002
- obj.transform[backwards ? "unshift" : "push"]({
561
+ }, lowercaseHyphenate = (match) => `-${match.toLowerCase()}`, hyphenate = (str) => str.replace(/[A-Z]/g, lowercaseHyphenate), mergeTransform = (obj, key, val, backwards = !1) => {
562
+ typeof obj.transform != "string" && (obj.transform ||= [], obj.transform[backwards ? "unshift" : "push"]({
1003
563
  [mapTransformKeys[key] || key]: val
1004
- });
1005
- };
1006
- const mapTransformKeys = {
564
+ }));
565
+ }, mapTransformKeys = {
1007
566
  x: "translateX",
1008
567
  y: "translateY"
1009
- };
1010
- const skipProps = {
568
+ }, skipProps = {
1011
569
  untilMeasured: 1,
1012
570
  animation: 1,
1013
571
  space: 1,
@@ -1021,31 +579,12 @@ const skipProps = {
1021
579
  // handled after loop so pseudos set usedKeys and override it if necessary
1022
580
  group: 1
1023
581
  };
1024
- if (process.env.NODE_ENV === "test") {
1025
- skipProps["data-test-renders"] = 1;
1026
- }
1027
- if (process.env.TAMAGUI_TARGET === "native") {
1028
- Object.assign(skipProps, {
1029
- whiteSpace: 1,
1030
- wordWrap: 1,
1031
- textOverflow: 1,
1032
- textDecorationDistance: 1,
1033
- cursor: 1,
1034
- contain: 1,
1035
- boxSizing: 1,
1036
- boxShadow: 1,
1037
- outlineStyle: 1,
1038
- outlineOffset: 1,
1039
- outlineWidth: 1,
1040
- outlineColor: 1
1041
- });
1042
- } else {
1043
- Object.assign(skipProps, {
1044
- elevationAndroid: 1,
1045
- allowFontScaling: true,
1046
- adjustsFontSizeToFit: true
1047
- });
1048
- }
582
+ process.env.NODE_ENV === "test" && (skipProps["data-test-renders"] = 1);
583
+ Object.assign(skipProps, {
584
+ elevationAndroid: 1,
585
+ allowFontScaling: !0,
586
+ adjustsFontSizeToFit: !0
587
+ });
1049
588
  const accessibilityRoleToWebRole = {
1050
589
  adjustable: "slider",
1051
590
  header: "heading",
@@ -1054,17 +593,15 @@ const accessibilityRoleToWebRole = {
1054
593
  none: "presentation",
1055
594
  summary: "region"
1056
595
  };
1057
- function passDownProp(viewProps, key, val, shouldMergeObject = false) {
596
+ function passDownProp(viewProps, key, val, shouldMergeObject = !1) {
1058
597
  if (shouldMergeObject) {
1059
598
  const next = {
1060
599
  ...viewProps[key],
1061
600
  ...val
1062
601
  };
1063
- delete viewProps[key];
1064
- viewProps[key] = next;
1065
- } else {
602
+ delete viewProps[key], viewProps[key] = next;
603
+ } else
1066
604
  viewProps[key] = val;
1067
- }
1068
605
  }
1069
606
  // Annotate the CommonJS export names for ESM import in node:
1070
607
  0 && (module.exports = {