@tamagui/web 1.14.0 → 1.14.2

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