@tamagui/web 1.13.3 → 1.14.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 (518) hide show
  1. package/dist/cjs/Tamagui.js +1 -76
  2. package/dist/cjs/Tamagui.js.map +2 -2
  3. package/dist/cjs/addTheme.js +2 -77
  4. package/dist/cjs/addTheme.js.map +2 -2
  5. package/dist/cjs/config.js +1 -122
  6. package/dist/cjs/config.js.map +2 -2
  7. package/dist/cjs/constants/constants.js +1 -48
  8. package/dist/cjs/constants/constants.js.map +2 -2
  9. package/dist/cjs/constants/isDevTools.js +1 -36
  10. package/dist/cjs/constants/isDevTools.js.map +2 -2
  11. package/dist/cjs/contexts/AnimationDriverContext.js +1 -29
  12. package/dist/cjs/contexts/AnimationDriverContext.js.map +2 -2
  13. package/dist/cjs/contexts/ButtonNestingContext.js +1 -29
  14. package/dist/cjs/contexts/ButtonNestingContext.js.map +2 -2
  15. package/dist/cjs/contexts/FontLanguageContext.js +1 -29
  16. package/dist/cjs/contexts/FontLanguageContext.js.map +2 -2
  17. package/dist/cjs/contexts/TextAncestorContext.js +1 -29
  18. package/dist/cjs/contexts/TextAncestorContext.js.map +2 -2
  19. package/dist/cjs/createComponent.js +2 -874
  20. package/dist/cjs/createComponent.js.map +3 -3
  21. package/dist/cjs/createFont.js +1 -68
  22. package/dist/cjs/createFont.js.map +2 -2
  23. package/dist/cjs/createShorthands.js +1 -30
  24. package/dist/cjs/createShorthands.js.map +2 -2
  25. package/dist/cjs/createTamagui.js +5 -202
  26. package/dist/cjs/createTamagui.js.map +2 -2
  27. package/dist/cjs/createTheme.js +1 -30
  28. package/dist/cjs/createTheme.js.map +2 -2
  29. package/dist/cjs/createTokens.js +1 -38
  30. package/dist/cjs/createTokens.js.map +2 -2
  31. package/dist/cjs/createVariable.js +1 -110
  32. package/dist/cjs/createVariable.js.map +2 -2
  33. package/dist/cjs/createVariables.js +1 -59
  34. package/dist/cjs/createVariables.js.map +2 -2
  35. package/dist/cjs/helpers/ThemeManager.js +1 -236
  36. package/dist/cjs/helpers/ThemeManager.js.map +3 -3
  37. package/dist/cjs/helpers/ThemeManagerContext.js +1 -29
  38. package/dist/cjs/helpers/ThemeManagerContext.js.map +2 -2
  39. package/dist/cjs/helpers/createMediaStyle.js +1 -66
  40. package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
  41. package/dist/cjs/helpers/createPropMapper.js +2 -431
  42. package/dist/cjs/helpers/createPropMapper.js.map +2 -2
  43. package/dist/cjs/helpers/createProxy.js +2 -41
  44. package/dist/cjs/helpers/createProxy.js.map +2 -2
  45. package/dist/cjs/helpers/defaultOffset.js +1 -28
  46. package/dist/cjs/helpers/defaultOffset.js.map +2 -2
  47. package/dist/cjs/helpers/expandStyle.js +1 -85
  48. package/dist/cjs/helpers/expandStyle.js.map +2 -2
  49. package/dist/cjs/helpers/expandStyles.js +1 -76
  50. package/dist/cjs/helpers/expandStyles.js.map +2 -2
  51. package/dist/cjs/helpers/extendStaticConfig.js +1 -91
  52. package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
  53. package/dist/cjs/helpers/getAnimationDriver.js +1 -31
  54. package/dist/cjs/helpers/getAnimationDriver.js.map +2 -2
  55. package/dist/cjs/helpers/getExpandedShorthands.js +1 -38
  56. package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
  57. package/dist/cjs/helpers/getFontLanguage.js +1 -28
  58. package/dist/cjs/helpers/getFontLanguage.js.map +2 -2
  59. package/dist/cjs/helpers/getSplitStyles.js +3 -865
  60. package/dist/cjs/helpers/getSplitStyles.js.map +3 -3
  61. package/dist/cjs/helpers/getStylesAtomic.js +1 -226
  62. package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
  63. package/dist/cjs/helpers/getStylesAtomic.native.js +1 -37
  64. package/dist/cjs/helpers/getStylesAtomic.native.js.map +2 -2
  65. package/dist/cjs/helpers/getThemeCSSRules.js +4 -126
  66. package/dist/cjs/helpers/getThemeCSSRules.js.map +2 -2
  67. package/dist/cjs/helpers/getThemeCSSRules.native.js +1 -30
  68. package/dist/cjs/helpers/getThemeCSSRules.native.js.map +2 -2
  69. package/dist/cjs/helpers/getVariantExtras.js +1 -91
  70. package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
  71. package/dist/cjs/helpers/insertStyleRule.js +2 -222
  72. package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
  73. package/dist/cjs/helpers/isObj.js +1 -28
  74. package/dist/cjs/helpers/isObj.js.map +2 -2
  75. package/dist/cjs/helpers/isTamaguiComponent.js +1 -31
  76. package/dist/cjs/helpers/isTamaguiComponent.js.map +2 -2
  77. package/dist/cjs/helpers/isTamaguiElement.js +1 -32
  78. package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
  79. package/dist/cjs/helpers/matchMedia.js +1 -41
  80. package/dist/cjs/helpers/matchMedia.js.map +2 -2
  81. package/dist/cjs/helpers/matchMedia.native.js +1 -47
  82. package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
  83. package/dist/cjs/helpers/mergeProps.js +1 -53
  84. package/dist/cjs/helpers/mergeProps.js.map +2 -2
  85. package/dist/cjs/helpers/normalizeColor.js +1 -66
  86. package/dist/cjs/helpers/normalizeColor.js.map +2 -2
  87. package/dist/cjs/helpers/normalizeShadow.js +1 -46
  88. package/dist/cjs/helpers/normalizeShadow.js.map +2 -2
  89. package/dist/cjs/helpers/normalizeShadow.native.js +1 -54
  90. package/dist/cjs/helpers/normalizeShadow.native.js.map +2 -2
  91. package/dist/cjs/helpers/normalizeStylePropKeys.js +1 -28
  92. package/dist/cjs/helpers/normalizeStylePropKeys.js.map +2 -2
  93. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +1 -39
  94. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +2 -2
  95. package/dist/cjs/helpers/normalizeValueWithProperty.js +1 -125
  96. package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
  97. package/dist/cjs/helpers/proxyThemeVariables.js +1 -39
  98. package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
  99. package/dist/cjs/helpers/pseudoDescriptors.js +1 -52
  100. package/dist/cjs/helpers/pseudoDescriptors.js.map +2 -2
  101. package/dist/cjs/helpers/registerCSSVariable.js +1 -39
  102. package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
  103. package/dist/cjs/helpers/themeable.js +1 -61
  104. package/dist/cjs/helpers/themeable.js.map +2 -2
  105. package/dist/cjs/helpers/themes.js +1 -75
  106. package/dist/cjs/helpers/themes.js.map +2 -2
  107. package/dist/cjs/helpers/timer.js +1 -34
  108. package/dist/cjs/helpers/timer.js.map +2 -2
  109. package/dist/cjs/helpers/useShallowSetState.js +1 -58
  110. package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
  111. package/dist/cjs/helpers/warnOnce.js +1 -37
  112. package/dist/cjs/helpers/warnOnce.js.map +2 -2
  113. package/dist/cjs/helpers/withStaticProperties.js +1 -32
  114. package/dist/cjs/helpers/withStaticProperties.js.map +2 -2
  115. package/dist/cjs/hooks/getThemeUnwrapped.js +1 -33
  116. package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
  117. package/dist/cjs/hooks/useAnimationDriver.js +1 -33
  118. package/dist/cjs/hooks/useAnimationDriver.js.map +2 -2
  119. package/dist/cjs/hooks/useId.js +1 -28
  120. package/dist/cjs/hooks/useId.js.map +2 -2
  121. package/dist/cjs/hooks/useIsTouchDevice.js +1 -32
  122. package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
  123. package/dist/cjs/hooks/useMedia.js +1 -264
  124. package/dist/cjs/hooks/useMedia.js.map +2 -2
  125. package/dist/cjs/hooks/useSafeRef.js +1 -58
  126. package/dist/cjs/hooks/useSafeRef.js.map +2 -2
  127. package/dist/cjs/hooks/useServerHooks.js +1 -35
  128. package/dist/cjs/hooks/useServerHooks.js.map +2 -2
  129. package/dist/cjs/hooks/useStyle.js +1 -60
  130. package/dist/cjs/hooks/useStyle.js.map +2 -2
  131. package/dist/cjs/hooks/useTheme.js +1 -229
  132. package/dist/cjs/hooks/useTheme.js.map +3 -3
  133. package/dist/cjs/hooks/useThemeName.js +1 -51
  134. package/dist/cjs/hooks/useThemeName.js.map +2 -2
  135. package/dist/cjs/index.js +1 -110
  136. package/dist/cjs/index.js.map +2 -2
  137. package/dist/cjs/inject-styles.js +1 -39
  138. package/dist/cjs/inject-styles.js.map +2 -2
  139. package/dist/cjs/insertFont.js +1 -92
  140. package/dist/cjs/insertFont.js.map +2 -2
  141. package/dist/cjs/setupHooks.js +1 -33
  142. package/dist/cjs/setupHooks.js.map +2 -2
  143. package/dist/cjs/setupReactNative.js +1 -50
  144. package/dist/cjs/setupReactNative.js.map +2 -2
  145. package/dist/cjs/styled.js +1 -93
  146. package/dist/cjs/styled.js.map +2 -2
  147. package/dist/cjs/types.js +1 -16
  148. package/dist/cjs/types.js.map +3 -3
  149. package/dist/cjs/updateTheme.js +1 -46
  150. package/dist/cjs/updateTheme.js.map +2 -2
  151. package/dist/cjs/views/AnimationDriverProvider.js +1 -32
  152. package/dist/cjs/views/AnimationDriverProvider.js.map +2 -2
  153. package/dist/cjs/views/FontLanguage.js +1 -40
  154. package/dist/cjs/views/FontLanguage.js.map +2 -2
  155. package/dist/cjs/views/FontLanguage.native.js +1 -34
  156. package/dist/cjs/views/FontLanguage.native.js.map +2 -2
  157. package/dist/cjs/views/FontLanguage.types.js +1 -16
  158. package/dist/cjs/views/FontLanguage.types.js.map +2 -2
  159. package/dist/cjs/views/Slot.js +1 -91
  160. package/dist/cjs/views/Slot.js.map +2 -2
  161. package/dist/cjs/views/Stack.js +1 -37
  162. package/dist/cjs/views/Stack.js.map +2 -2
  163. package/dist/cjs/views/TamaguiProvider.js +1 -90
  164. package/dist/cjs/views/TamaguiProvider.js.map +2 -2
  165. package/dist/cjs/views/Text.js +1 -95
  166. package/dist/cjs/views/Text.js.map +2 -2
  167. package/dist/cjs/views/Theme.js +1 -80
  168. package/dist/cjs/views/Theme.js.map +3 -3
  169. package/dist/cjs/views/ThemeProvider.js +1 -69
  170. package/dist/cjs/views/ThemeProvider.js.map +2 -2
  171. package/dist/esm/Tamagui.js +1 -44
  172. package/dist/esm/Tamagui.js.map +2 -2
  173. package/dist/esm/Tamagui.mjs +1 -44
  174. package/dist/esm/Tamagui.mjs.map +2 -2
  175. package/dist/esm/addTheme.js +2 -53
  176. package/dist/esm/addTheme.js.map +2 -2
  177. package/dist/esm/addTheme.mjs +2 -53
  178. package/dist/esm/addTheme.mjs.map +2 -2
  179. package/dist/esm/config.js +1 -89
  180. package/dist/esm/config.js.map +2 -2
  181. package/dist/esm/config.mjs +1 -89
  182. package/dist/esm/config.mjs.map +2 -2
  183. package/dist/esm/constants/constants.js +1 -21
  184. package/dist/esm/constants/constants.js.map +2 -2
  185. package/dist/esm/constants/constants.mjs +1 -21
  186. package/dist/esm/constants/constants.mjs.map +2 -2
  187. package/dist/esm/constants/isDevTools.js +1 -12
  188. package/dist/esm/constants/isDevTools.js.map +2 -2
  189. package/dist/esm/constants/isDevTools.mjs +1 -12
  190. package/dist/esm/constants/isDevTools.mjs.map +2 -2
  191. package/dist/esm/contexts/AnimationDriverContext.js +1 -5
  192. package/dist/esm/contexts/AnimationDriverContext.js.map +2 -2
  193. package/dist/esm/contexts/AnimationDriverContext.mjs +1 -5
  194. package/dist/esm/contexts/AnimationDriverContext.mjs.map +2 -2
  195. package/dist/esm/contexts/ButtonNestingContext.js +1 -5
  196. package/dist/esm/contexts/ButtonNestingContext.js.map +2 -2
  197. package/dist/esm/contexts/ButtonNestingContext.mjs +1 -5
  198. package/dist/esm/contexts/ButtonNestingContext.mjs.map +2 -2
  199. package/dist/esm/contexts/FontLanguageContext.js +1 -5
  200. package/dist/esm/contexts/FontLanguageContext.js.map +2 -2
  201. package/dist/esm/contexts/FontLanguageContext.mjs +1 -5
  202. package/dist/esm/contexts/FontLanguageContext.mjs.map +2 -2
  203. package/dist/esm/contexts/TextAncestorContext.js +1 -5
  204. package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
  205. package/dist/esm/contexts/TextAncestorContext.mjs +1 -5
  206. package/dist/esm/contexts/TextAncestorContext.mjs.map +2 -2
  207. package/dist/esm/createComponent.js +2 -846
  208. package/dist/esm/createComponent.js.map +3 -3
  209. package/dist/esm/createComponent.mjs +2 -846
  210. package/dist/esm/createComponent.mjs.map +3 -3
  211. package/dist/esm/createFont.js +1 -44
  212. package/dist/esm/createFont.js.map +2 -2
  213. package/dist/esm/createFont.mjs +1 -44
  214. package/dist/esm/createFont.mjs.map +2 -2
  215. package/dist/esm/createShorthands.js +1 -6
  216. package/dist/esm/createShorthands.js.map +2 -2
  217. package/dist/esm/createShorthands.mjs +1 -6
  218. package/dist/esm/createShorthands.mjs.map +2 -2
  219. package/dist/esm/createTamagui.js +5 -186
  220. package/dist/esm/createTamagui.js.map +2 -2
  221. package/dist/esm/createTamagui.mjs +5 -186
  222. package/dist/esm/createTamagui.mjs.map +2 -2
  223. package/dist/esm/createTheme.js +1 -6
  224. package/dist/esm/createTheme.js.map +2 -2
  225. package/dist/esm/createTheme.mjs +1 -6
  226. package/dist/esm/createTheme.mjs.map +2 -2
  227. package/dist/esm/createTokens.js +1 -14
  228. package/dist/esm/createTokens.js.map +2 -2
  229. package/dist/esm/createTokens.mjs +1 -14
  230. package/dist/esm/createTokens.mjs.map +2 -2
  231. package/dist/esm/createVariable.js +1 -77
  232. package/dist/esm/createVariable.js.map +2 -2
  233. package/dist/esm/createVariable.mjs +1 -77
  234. package/dist/esm/createVariable.mjs.map +2 -2
  235. package/dist/esm/createVariables.js +1 -34
  236. package/dist/esm/createVariables.js.map +2 -2
  237. package/dist/esm/createVariables.mjs +1 -34
  238. package/dist/esm/createVariables.mjs.map +2 -2
  239. package/dist/esm/helpers/ThemeManager.js +1 -211
  240. package/dist/esm/helpers/ThemeManager.js.map +3 -3
  241. package/dist/esm/helpers/ThemeManager.mjs +1 -211
  242. package/dist/esm/helpers/ThemeManager.mjs.map +3 -3
  243. package/dist/esm/helpers/ThemeManagerContext.js +1 -5
  244. package/dist/esm/helpers/ThemeManagerContext.js.map +2 -2
  245. package/dist/esm/helpers/ThemeManagerContext.mjs +1 -5
  246. package/dist/esm/helpers/ThemeManagerContext.mjs.map +2 -2
  247. package/dist/esm/helpers/createMediaStyle.js +1 -41
  248. package/dist/esm/helpers/createMediaStyle.js.map +2 -2
  249. package/dist/esm/helpers/createMediaStyle.mjs +1 -41
  250. package/dist/esm/helpers/createMediaStyle.mjs.map +2 -2
  251. package/dist/esm/helpers/createPropMapper.js +2 -404
  252. package/dist/esm/helpers/createPropMapper.js.map +2 -2
  253. package/dist/esm/helpers/createPropMapper.mjs +2 -404
  254. package/dist/esm/helpers/createPropMapper.mjs.map +2 -2
  255. package/dist/esm/helpers/createProxy.js +2 -17
  256. package/dist/esm/helpers/createProxy.js.map +2 -2
  257. package/dist/esm/helpers/createProxy.mjs +2 -17
  258. package/dist/esm/helpers/createProxy.mjs.map +2 -2
  259. package/dist/esm/helpers/defaultOffset.js +1 -4
  260. package/dist/esm/helpers/defaultOffset.js.map +2 -2
  261. package/dist/esm/helpers/defaultOffset.mjs +1 -4
  262. package/dist/esm/helpers/defaultOffset.mjs.map +2 -2
  263. package/dist/esm/helpers/expandStyle.js +1 -61
  264. package/dist/esm/helpers/expandStyle.js.map +2 -2
  265. package/dist/esm/helpers/expandStyle.mjs +1 -61
  266. package/dist/esm/helpers/expandStyle.mjs.map +2 -2
  267. package/dist/esm/helpers/expandStyles.js +1 -51
  268. package/dist/esm/helpers/expandStyles.js.map +2 -2
  269. package/dist/esm/helpers/expandStyles.mjs +1 -51
  270. package/dist/esm/helpers/expandStyles.mjs.map +2 -2
  271. package/dist/esm/helpers/extendStaticConfig.js +1 -66
  272. package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
  273. package/dist/esm/helpers/extendStaticConfig.mjs +1 -66
  274. package/dist/esm/helpers/extendStaticConfig.mjs.map +2 -2
  275. package/dist/esm/helpers/getAnimationDriver.js +1 -7
  276. package/dist/esm/helpers/getAnimationDriver.js.map +2 -2
  277. package/dist/esm/helpers/getAnimationDriver.mjs +1 -7
  278. package/dist/esm/helpers/getAnimationDriver.mjs.map +2 -2
  279. package/dist/esm/helpers/getExpandedShorthands.js +1 -14
  280. package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
  281. package/dist/esm/helpers/getExpandedShorthands.mjs +1 -14
  282. package/dist/esm/helpers/getExpandedShorthands.mjs.map +2 -2
  283. package/dist/esm/helpers/getFontLanguage.js +1 -4
  284. package/dist/esm/helpers/getFontLanguage.js.map +2 -2
  285. package/dist/esm/helpers/getFontLanguage.mjs +1 -4
  286. package/dist/esm/helpers/getFontLanguage.mjs.map +2 -2
  287. package/dist/esm/helpers/getSplitStyles.js +3 -866
  288. package/dist/esm/helpers/getSplitStyles.js.map +3 -3
  289. package/dist/esm/helpers/getSplitStyles.mjs +3 -866
  290. package/dist/esm/helpers/getSplitStyles.mjs.map +3 -3
  291. package/dist/esm/helpers/getStylesAtomic.js +1 -200
  292. package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
  293. package/dist/esm/helpers/getStylesAtomic.mjs +1 -200
  294. package/dist/esm/helpers/getStylesAtomic.mjs.map +2 -2
  295. package/dist/esm/helpers/getStylesAtomic.native.js +1 -11
  296. package/dist/esm/helpers/getStylesAtomic.native.js.map +2 -2
  297. package/dist/esm/helpers/getStylesAtomic.native.mjs +1 -11
  298. package/dist/esm/helpers/getStylesAtomic.native.mjs.map +2 -2
  299. package/dist/esm/helpers/getThemeCSSRules.js +4 -102
  300. package/dist/esm/helpers/getThemeCSSRules.js.map +2 -2
  301. package/dist/esm/helpers/getThemeCSSRules.mjs +4 -102
  302. package/dist/esm/helpers/getThemeCSSRules.mjs.map +2 -2
  303. package/dist/esm/helpers/getThemeCSSRules.native.js +1 -6
  304. package/dist/esm/helpers/getThemeCSSRules.native.js.map +2 -2
  305. package/dist/esm/helpers/getThemeCSSRules.native.mjs +1 -6
  306. package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +2 -2
  307. package/dist/esm/helpers/getVariantExtras.js +1 -66
  308. package/dist/esm/helpers/getVariantExtras.js.map +2 -2
  309. package/dist/esm/helpers/getVariantExtras.mjs +1 -66
  310. package/dist/esm/helpers/getVariantExtras.mjs.map +2 -2
  311. package/dist/esm/helpers/insertStyleRule.js +2 -190
  312. package/dist/esm/helpers/insertStyleRule.js.map +2 -2
  313. package/dist/esm/helpers/insertStyleRule.mjs +2 -190
  314. package/dist/esm/helpers/insertStyleRule.mjs.map +2 -2
  315. package/dist/esm/helpers/isObj.js +1 -4
  316. package/dist/esm/helpers/isObj.js.map +2 -2
  317. package/dist/esm/helpers/isObj.mjs +1 -4
  318. package/dist/esm/helpers/isObj.mjs.map +2 -2
  319. package/dist/esm/helpers/isTamaguiComponent.js +1 -7
  320. package/dist/esm/helpers/isTamaguiComponent.js.map +2 -2
  321. package/dist/esm/helpers/isTamaguiComponent.mjs +1 -7
  322. package/dist/esm/helpers/isTamaguiComponent.mjs.map +2 -2
  323. package/dist/esm/helpers/isTamaguiElement.js +1 -8
  324. package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
  325. package/dist/esm/helpers/isTamaguiElement.mjs +1 -8
  326. package/dist/esm/helpers/isTamaguiElement.mjs.map +2 -2
  327. package/dist/esm/helpers/matchMedia.js +1 -16
  328. package/dist/esm/helpers/matchMedia.js.map +2 -2
  329. package/dist/esm/helpers/matchMedia.mjs +1 -16
  330. package/dist/esm/helpers/matchMedia.mjs.map +2 -2
  331. package/dist/esm/helpers/matchMedia.native.js +1 -22
  332. package/dist/esm/helpers/matchMedia.native.js.map +2 -2
  333. package/dist/esm/helpers/matchMedia.native.mjs +1 -22
  334. package/dist/esm/helpers/matchMedia.native.mjs.map +2 -2
  335. package/dist/esm/helpers/mergeProps.js +1 -29
  336. package/dist/esm/helpers/mergeProps.js.map +2 -2
  337. package/dist/esm/helpers/mergeProps.mjs +1 -29
  338. package/dist/esm/helpers/mergeProps.mjs.map +2 -2
  339. package/dist/esm/helpers/normalizeColor.js +1 -30
  340. package/dist/esm/helpers/normalizeColor.js.map +2 -2
  341. package/dist/esm/helpers/normalizeColor.mjs +1 -30
  342. package/dist/esm/helpers/normalizeColor.mjs.map +2 -2
  343. package/dist/esm/helpers/normalizeShadow.js +1 -22
  344. package/dist/esm/helpers/normalizeShadow.js.map +2 -2
  345. package/dist/esm/helpers/normalizeShadow.mjs +1 -22
  346. package/dist/esm/helpers/normalizeShadow.mjs.map +2 -2
  347. package/dist/esm/helpers/normalizeShadow.native.js +1 -30
  348. package/dist/esm/helpers/normalizeShadow.native.js.map +2 -2
  349. package/dist/esm/helpers/normalizeShadow.native.mjs +1 -30
  350. package/dist/esm/helpers/normalizeShadow.native.mjs.map +2 -2
  351. package/dist/esm/helpers/normalizeStylePropKeys.js +1 -4
  352. package/dist/esm/helpers/normalizeStylePropKeys.js.map +2 -2
  353. package/dist/esm/helpers/normalizeStylePropKeys.mjs +1 -4
  354. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +2 -2
  355. package/dist/esm/helpers/normalizeStylePropKeys.native.js +1 -15
  356. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +2 -2
  357. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +1 -15
  358. package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +2 -2
  359. package/dist/esm/helpers/normalizeValueWithProperty.js +1 -100
  360. package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
  361. package/dist/esm/helpers/normalizeValueWithProperty.mjs +1 -100
  362. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +2 -2
  363. package/dist/esm/helpers/proxyThemeVariables.js +1 -15
  364. package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
  365. package/dist/esm/helpers/proxyThemeVariables.mjs +1 -15
  366. package/dist/esm/helpers/proxyThemeVariables.mjs.map +2 -2
  367. package/dist/esm/helpers/pseudoDescriptors.js +1 -28
  368. package/dist/esm/helpers/pseudoDescriptors.js.map +2 -2
  369. package/dist/esm/helpers/pseudoDescriptors.mjs +1 -28
  370. package/dist/esm/helpers/pseudoDescriptors.mjs.map +2 -2
  371. package/dist/esm/helpers/registerCSSVariable.js +1 -13
  372. package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
  373. package/dist/esm/helpers/registerCSSVariable.mjs +1 -13
  374. package/dist/esm/helpers/registerCSSVariable.mjs.map +2 -2
  375. package/dist/esm/helpers/themeable.js +1 -27
  376. package/dist/esm/helpers/themeable.js.map +2 -2
  377. package/dist/esm/helpers/themeable.mjs +1 -27
  378. package/dist/esm/helpers/themeable.mjs.map +2 -2
  379. package/dist/esm/helpers/themes.js +1 -50
  380. package/dist/esm/helpers/themes.js.map +2 -2
  381. package/dist/esm/helpers/themes.mjs +1 -50
  382. package/dist/esm/helpers/themes.mjs.map +2 -2
  383. package/dist/esm/helpers/timer.js +1 -10
  384. package/dist/esm/helpers/timer.js.map +2 -2
  385. package/dist/esm/helpers/timer.mjs +1 -10
  386. package/dist/esm/helpers/timer.mjs.map +2 -2
  387. package/dist/esm/helpers/useShallowSetState.js +1 -34
  388. package/dist/esm/helpers/useShallowSetState.js.map +2 -2
  389. package/dist/esm/helpers/useShallowSetState.mjs +1 -34
  390. package/dist/esm/helpers/useShallowSetState.mjs.map +2 -2
  391. package/dist/esm/helpers/warnOnce.js +1 -13
  392. package/dist/esm/helpers/warnOnce.js.map +2 -2
  393. package/dist/esm/helpers/warnOnce.mjs +1 -13
  394. package/dist/esm/helpers/warnOnce.mjs.map +2 -2
  395. package/dist/esm/helpers/withStaticProperties.js +1 -8
  396. package/dist/esm/helpers/withStaticProperties.js.map +2 -2
  397. package/dist/esm/helpers/withStaticProperties.mjs +1 -8
  398. package/dist/esm/helpers/withStaticProperties.mjs.map +2 -2
  399. package/dist/esm/hooks/getThemeUnwrapped.js +1 -8
  400. package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
  401. package/dist/esm/hooks/getThemeUnwrapped.mjs +1 -8
  402. package/dist/esm/hooks/getThemeUnwrapped.mjs.map +2 -2
  403. package/dist/esm/hooks/useAnimationDriver.js +1 -9
  404. package/dist/esm/hooks/useAnimationDriver.js.map +2 -2
  405. package/dist/esm/hooks/useAnimationDriver.mjs +1 -9
  406. package/dist/esm/hooks/useAnimationDriver.mjs.map +2 -2
  407. package/dist/esm/hooks/useId.js +1 -4
  408. package/dist/esm/hooks/useId.js.map +2 -2
  409. package/dist/esm/hooks/useId.mjs +1 -4
  410. package/dist/esm/hooks/useId.mjs.map +2 -2
  411. package/dist/esm/hooks/useIsTouchDevice.js +1 -8
  412. package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
  413. package/dist/esm/hooks/useIsTouchDevice.mjs +1 -8
  414. package/dist/esm/hooks/useIsTouchDevice.mjs.map +2 -2
  415. package/dist/esm/hooks/useMedia.js +1 -225
  416. package/dist/esm/hooks/useMedia.js.map +2 -2
  417. package/dist/esm/hooks/useMedia.mjs +1 -225
  418. package/dist/esm/hooks/useMedia.mjs.map +2 -2
  419. package/dist/esm/hooks/useSafeRef.js +1 -34
  420. package/dist/esm/hooks/useSafeRef.js.map +2 -2
  421. package/dist/esm/hooks/useSafeRef.mjs +1 -34
  422. package/dist/esm/hooks/useSafeRef.mjs.map +2 -2
  423. package/dist/esm/hooks/useServerHooks.js +1 -10
  424. package/dist/esm/hooks/useServerHooks.js.map +2 -2
  425. package/dist/esm/hooks/useServerHooks.mjs +1 -10
  426. package/dist/esm/hooks/useServerHooks.mjs.map +2 -2
  427. package/dist/esm/hooks/useStyle.js +1 -36
  428. package/dist/esm/hooks/useStyle.js.map +2 -2
  429. package/dist/esm/hooks/useStyle.mjs +1 -36
  430. package/dist/esm/hooks/useStyle.mjs.map +2 -2
  431. package/dist/esm/hooks/useTheme.js +1 -204
  432. package/dist/esm/hooks/useTheme.js.map +3 -3
  433. package/dist/esm/hooks/useTheme.mjs +1 -204
  434. package/dist/esm/hooks/useTheme.mjs.map +3 -3
  435. package/dist/esm/hooks/useThemeName.js +1 -27
  436. package/dist/esm/hooks/useThemeName.js.map +2 -2
  437. package/dist/esm/hooks/useThemeName.mjs +1 -27
  438. package/dist/esm/hooks/useThemeName.mjs.map +2 -2
  439. package/dist/esm/index.js +1 -88
  440. package/dist/esm/index.js.map +2 -2
  441. package/dist/esm/index.mjs +1 -88
  442. package/dist/esm/index.mjs.map +2 -2
  443. package/dist/esm/inject-styles.js +1 -15
  444. package/dist/esm/inject-styles.js.map +2 -2
  445. package/dist/esm/inject-styles.mjs +1 -15
  446. package/dist/esm/inject-styles.mjs.map +2 -2
  447. package/dist/esm/insertFont.js +1 -66
  448. package/dist/esm/insertFont.js.map +2 -2
  449. package/dist/esm/insertFont.mjs +1 -66
  450. package/dist/esm/insertFont.mjs.map +2 -2
  451. package/dist/esm/setupHooks.js +1 -8
  452. package/dist/esm/setupHooks.js.map +2 -2
  453. package/dist/esm/setupHooks.mjs +1 -8
  454. package/dist/esm/setupHooks.mjs.map +2 -2
  455. package/dist/esm/setupReactNative.js +1 -24
  456. package/dist/esm/setupReactNative.js.map +2 -2
  457. package/dist/esm/setupReactNative.mjs +1 -24
  458. package/dist/esm/setupReactNative.mjs.map +2 -2
  459. package/dist/esm/styled.js +1 -69
  460. package/dist/esm/styled.js.map +2 -2
  461. package/dist/esm/styled.mjs +1 -69
  462. package/dist/esm/styled.mjs.map +2 -2
  463. package/dist/esm/updateTheme.js +1 -22
  464. package/dist/esm/updateTheme.js.map +2 -2
  465. package/dist/esm/updateTheme.mjs +1 -22
  466. package/dist/esm/updateTheme.mjs.map +2 -2
  467. package/dist/esm/views/AnimationDriverProvider.js +1 -8
  468. package/dist/esm/views/AnimationDriverProvider.js.map +2 -2
  469. package/dist/esm/views/AnimationDriverProvider.mjs +1 -8
  470. package/dist/esm/views/AnimationDriverProvider.mjs.map +2 -2
  471. package/dist/esm/views/FontLanguage.js +1 -16
  472. package/dist/esm/views/FontLanguage.js.map +2 -2
  473. package/dist/esm/views/FontLanguage.mjs +1 -16
  474. package/dist/esm/views/FontLanguage.mjs.map +2 -2
  475. package/dist/esm/views/FontLanguage.native.js +1 -10
  476. package/dist/esm/views/FontLanguage.native.js.map +2 -2
  477. package/dist/esm/views/FontLanguage.native.mjs +1 -10
  478. package/dist/esm/views/FontLanguage.native.mjs.map +2 -2
  479. package/dist/esm/views/Slot.js +1 -65
  480. package/dist/esm/views/Slot.js.map +2 -2
  481. package/dist/esm/views/Slot.mjs +1 -65
  482. package/dist/esm/views/Slot.mjs.map +2 -2
  483. package/dist/esm/views/Stack.js +1 -13
  484. package/dist/esm/views/Stack.js.map +2 -2
  485. package/dist/esm/views/Stack.mjs +1 -13
  486. package/dist/esm/views/Stack.mjs.map +2 -2
  487. package/dist/esm/views/TamaguiProvider.js +1 -56
  488. package/dist/esm/views/TamaguiProvider.js.map +2 -2
  489. package/dist/esm/views/TamaguiProvider.mjs +1 -56
  490. package/dist/esm/views/TamaguiProvider.mjs.map +2 -2
  491. package/dist/esm/views/Text.js +1 -71
  492. package/dist/esm/views/Text.js.map +2 -2
  493. package/dist/esm/views/Text.mjs +1 -71
  494. package/dist/esm/views/Text.mjs.map +2 -2
  495. package/dist/esm/views/Theme.js +1 -55
  496. package/dist/esm/views/Theme.js.map +3 -3
  497. package/dist/esm/views/Theme.mjs +1 -55
  498. package/dist/esm/views/Theme.mjs.map +3 -3
  499. package/dist/esm/views/ThemeProvider.js +1 -44
  500. package/dist/esm/views/ThemeProvider.js.map +2 -2
  501. package/dist/esm/views/ThemeProvider.mjs +1 -44
  502. package/dist/esm/views/ThemeProvider.mjs.map +2 -2
  503. package/package.json +9 -9
  504. package/src/createComponent.tsx +38 -5
  505. package/src/helpers/ThemeManager.tsx +40 -32
  506. package/src/helpers/getSplitStyles.tsx +0 -8
  507. package/src/hooks/useTheme.tsx +145 -93
  508. package/src/types.tsx +2 -2
  509. package/src/views/Theme.tsx +49 -27
  510. package/types/createComponent.d.ts.map +1 -1
  511. package/types/helpers/ThemeManager.d.ts +1 -0
  512. package/types/helpers/ThemeManager.d.ts.map +1 -1
  513. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  514. package/types/hooks/useTheme.d.ts +5 -7
  515. package/types/hooks/useTheme.d.ts.map +1 -1
  516. package/types/types.d.ts +2 -2
  517. package/types/types.d.ts.map +1 -1
  518. package/types/views/Theme.d.ts.map +1 -1
@@ -1,867 +1,4 @@
1
- import {
2
- isClient,
3
- isRSC,
4
- isServer,
5
- isWeb,
6
- useIsomorphicLayoutEffect
7
- } from "@tamagui/constants";
8
- import {
9
- stylePropsFont,
10
- stylePropsText,
11
- stylePropsTransform,
12
- validPseudoKeys,
13
- validStyles,
14
- validStylesOnBaseProps
15
- } from "@tamagui/helpers";
16
- import { useInsertionEffect } from "react";
17
- import { getConfig, getFont } from "../config.js";
18
- import { isDevTools } from "../constants/isDevTools.js";
19
- import {
20
- getMediaImportanceIfMoreImportant,
21
- mediaState as globalMediaState,
22
- mediaKeysWithAndWithout$,
23
- mediaQueryConfig,
24
- mergeMediaByImportance
25
- } from "../hooks/useMedia.js";
26
- import { createMediaStyle } from "./createMediaStyle.js";
27
- import { getPropMappedFontFamily } from "./createPropMapper.js";
28
- import { fixStyles } from "./expandStyles.js";
29
- import { getAtomicStyle, getStylesAtomic, styleToCSS } from "./getStylesAtomic";
30
- import {
31
- insertStyleRules,
32
- insertedTransforms,
33
- scanAllSheets,
34
- shouldInsertStyleRules,
35
- updateRules
36
- } from "./insertStyleRule.js";
37
- import {
38
- normalizeValueWithProperty,
39
- reverseMapClassNameToValue
40
- } from "./normalizeValueWithProperty.js";
41
- import { pseudoDescriptors } from "./pseudoDescriptors.js";
42
- const skipProps = {
43
- animation: true,
44
- space: true,
45
- animateOnly: true,
46
- debug: true,
47
- componentName: true,
48
- tag: true
49
- };
50
- if (process.env.NODE_ENV === "test") {
51
- skipProps["data-test-renders"] = true;
52
- }
53
- const IS_STATIC = process.env.IS_STATIC === "is_static";
54
- if (process.env.TAMAGUI_TARGET === "native") {
55
- Object.assign(skipProps, {
56
- whiteSpace: true,
57
- wordWrap: true,
58
- textOverflow: true,
59
- textDecorationDistance: true,
60
- cursor: true,
61
- contain: true,
62
- boxSizing: true,
63
- boxShadow: true
64
- });
65
- }
66
- const accessibilityDirectMap = {};
67
- if (process.env.TAMAGUI_TARGET === "web") {
68
- const items = {
69
- Hidden: true,
70
- ActiveDescendant: true,
71
- Atomic: true,
72
- AutoComplete: true,
73
- Busy: true,
74
- Checked: true,
75
- ColumnCount: "colcount",
76
- ColumnIndex: "colindex",
77
- ColumnSpan: "colspan",
78
- Current: true,
79
- Details: true,
80
- ErrorMessage: true,
81
- Expanded: true,
82
- HasPopup: true,
83
- Invalid: true,
84
- Label: true,
85
- Level: true,
86
- Modal: true,
87
- Multiline: true,
88
- MultiSelectable: true,
89
- Orientation: true,
90
- Owns: true,
91
- Placeholder: true,
92
- PosInSet: true,
93
- Pressed: true,
94
- RoleDescription: true,
95
- RowCount: true,
96
- RowIndex: true,
97
- RowSpan: true,
98
- Selected: true,
99
- SetSize: true,
100
- Sort: true,
101
- ValueMax: true,
102
- ValueMin: true,
103
- ValueNow: true,
104
- ValueText: true
105
- };
106
- for (const key in items) {
107
- let val = items[key];
108
- if (val === true) {
109
- val = key.toLowerCase();
110
- }
111
- accessibilityDirectMap[`accessibility${key}`] = `aria-${val}`;
112
- }
113
- }
114
- let conf;
115
- const PROP_SPLIT = "-";
116
- const accessibilityRoleToWebRole = {
117
- adjustable: "slider",
118
- header: "heading",
119
- image: "img",
120
- link: "link",
121
- none: "presentation",
122
- summary: "region"
123
- };
124
- const isMediaKey = (key) => Boolean(key[0] === "$" && mediaKeysWithAndWithout$.has(key));
125
- const getSplitStyles = (props, staticConfig, theme, state, parentSplitStyles, languageContext, elementType, debug) => {
126
- var _a, _b, _c;
127
- if (cache.has(props)) {
128
- return cache.get(props);
129
- }
130
- conf = conf || getConfig();
131
- const { shorthands } = conf;
132
- const { variants, propMapper, isReactNative, inlineProps, inlineWhenUnflattened } = staticConfig;
133
- const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
134
- const viewProps = {};
135
- let pseudos = null;
136
- let psuedosUsed = null;
137
- const mediaState = state.mediaState || globalMediaState;
138
- const usedKeys = {};
139
- const propKeys = Object.keys(props);
140
- let space = props.space;
141
- let hasMedia = false;
142
- const shouldDoClasses = staticConfig.acceptsClassName && (isWeb || IS_STATIC) && !state.noClassNames;
143
- let style = {};
144
- const flatTransforms = {};
145
- const len = propKeys.length;
146
- const rulesToInsert = [];
147
- const classNames = {};
148
- let className = "";
149
- const transforms = {};
150
- let fontFamily;
151
- const styleState = {
152
- classNames,
153
- conf,
154
- props,
155
- state,
156
- staticConfig,
157
- style,
158
- theme,
159
- usedKeys,
160
- viewProps,
161
- languageContext
162
- };
163
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
164
- console.groupCollapsed("getSplitStyles (looping backwards)");
165
- console.log({ props, staticConfig, shouldDoClasses, state, IS_STATIC, propKeys, styleState });
166
- console.groupEnd();
167
- }
168
- if (props.className) {
169
- for (const cn of props.className.split(" ")) {
170
- if (cn[0] === "_") {
171
- const [shorthand, mediaOrPseudo] = cn.slice(1).split("-");
172
- const isMedia = mediaOrPseudo[0] === "_";
173
- const isPseudo = mediaOrPseudo[0] === "0";
174
- const isMediaOrPseudo = isMedia || isPseudo;
175
- let fullKey = shorthands[shorthand];
176
- if (isMedia) {
177
- let mediaShortKey = mediaOrPseudo.slice(1);
178
- mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf("_"));
179
- fullKey += `${PROP_SPLIT}${mediaShortKey}`;
180
- } else if (isPseudo) {
181
- const pseudoShortKey = mediaOrPseudo.slice(1);
182
- fullKey += `${PROP_SPLIT}${pseudoShortKey}`;
183
- }
184
- usedKeys[fullKey] = 1;
185
- mergeClassName(transforms, classNames, fullKey, cn, isMediaOrPseudo);
186
- } else if (cn) {
187
- className += ` ${cn}`;
188
- }
189
- }
190
- }
191
- const specialProps = [];
192
- function processProp(keyInit, valInit, special = false, fontFamilyOverride = null) {
193
- var _a2;
194
- if (keyInit === "className")
195
- return;
196
- if (keyInit in shorthands) {
197
- keyInit = shorthands[keyInit];
198
- }
199
- if (process.env.TAMAGUI_TARGET === "native") {
200
- if (keyInit === "userSelect") {
201
- keyInit = "selectable";
202
- valInit = valInit === "none" ? false : true;
203
- } else if (keyInit.startsWith("data-") || keyInit.startsWith("aria-")) {
204
- return;
205
- }
206
- }
207
- if (!staticConfig.isHOC) {
208
- if (keyInit in skipProps) {
209
- return;
210
- }
211
- }
212
- if (keyInit in usedKeys) {
213
- return;
214
- }
215
- if (typeof valInit === "string" && valInit[0] === "_") {
216
- if (keyInit in validStyleProps || keyInit.includes("-")) {
217
- if (shouldDoClasses) {
218
- classNames[keyInit] = valInit;
219
- } else {
220
- style[keyInit] = reverseMapClassNameToValue(keyInit, valInit);
221
- }
222
- usedKeys[keyInit] = 1;
223
- return;
224
- }
225
- }
226
- if (keyInit === "dataSet") {
227
- for (const key in valInit) {
228
- viewProps[`data-${hyphenate(key)}`] = valInit[key];
229
- }
230
- return;
231
- }
232
- const isMainStyle = keyInit === "style";
233
- if (isMainStyle || keyInit.startsWith("_style")) {
234
- if (!valInit)
235
- return;
236
- const styles = Array.isArray(valInit) ? valInit : [valInit];
237
- const styleLen = styles.length;
238
- for (let j = styleLen; j >= 0; j--) {
239
- const cur = styles[j];
240
- if (!cur)
241
- continue;
242
- for (const key in cur) {
243
- if (!isMainStyle && usedKeys[key]) {
244
- continue;
245
- }
246
- usedKeys[key] = 1;
247
- style[key] = cur[key];
248
- }
249
- }
250
- return;
251
- }
252
- if (process.env.TAMAGUI_TARGET === "web") {
253
- if (keyInit === "disabled" && valInit === true) {
254
- usedKeys[keyInit] = 1;
255
- viewProps["aria-disabled"] = true;
256
- if (elementType === "button" || elementType === "form" || elementType === "input" || elementType === "select" || elementType === "textarea") {
257
- viewProps.disabled = true;
258
- }
259
- if (!(variants == null ? void 0 : variants.disabled)) {
260
- return;
261
- }
262
- }
263
- if (keyInit === "testID") {
264
- usedKeys[keyInit] = 1;
265
- viewProps[isReactNative ? "testId" : "data-testid"] = valInit;
266
- return;
267
- }
268
- if (keyInit === "id" || keyInit === "nativeID") {
269
- usedKeys[keyInit] = 1;
270
- if (isReactNative) {
271
- viewProps.nativeID = valInit;
272
- } else {
273
- viewProps.id = valInit;
274
- }
275
- return;
276
- }
277
- let didUseKeyInit = false;
278
- if (isReactNative) {
279
- if (accessibilityDirectMap[keyInit] || keyInit.startsWith("accessibility")) {
280
- viewProps[keyInit] = valInit;
281
- usedKeys[keyInit] = 1;
282
- return;
283
- }
284
- } else {
285
- didUseKeyInit = true;
286
- if (accessibilityDirectMap[keyInit]) {
287
- viewProps[accessibilityDirectMap[keyInit]] = valInit;
288
- } else {
289
- switch (keyInit) {
290
- case "accessibilityRole": {
291
- if (valInit === "none") {
292
- viewProps.role = "presentation";
293
- } else {
294
- viewProps.role = accessibilityRoleToWebRole[valInit] || valInit;
295
- }
296
- return;
297
- }
298
- case "accessibilityLabelledBy":
299
- case "accessibilityFlowTo":
300
- case "accessibilityControls":
301
- case "accessibilityDescribedBy": {
302
- viewProps[`aria-${keyInit.replace("accessibility", "").toLowerCase()}`] = processIDRefList(valInit);
303
- return;
304
- }
305
- case "accessibilityKeyShortcuts": {
306
- if (Array.isArray(valInit)) {
307
- viewProps["aria-keyshortcuts"] = valInit.join(" ");
308
- }
309
- return;
310
- }
311
- case "accessibilityLiveRegion": {
312
- viewProps["aria-live"] = valInit === "none" ? "off" : valInit;
313
- return;
314
- }
315
- case "accessibilityReadOnly": {
316
- viewProps["aria-readonly"] = valInit;
317
- if (elementType === "input" || elementType === "select" || elementType === "textarea") {
318
- viewProps.readOnly = true;
319
- }
320
- return;
321
- }
322
- case "accessibilityRequired": {
323
- viewProps["aria-required"] = valInit;
324
- if (elementType === "input" || elementType === "select" || elementType === "textarea") {
325
- viewProps.required = valInit;
326
- }
327
- return;
328
- }
329
- default: {
330
- didUseKeyInit = false;
331
- }
332
- }
333
- }
334
- }
335
- if (didUseKeyInit) {
336
- usedKeys[keyInit] = 1;
337
- return;
338
- }
339
- if (valInit && valInit[0] === "_") {
340
- const isValidClassName = keyInit in validStyles;
341
- const isMediaOrPseudo = !isValidClassName && keyInit.includes(PROP_SPLIT) && validStyles[keyInit.split(PROP_SPLIT)[0]];
342
- if (isValidClassName || isMediaOrPseudo) {
343
- usedKeys[keyInit] = 1;
344
- if (process.env.NODE_ENV === "development" && debug) {
345
- console.log("tamagui classname props", keyInit, valInit);
346
- }
347
- mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo);
348
- return;
349
- }
350
- }
351
- }
352
- let isMedia = isMediaKey(keyInit);
353
- let isPseudo = keyInit in validPseudoKeys;
354
- const isVariant = variants && keyInit in variants;
355
- const shouldPassProp = !(isMedia || isPseudo || isVariant || keyInit in validStyleProps || keyInit in shorthands);
356
- const parentHasVariant = ((_a2 = staticConfig.parentStaticConfig) == null ? void 0 : _a2.variants) && keyInit in staticConfig.parentStaticConfig;
357
- const isHOCShouldPassThrough = staticConfig.isHOC && (isMedia || isPseudo);
358
- const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough || parentHasVariant;
359
- if (process.env.NODE_ENV === "development" && debug === "verbose" && shouldPassThrough) {
360
- console.log(` \u{1F539} pass through ${keyInit}`);
361
- }
362
- if (shouldPassThrough) {
363
- usedKeys[keyInit] = 1;
364
- viewProps[keyInit] = valInit;
365
- if (!isVariant) {
366
- return;
367
- }
368
- }
369
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
370
- console.groupCollapsed(" \u{1F539} styles", keyInit, valInit);
371
- }
372
- const expanded = isMedia || isPseudo ? [[keyInit, valInit]] : propMapper(
373
- keyInit,
374
- valInit,
375
- theme,
376
- special ? { ...props, fontFamily: fontFamilyOverride } : props,
377
- state,
378
- languageContext,
379
- void 0,
380
- debug
381
- );
382
- if (!fontFamily) {
383
- fontFamily = getPropMappedFontFamily(expanded);
384
- }
385
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
386
- if (!isServer && isDevTools) {
387
- console.log("expanded", expanded, "\nusedKeys", usedKeys, "\ncurrent", {
388
- ...style
389
- });
390
- }
391
- console.groupEnd();
392
- }
393
- if (!expanded)
394
- return;
395
- for (const [key, val] of expanded) {
396
- if (val === void 0)
397
- continue;
398
- if (key in stylePropsFont && !special && key !== "fontFamily") {
399
- specialProps.push([key, val]);
400
- continue;
401
- }
402
- isMedia = isMediaKey(key);
403
- isPseudo = key in validPseudoKeys;
404
- const isMediaOrPseudo = isMedia || isPseudo;
405
- if (!isMediaOrPseudo && usedKeys[key]) {
406
- if (process.env.NODE_ENV === "developmnet" && debug === "verbose") {
407
- console.log(`Used media/pseudo ${key}`);
408
- }
409
- continue;
410
- }
411
- if ((inlineProps == null ? void 0 : inlineProps.has(key)) || (inlineWhenUnflattened == null ? void 0 : inlineWhenUnflattened.has(key))) {
412
- usedKeys[key] = 1;
413
- viewProps[key] = props[key] ?? val;
414
- }
415
- if (isPseudo) {
416
- if (!val)
417
- continue;
418
- const pseudoStyleObject = getSubStyle(
419
- styleState,
420
- key,
421
- val,
422
- true,
423
- state.noClassNames
424
- );
425
- const descriptor = pseudoDescriptors[key];
426
- const isEnter = descriptor.name === "enter";
427
- const isExit = descriptor.name === "exit";
428
- if (!descriptor || isExit && !state.isExiting) {
429
- continue;
430
- }
431
- if (!shouldDoClasses || IS_STATIC) {
432
- pseudos ||= {};
433
- pseudos[key] ||= {};
434
- Object.assign(pseudos[key], pseudoStyleObject);
435
- }
436
- if (shouldDoClasses && !isEnter && !isExit) {
437
- const pseudoStyles = getAtomicStyle(pseudoStyleObject, descriptor);
438
- for (const psuedoStyle of pseudoStyles) {
439
- const fullKey = `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}`;
440
- if (!usedKeys[fullKey]) {
441
- usedKeys[fullKey] = 1;
442
- addStyleToInsertRules(rulesToInsert, psuedoStyle);
443
- mergeClassName(
444
- transforms,
445
- classNames,
446
- fullKey,
447
- psuedoStyle.identifier,
448
- isMediaOrPseudo
449
- );
450
- }
451
- }
452
- } else {
453
- if (usedKeys[key]) {
454
- continue;
455
- }
456
- let isDisabled = !state[descriptor.stateKey || descriptor.name];
457
- if (isWeb && !isClient && isEnter) {
458
- isDisabled = false;
459
- }
460
- if (!isDisabled) {
461
- if (valInit === staticConfig.defaultProps[keyInit]) {
462
- } else {
463
- usedKeys[key] ||= 1;
464
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
465
- console.log(`Setting used ${key}`);
466
- }
467
- }
468
- }
469
- psuedosUsed ||= {};
470
- const importance = descriptor.priority;
471
- for (const pkey in pseudoStyleObject) {
472
- const val2 = pseudoStyleObject[pkey];
473
- if (isDisabled) {
474
- if (!(pkey in usedKeys) && pkey in animatableDefaults) {
475
- const defaultVal = animatableDefaults[pkey];
476
- mergeStyle(styleState, flatTransforms, pkey, defaultVal, true);
477
- }
478
- continue;
479
- }
480
- const curImportance = psuedosUsed[importance] || 0;
481
- const shouldMerge = importance >= curImportance;
482
- if (shouldMerge) {
483
- psuedosUsed[pkey] = importance;
484
- pseudos ||= {};
485
- pseudos[key] ||= {};
486
- pseudos[key][pkey] = val2;
487
- mergeStyle(styleState, flatTransforms, pkey, val2);
488
- }
489
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
490
- console.log(" merge pseudo?", keyInit, shouldMerge, { importance, curImportance, pkey, val: val2 });
491
- }
492
- }
493
- }
494
- continue;
495
- }
496
- if (isMedia) {
497
- if (!val)
498
- continue;
499
- hasMedia ||= true;
500
- const mediaStyle = getSubStyle(
501
- styleState,
502
- key,
503
- val,
504
- // TODO try true like pseudo
505
- false
506
- );
507
- const mediaKeyShort = key.slice(1);
508
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
509
- console.log(` \u{1F4FA} ${key}`, { key, mediaStyle, props, shouldDoClasses });
510
- }
511
- if ("space" in mediaStyle) {
512
- if (!Array.isArray(hasMedia)) {
513
- hasMedia = [];
514
- }
515
- hasMedia.push(mediaKeyShort);
516
- }
517
- if (shouldDoClasses) {
518
- if ("space" in mediaStyle) {
519
- delete mediaStyle["space"];
520
- if (mediaState[mediaKeyShort]) {
521
- const val2 = valInit.space;
522
- const importance = getMediaImportanceIfMoreImportant(
523
- mediaKeyShort,
524
- "space",
525
- usedKeys
526
- );
527
- if (importance) {
528
- space = val2;
529
- usedKeys["space"] = importance;
530
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
531
- console.log(
532
- `Found more important space for current media ${mediaKeyShort}: ${val2} (importance: ${importance})`
533
- );
534
- }
535
- }
536
- }
537
- }
538
- const mediaStyles = getStylesAtomic(mediaStyle);
539
- for (const style2 of mediaStyles) {
540
- const out = createMediaStyle(style2, mediaKeyShort, mediaQueryConfig);
541
- const fullKey = `${style2.property}${PROP_SPLIT}${mediaKeyShort}`;
542
- if (!usedKeys[fullKey]) {
543
- usedKeys[fullKey] = 1;
544
- addStyleToInsertRules(rulesToInsert, out);
545
- mergeClassName(transforms, classNames, fullKey, out.identifier, true);
546
- }
547
- }
548
- } else if (mediaState[mediaKeyShort]) {
549
- for (const subKey in mediaStyle) {
550
- const importance = getMediaImportanceIfMoreImportant(
551
- mediaKeyShort,
552
- subKey,
553
- usedKeys
554
- );
555
- if (importance === null)
556
- continue;
557
- if (subKey === "space") {
558
- space = valInit.space;
559
- continue;
560
- }
561
- mergeMediaByImportance(
562
- style,
563
- mediaKeyShort,
564
- subKey,
565
- mediaStyle[subKey],
566
- usedKeys
567
- );
568
- if (key === "fontFamily") {
569
- fontFamily = mediaStyle.fontFamily;
570
- }
571
- }
572
- }
573
- continue;
574
- }
575
- if (process.env.TAMAGUI_TARGET === "native") {
576
- if (key === "pointerEvents") {
577
- usedKeys[key] = 1;
578
- viewProps[key] = val;
579
- continue;
580
- }
581
- }
582
- if (key === "fontFamily" && !fontFamily && valInit && val) {
583
- fontFamily = valInit[0] === "$" ? valInit : val;
584
- }
585
- if (key in validStyleProps) {
586
- mergeStyle(styleState, flatTransforms, key, val);
587
- continue;
588
- }
589
- if (!variants || !(key in variants)) {
590
- if (!(key in skipProps)) {
591
- viewProps[key] = val;
592
- usedKeys[key] = 1;
593
- }
594
- }
595
- }
596
- }
597
- for (let i = len - 1; i >= 0; i--) {
598
- const keyInit = propKeys[i];
599
- const valInit = props[keyInit];
600
- processProp(keyInit, valInit);
601
- }
602
- for (let i = 0; i < specialProps.length; i++) {
603
- const [key, value] = specialProps[i];
604
- processProp(key, value, true, fontFamily);
605
- }
606
- fixStyles(style);
607
- if (isWeb) {
608
- styleToCSS(style);
609
- }
610
- if (process.env.TAMAGUI_TARGET === "native") {
611
- if ("fontFamily" in style && style.fontFamily) {
612
- const faceInfo = (_a = getFont(style.fontFamily)) == null ? void 0 : _a.face;
613
- if (faceInfo) {
614
- const overrideFace = (_c = (_b = faceInfo[style.fontWeight]) == null ? void 0 : _b[style.fontStyle || "normal"]) == null ? void 0 : _c.val;
615
- if (overrideFace) {
616
- style.fontFamily = overrideFace;
617
- fontFamily = overrideFace;
618
- delete style.fontWeight;
619
- delete style.fontStyle;
620
- }
621
- }
622
- if (process.env.NODE_ENV === "development") {
623
- if (debug) {
624
- console.log(`Found fontFamily native: ${style.fontFamily}`, faceInfo);
625
- }
626
- }
627
- }
628
- }
629
- if (flatTransforms) {
630
- if (process.env.NODE_ENV === "development" && debug) {
631
- console.log(
632
- "Merging flat transforms, transform before",
633
- [...style.transform || []],
634
- flatTransforms
635
- );
636
- }
637
- mergeTransforms(style, flatTransforms, true);
638
- }
639
- if (parentSplitStyles) {
640
- if (process.env.TAMAGUI_TARGET === "web") {
641
- if (shouldDoClasses) {
642
- for (const key in parentSplitStyles.classNames) {
643
- const val = parentSplitStyles.classNames[key];
644
- if (key in style || key in classNames)
645
- continue;
646
- classNames[key] = val;
647
- }
648
- }
649
- }
650
- if (!shouldDoClasses) {
651
- for (const key in parentSplitStyles.style) {
652
- if (key in classNames || key in style)
653
- continue;
654
- style[key] = parentSplitStyles.style[key];
655
- }
656
- }
657
- }
658
- if (process.env.TAMAGUI_TARGET === "web") {
659
- if (shouldDoClasses) {
660
- const retainedStyles = {};
661
- if (style["$$css"]) {
662
- } else {
663
- const atomic = getStylesAtomic(style);
664
- for (const atomicStyle of atomic) {
665
- const key = atomicStyle.property;
666
- if (props.animateOnly && props.animateOnly.includes(key)) {
667
- retainedStyles[key] = atomicStyle.value;
668
- } else {
669
- addStyleToInsertRules(rulesToInsert, atomicStyle);
670
- mergeClassName(transforms, classNames, key, atomicStyle.identifier);
671
- }
672
- }
673
- if (!IS_STATIC) {
674
- style = retainedStyles;
675
- }
676
- }
677
- }
678
- if (transforms) {
679
- for (const namespace in transforms) {
680
- if (!transforms[namespace]) {
681
- if (process.env.NODE_ENV === "development") {
682
- console.warn("Error no transform", transforms, namespace);
683
- }
684
- continue;
685
- }
686
- const [hash, val] = transforms[namespace];
687
- const identifier = `_transform${hash}`;
688
- if (isClient && !insertedTransforms[identifier]) {
689
- const rule = `.${identifier} { transform: ${val}; }`;
690
- addStyleToInsertRules(rulesToInsert, {
691
- identifier,
692
- rules: [rule],
693
- property: namespace
694
- });
695
- }
696
- classNames[namespace] = identifier;
697
- }
698
- }
699
- }
700
- const nextViewProps = {};
701
- const ks = Object.keys(viewProps);
702
- const l = ks.length;
703
- for (let i = l - 1; i >= 0; i--) {
704
- nextViewProps[ks[i]] = viewProps[ks[i]];
705
- }
706
- const result = {
707
- space,
708
- hasMedia,
709
- fontFamily,
710
- viewProps: nextViewProps,
711
- style,
712
- pseudos,
713
- classNames,
714
- rulesToInsert
715
- };
716
- if (className) {
717
- classNames.className = className;
718
- }
719
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
720
- if (isDevTools) {
721
- console.groupCollapsed(" \u{1F539} styles =>");
722
- const logs = { ...result, state, etc: { transforms, viewProps, rulesToInsert, parentSplitStyles, flatTransforms } };
723
- for (const key in logs) {
724
- console.log(key, logs[key]);
725
- }
726
- console.groupEnd();
727
- }
728
- }
729
- cache.set(props, result);
730
- return result;
731
- };
732
- function mergeClassName(transforms, classNames, key, val, isMediaOrPseudo = false) {
733
- if (process.env.TAMAGUI_TARGET === "web") {
734
- if (!val)
735
- return;
736
- if (val[0] === "_" && val.startsWith("_transform-")) {
737
- const ns = isMediaOrPseudo ? key : "transform";
738
- let transform = insertedTransforms[val];
739
- if (isClient && !transform) {
740
- scanAllSheets();
741
- transform = insertedTransforms[val];
742
- if (!transform && isWeb && val[0] !== "_") {
743
- transform = val;
744
- }
745
- }
746
- transforms[ns] ||= ["", ""];
747
- transforms[ns][0] += val.replace("_transform", "");
748
- if (transform) {
749
- transforms[ns][1] += transform;
750
- }
751
- } else {
752
- classNames[key] = val;
753
- }
754
- }
755
- }
756
- const cache = /* @__PURE__ */ new WeakMap();
757
- function getSubStyleProps(defaultProps, baseProps, specificProps) {
758
- const key = specificProps || baseProps;
759
- if (!cache.has(key)) {
760
- cache.set(key, {
761
- ...defaultProps,
762
- ...baseProps,
763
- ...specificProps
764
- });
765
- }
766
- return cache.get(key);
767
- }
768
- function mergeStyle({ usedKeys, classNames, viewProps, style }, flatTransforms, key, val, dontSetUsed = false) {
769
- if (!dontSetUsed) {
770
- usedKeys[key] ||= 1;
771
- }
772
- if (val && val[0] === "_") {
773
- classNames[key] = val;
774
- } else if (key in stylePropsTransform) {
775
- flatTransforms ||= {};
776
- flatTransforms[key] = val;
777
- } else {
778
- const out = normalizeValueWithProperty(val, key);
779
- if (key in validStylesOnBaseProps) {
780
- viewProps[key] = out;
781
- } else {
782
- style[key] = out;
783
- }
784
- }
785
- }
786
- const getSubStyle = (styleState, subKey, styleIn, avoidDefaultProps, avoidMergeTransform) => {
787
- const { staticConfig, theme, props, state, conf: conf2, languageContext } = styleState;
788
- const styleOut = {};
789
- for (let key in styleIn) {
790
- const val = styleIn[key];
791
- key = conf2.shorthands[key] || key;
792
- const expanded = staticConfig.propMapper(
793
- key,
794
- val,
795
- theme,
796
- getSubStyleProps(staticConfig.defaultProps, props, props[subKey]),
797
- state,
798
- languageContext,
799
- avoidDefaultProps
800
- );
801
- if (!expanded)
802
- continue;
803
- for (const [skey, sval] of expanded) {
804
- if (!avoidMergeTransform && skey in stylePropsTransform) {
805
- mergeTransform(styleOut, skey, sval);
806
- } else {
807
- styleOut[skey] = normalizeValueWithProperty(sval, key);
808
- }
809
- }
810
- }
811
- fixStyles(styleOut);
812
- return styleOut;
813
- };
814
- const useInsertEffectCompat = isWeb ? useInsertionEffect || useIsomorphicLayoutEffect : () => {
815
- };
816
- const useSplitStyles = (...args) => {
817
- const res = getSplitStyles(...args);
818
- if (!isRSC) {
819
- useInsertEffectCompat(() => {
820
- insertStyleRules(res.rulesToInsert);
821
- }, [res.rulesToInsert]);
822
- }
823
- return res;
824
- };
825
- function addStyleToInsertRules(rulesToInsert, styleObject) {
826
- if (process.env.TAMAGUI_TARGET === "web") {
827
- if (!shouldInsertStyleRules(styleObject.identifier)) {
828
- return;
829
- }
830
- updateRules(styleObject.identifier, styleObject.rules);
831
- rulesToInsert.push(styleObject);
832
- }
833
- }
834
- function processIDRefList(idRefList) {
835
- return Array.isArray(idRefList) ? idRefList.join(" ") : idRefList;
836
- }
837
- const animatableDefaults = {
838
- opacity: 1,
839
- scale: 1,
840
- rotate: "0deg",
841
- rotateY: "0deg",
842
- rotateX: "0deg"
843
- };
844
- const lowercaseHyphenate = (match) => `-${match.toLowerCase()}`;
845
- const hyphenate = (str) => str.replace(/[A-Z]/g, lowercaseHyphenate);
846
- const mergeTransform = (obj, key, val, backwards = false) => {
847
- obj.transform ||= [];
848
- obj.transform[backwards ? "unshift" : "push"]({
849
- [mapTransformKeys[key] || key]: val
850
- });
851
- };
852
- const mergeTransforms = (obj, flatTransforms, backwards = false) => {
853
- Object.entries(flatTransforms).forEach(([key, val]) => {
854
- mergeTransform(obj, key, val, backwards);
855
- });
856
- };
857
- const mapTransformKeys = {
858
- x: "translateX",
859
- y: "translateY"
860
- };
861
- export {
862
- PROP_SPLIT,
863
- getSplitStyles,
864
- getSubStyle,
865
- useSplitStyles
866
- };
1
+ import{isClient as le,isRSC as We,isServer as Le,isWeb as z,useIsomorphicLayoutEffect as Ue}from"@tamagui/constants";import{stylePropsFont as He,stylePropsText as Be,stylePropsTransform as Ne,validPseudoKeys as Ae,validStyles as fe,validStylesOnBaseProps as qe}from"@tamagui/helpers";import{useInsertionEffect as ze}from"react";import{getConfig as Qe,getFont as Xe}from"../config.js";import{isDevTools as Oe}from"../constants/isDevTools.js";import{getMediaImportanceIfMoreImportant as Re,mediaState as Ye,mediaKeysWithAndWithout$ as Ze,mediaQueryConfig as Je,mergeMediaByImportance as ke}from"../hooks/useMedia.js";import{createMediaStyle as Ie}from"./createMediaStyle.js";import{getPropMappedFontFamily as es}from"./createPropMapper.js";import{fixStyles as xe}from"./expandStyles.js";import{getAtomicStyle as ss,getStylesAtomic as Ce,styleToCSS as ts}from"./getStylesAtomic";import{insertStyleRules as os,insertedTransforms as ue,scanAllSheets as rs,shouldInsertStyleRules as ns,updateRules as is}from"./insertStyleRule.js";import{normalizeValueWithProperty as _e,reverseMapClassNameToValue as as}from"./normalizeValueWithProperty.js";import{pseudoDescriptors as cs}from"./pseudoDescriptors.js";const Y={animation:!0,space:!0,animateOnly:!0,debug:!0,componentName:!0,tag:!0};process.env.NODE_ENV==="test"&&(Y["data-test-renders"]=!0);const Z=process.env.IS_STATIC==="is_static";process.env.TAMAGUI_TARGET==="native"&&Object.assign(Y,{whiteSpace:!0,wordWrap:!0,textOverflow:!0,textDecorationDistance:!0,cursor:!0,contain:!0,boxSizing:!0,boxShadow:!0});const J={};if(process.env.TAMAGUI_TARGET==="web"){const t={Hidden:!0,ActiveDescendant:!0,Atomic:!0,AutoComplete:!0,Busy:!0,Checked:!0,ColumnCount:"colcount",ColumnIndex:"colindex",ColumnSpan:"colspan",Current:!0,Details:!0,ErrorMessage:!0,Expanded:!0,HasPopup:!0,Invalid:!0,Label:!0,Level:!0,Modal:!0,Multiline:!0,MultiSelectable:!0,Orientation:!0,Owns:!0,Placeholder:!0,PosInSet:!0,Pressed:!0,RoleDescription:!0,RowCount:!0,RowIndex:!0,RowSpan:!0,Selected:!0,SetSize:!0,Sort:!0,ValueMax:!0,ValueMin:!0,ValueNow:!0,ValueText:!0};for(const r in t){let u=t[r];u===!0&&(u=r.toLowerCase()),J[`accessibility${r}`]=`aria-${u}`}}let k;const U="-",ls={adjustable:"slider",header:"heading",image:"img",link:"link",none:"presentation",summary:"region"},Me=t=>Boolean(t[0]==="$"&&Ze.has(t)),fs=(t,r,u,n,S,p,c,d)=>{var ge,Se,Te;if(H.has(t))return H.get(t);k=k||Qe();const{shorthands:x}=k,{variants:C,propMapper:ee,isReactNative:$,inlineProps:O,inlineWhenUnflattened:B}=r,K=r.isText?Be:fe,i={};let R=null,se=null;const de=n.mediaState||Ye,a={},te=Object.keys(t);let oe=t.space,q=!1;const _=r.acceptsClassName&&(z||Z)&&!n.noClassNames;let l={};const j={},$e=te.length,W=[],T={};let re="";const N={};let G;const L={classNames:T,conf:k,props:t,state:n,staticConfig:r,style:l,theme:u,usedKeys:a,viewProps:i,languageContext:p};if(process.env.NODE_ENV==="development"&&d==="verbose"&&(console.groupCollapsed("getSplitStyles (looping backwards)"),console.log({props:t,staticConfig:r,shouldDoClasses:_,state:n,IS_STATIC:Z,propKeys:te,styleState:L}),console.groupEnd()),t.className)for(const e of t.className.split(" "))if(e[0]==="_"){const[s,m]=e.slice(1).split("-"),h=m[0]==="_",F=m[0]==="0",V=h||F;let A=x[s];if(h){let M=m.slice(1);M=M.slice(0,M.indexOf("_")),A+=`${U}${M}`}else if(F){const M=m.slice(1);A+=`${U}${M}`}a[A]=1,Q(N,T,A,e,V)}else e&&(re+=` ${e}`);const ne=[];function me(e,s,m=!1,h=null){var be;if(e==="className")return;if(e in x&&(e=x[e]),process.env.TAMAGUI_TARGET==="native"){if(e==="userSelect")e="selectable",s=s!=="none";else if(e.startsWith("data-")||e.startsWith("aria-"))return}if(!r.isHOC&&e in Y||e in a)return;if(typeof s=="string"&&s[0]==="_"&&(e in K||e.includes("-"))){_?T[e]=s:l[e]=as(e,s),a[e]=1;return}if(e==="dataSet"){for(const o in s)i[`data-${ys(o)}`]=s[o];return}const F=e==="style";if(F||e.startsWith("_style")){if(!s)return;const o=Array.isArray(s)?s:[s],y=o.length;for(let v=y;v>=0;v--){const g=o[v];if(g)for(const f in g)!F&&a[f]||(a[f]=1,l[f]=g[f])}return}if(process.env.TAMAGUI_TARGET==="web"){if(e==="disabled"&&s===!0&&(a[e]=1,i["aria-disabled"]=!0,(c==="button"||c==="form"||c==="input"||c==="select"||c==="textarea")&&(i.disabled=!0),!(C!=null&&C.disabled)))return;if(e==="testID"){a[e]=1,i[$?"testId":"data-testid"]=s;return}if(e==="id"||e==="nativeID"){a[e]=1,$?i.nativeID=s:i.id=s;return}let o=!1;if($){if(J[e]||e.startsWith("accessibility")){i[e]=s,a[e]=1;return}}else if(o=!0,J[e])i[J[e]]=s;else switch(e){case"accessibilityRole":{s==="none"?i.role="presentation":i.role=ls[s]||s;return}case"accessibilityLabelledBy":case"accessibilityFlowTo":case"accessibilityControls":case"accessibilityDescribedBy":{i[`aria-${e.replace("accessibility","").toLowerCase()}`]=ds(s);return}case"accessibilityKeyShortcuts":{Array.isArray(s)&&(i["aria-keyshortcuts"]=s.join(" "));return}case"accessibilityLiveRegion":{i["aria-live"]=s==="none"?"off":s;return}case"accessibilityReadOnly":{i["aria-readonly"]=s,(c==="input"||c==="select"||c==="textarea")&&(i.readOnly=!0);return}case"accessibilityRequired":{i["aria-required"]=s,(c==="input"||c==="select"||c==="textarea")&&(i.required=s);return}default:o=!1}if(o){a[e]=1;return}if(s&&s[0]==="_"){const y=e in fe,v=!y&&e.includes(U)&&fe[e.split(U)[0]];if(y||v){a[e]=1,process.env.NODE_ENV==="development"&&d&&console.log("tamagui classname props",e,s),Q(N,T,e,s,v);return}}}let V=Me(e),A=e in Ae;const M=C&&e in C,Ve=!(V||A||M||e in K||e in x),Fe=((be=r.parentStaticConfig)==null?void 0:be.variants)&&e in r.parentStaticConfig,Ke=r.isHOC&&(V||A),he=Ve||Ke||Fe;if(process.env.NODE_ENV==="development"&&d==="verbose"&&he&&console.log(` \u{1F539} pass through ${e}`),he&&(a[e]=1,i[e]=s,!M))return;process.env.NODE_ENV==="development"&&d==="verbose"&&console.groupCollapsed(" \u{1F539} styles",e,s);const X=V||A?[[e,s]]:ee(e,s,u,m?{...t,fontFamily:h}:t,n,p,void 0,d);if(G||(G=es(X)),process.env.NODE_ENV==="development"&&d==="verbose"&&(!Le&&Oe&&console.log("expanded",X,`
2
+ usedKeys`,a,`
3
+ current`,{...l}),console.groupEnd()),!!X)for(const[o,y]of X){if(y===void 0)continue;if(o in He&&!m&&o!=="fontFamily"){ne.push([o,y]);continue}V=Me(o),A=o in Ae;const v=V||A;if(!v&&a[o]){process.env.NODE_ENV==="developmnet"&&d==="verbose"&&console.log(`Used media/pseudo ${o}`);continue}if((O!=null&&O.has(o)||B!=null&&B.has(o))&&(a[o]=1,i[o]=t[o]??y),A){if(!y)continue;const g=ve(L,o,y,!0,n.noClassNames),f=cs[o],D=f.name==="enter",w=f.name==="exit";if(!f||w&&!n.isExiting)continue;if((!_||Z)&&(R||={},R[o]||={},Object.assign(R[o],g)),_&&!D&&!w){const P=ss(g,f);for(const E of P){const b=`${E.property}${U}${f.name}`;a[b]||(a[b]=1,I(W,E),Q(N,T,b,E.identifier,v))}}else{if(a[o])continue;let P=!n[f.stateKey||f.name];z&&!le&&D&&(P=!1),P||s===r.defaultProps[e]||(a[o]||=1,process.env.NODE_ENV==="development"&&d==="verbose"&&console.log(`Setting used ${o}`)),se||={};const E=f.priority;for(const b in g){const ce=g[b];if(P){if(!(b in a)&&b in De){const je=De[b];pe(L,j,b,je,!0)}continue}const Pe=se[E]||0,Ee=E>=Pe;Ee&&(se[b]=E,R||={},R[o]||={},R[o][b]=ce,pe(L,j,b,ce)),process.env.NODE_ENV==="development"&&d==="verbose"&&console.log(" merge pseudo?",e,Ee,{importance:E,curImportance:Pe,pkey:b,val:ce})}}continue}if(V){if(!y)continue;q||=!0;const g=ve(L,o,y,!1),f=o.slice(1);if(process.env.NODE_ENV==="development"&&d==="verbose"&&console.log(` \u{1F4FA} ${o}`,{key:o,mediaStyle:g,props:t,shouldDoClasses:_}),"space"in g&&(Array.isArray(q)||(q=[]),q.push(f)),_){if("space"in g&&(delete g.space,de[f])){const w=s.space,P=Re(f,"space",a);P&&(oe=w,a.space=P,process.env.NODE_ENV==="development"&&d==="verbose"&&console.log(`Found more important space for current media ${f}: ${w} (importance: ${P})`))}const D=Ce(g);for(const w of D){const P=Ie(w,f,Je),E=`${w.property}${U}${f}`;a[E]||(a[E]=1,I(W,P),Q(N,T,E,P.identifier,!0))}}else if(de[f]){for(const D in g)if(Re(f,D,a)!==null){if(D==="space"){oe=s.space;continue}ke(l,f,D,g[D],a),o==="fontFamily"&&(G=g.fontFamily)}}continue}if(process.env.TAMAGUI_TARGET==="native"&&o==="pointerEvents"){a[o]=1,i[o]=y;continue}if(o==="fontFamily"&&!G&&s&&y&&(G=s[0]==="$"?s:y),o in K){pe(L,j,o,y);continue}(!C||!(o in C))&&(o in Y||(i[o]=y,a[o]=1))}}for(let e=$e-1;e>=0;e--){const s=te[e],m=t[s];me(s,m)}for(let e=0;e<ne.length;e++){const[s,m]=ne[e];me(s,m,!0,G)}if(xe(l),z&&ts(l),process.env.TAMAGUI_TARGET==="native"&&"fontFamily"in l&&l.fontFamily){const e=(ge=Xe(l.fontFamily))==null?void 0:ge.face;if(e){const s=(Te=(Se=e[l.fontWeight])==null?void 0:Se[l.fontStyle||"normal"])==null?void 0:Te.val;s&&(l.fontFamily=s,G=s,delete l.fontWeight,delete l.fontStyle)}process.env.NODE_ENV==="development"&&d&&console.log(`Found fontFamily native: ${l.fontFamily}`,e)}if(j&&gs(l,j,!0),S){if(process.env.TAMAGUI_TARGET==="web"&&_)for(const e in S.classNames){const s=S.classNames[e];e in l||e in T||(T[e]=s)}if(!_)for(const e in S.style)e in T||e in l||(l[e]=S.style[e])}if(process.env.TAMAGUI_TARGET==="web"){if(_){const e={};if(!l.$$css){const s=Ce(l);for(const m of s){const h=m.property;t.animateOnly&&t.animateOnly.includes(h)?e[h]=m.value:(I(W,m),Q(N,T,h,m.identifier))}Z||(l=e)}}if(N)for(const e in N){if(!N[e]){process.env.NODE_ENV==="development"&&console.warn("Error no transform",N,e);continue}const[s,m]=N[e],h=`_transform${s}`;if(le&&!ue[h]){const F=`.${h} { transform: ${m}; }`;I(W,{identifier:h,rules:[F],property:e})}T[e]=h}}const ye={},ie=Object.keys(i),Ge=ie.length;for(let e=Ge-1;e>=0;e--)ye[ie[e]]=i[ie[e]];const ae={space:oe,hasMedia:q,fontFamily:G,viewProps:ye,style:l,pseudos:R,classNames:T,rulesToInsert:W};if(re&&(T.className=re),process.env.NODE_ENV==="development"&&d==="verbose"&&Oe){console.groupCollapsed(" \u{1F539} styles =>");const e={...ae,state:n,etc:{transforms:N,viewProps:i,rulesToInsert:W,parentSplitStyles:S,flatTransforms:j}};for(const s in e)console.log(s,e[s]);console.groupEnd()}return H.set(t,ae),ae};function Q(t,r,u,n,S=!1){if(process.env.TAMAGUI_TARGET==="web"){if(!n)return;if(n[0]==="_"&&n.startsWith("_transform-")){const p=S?u:"transform";let c=ue[n];le&&!c&&(rs(),c=ue[n],!c&&z&&n[0]!=="_"&&(c=n)),t[p]||=["",""],t[p][0]+=n.replace("_transform",""),c&&(t[p][1]+=c)}else r[u]=n}}const H=new WeakMap;function us(t,r,u){const n=u||r;return H.has(n)||H.set(n,{...t,...r,...u}),H.get(n)}function pe({usedKeys:t,classNames:r,viewProps:u,style:n},S,p,c,d=!1){if(d||(t[p]||=1),c&&c[0]==="_")r[p]=c;else if(p in Ne)S||={},S[p]=c;else{const x=_e(c,p);p in qe?u[p]=x:n[p]=x}}const ve=(t,r,u,n,S)=>{const{staticConfig:p,theme:c,props:d,state:x,conf:C,languageContext:ee}=t,$={};for(let O in u){const B=u[O];O=C.shorthands[O]||O;const K=p.propMapper(O,B,c,us(p.defaultProps,d,d[r]),x,ee,n);if(K)for(const[i,R]of K)!S&&i in Ne?we($,i,R):$[i]=_e(R,O)}return xe($),$},ps=z?ze||Ue:()=>{},vs=(...t)=>{const r=fs(...t);return We||ps(()=>{os(r.rulesToInsert)},[r.rulesToInsert]),r};function I(t,r){if(process.env.TAMAGUI_TARGET==="web"){if(!ns(r.identifier))return;is(r.identifier,r.rules),t.push(r)}}function ds(t){return Array.isArray(t)?t.join(" "):t}const De={opacity:1,scale:1,rotate:"0deg",rotateY:"0deg",rotateX:"0deg"},ms=t=>`-${t.toLowerCase()}`,ys=t=>t.replace(/[A-Z]/g,ms),we=(t,r,u,n=!1)=>{t.transform||=[],t.transform[n?"unshift":"push"]({[Ss[r]||r]:u})},gs=(t,r,u=!1)=>{Object.entries(r).forEach(([n,S])=>{we(t,n,S,u)})},Ss={x:"translateX",y:"translateY"};export{U as PROP_SPLIT,fs as getSplitStyles,ve as getSubStyle,vs as useSplitStyles};
867
4
  //# sourceMappingURL=getSplitStyles.mjs.map