@tamagui/web 3.0.0-beta.765.1 → 3.0.0-beta.804.1

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 (411) hide show
  1. package/dist/cjs/createComponent.cjs +83 -86
  2. package/dist/cjs/createComponent.native.cjs +96 -103
  3. package/dist/cjs/createComponent.native.js +96 -103
  4. package/dist/cjs/createComponent.native.js.map +1 -1
  5. package/dist/cjs/createTamagui.cjs +9 -7
  6. package/dist/cjs/createTamagui.native.cjs +9 -7
  7. package/dist/cjs/createTamagui.native.js +9 -7
  8. package/dist/cjs/createTamagui.native.js.map +1 -1
  9. package/dist/cjs/helpers/defaultAnimationDriver.cjs +0 -1
  10. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +0 -1
  11. package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -1
  12. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  13. package/dist/cjs/helpers/directStyleCSS.cjs +348 -0
  14. package/dist/cjs/helpers/directStyleCSS.native.cjs +20 -0
  15. package/dist/cjs/helpers/directStyleCSS.native.js +22 -0
  16. package/dist/cjs/helpers/directStyleCSS.native.js.map +1 -0
  17. package/dist/cjs/helpers/directStyleCSSCompiled.cjs +40 -0
  18. package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +46 -0
  19. package/dist/cjs/helpers/directStyleCSSCompiled.native.js +48 -0
  20. package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +1 -0
  21. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +92 -74
  22. package/dist/cjs/helpers/{getFontLanguage.native.cjs → getCSSStylesAtomicCompiled.cjs} +12 -8
  23. package/dist/cjs/helpers/{getFontLanguage.native.js → getCSSStylesAtomicCompiled.native.cjs} +12 -8
  24. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +36 -0
  25. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  26. package/dist/cjs/helpers/getSplitStyles.cjs +2417 -548
  27. package/dist/cjs/helpers/getSplitStyles.native.cjs +2758 -621
  28. package/dist/cjs/helpers/getSplitStyles.native.js +2758 -621
  29. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  30. package/dist/cjs/helpers/getVariantExtras.cjs +8 -3
  31. package/dist/cjs/helpers/getVariantExtras.native.cjs +8 -3
  32. package/dist/cjs/helpers/getVariantExtras.native.js +8 -3
  33. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  34. package/dist/cjs/helpers/insertStyleRule.cjs +2 -1
  35. package/dist/cjs/helpers/insertStyleRule.native.cjs +68 -5
  36. package/dist/cjs/helpers/insertStyleRule.native.js +68 -5
  37. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  38. package/dist/cjs/helpers/mediaState.cjs +12 -0
  39. package/dist/cjs/helpers/mediaState.native.cjs +12 -0
  40. package/dist/cjs/helpers/mediaState.native.js +12 -0
  41. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  42. package/dist/cjs/helpers/normalizeStyle.cjs +16 -2
  43. package/dist/cjs/helpers/normalizeStyle.native.cjs +16 -2
  44. package/dist/cjs/helpers/normalizeStyle.native.js +16 -2
  45. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  46. package/dist/cjs/helpers/resolveRem.cjs +1 -1
  47. package/dist/cjs/helpers/skipProps.cjs +6 -1
  48. package/dist/cjs/helpers/skipProps.native.cjs +6 -1
  49. package/dist/cjs/helpers/skipProps.native.js +6 -1
  50. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  51. package/dist/cjs/helpers/styleFrontend.cjs +2 -8
  52. package/dist/cjs/helpers/styleFrontend.native.cjs +2 -10
  53. package/dist/cjs/helpers/styleFrontend.native.js +2 -10
  54. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  55. package/dist/cjs/helpers/styleToCSS.cjs +59 -0
  56. package/dist/cjs/helpers/{normalizeStylePropKeys.cjs → styleToCSS.native.cjs} +6 -4
  57. package/dist/cjs/helpers/{getFontLanguage.cjs → styleToCSS.native.js} +8 -4
  58. package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
  59. package/dist/cjs/helpers/subscribeToContextGroup.cjs +28 -1
  60. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +45 -1
  61. package/dist/cjs/helpers/subscribeToContextGroup.native.js +45 -1
  62. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  63. package/dist/cjs/helpers/variables.cjs +3 -2
  64. package/dist/cjs/helpers/variables.native.cjs +3 -2
  65. package/dist/cjs/helpers/variables.native.js +3 -2
  66. package/dist/cjs/helpers/variables.native.js.map +1 -1
  67. package/dist/cjs/helpers/wrapStyleTags.cjs +5 -3
  68. package/dist/cjs/helpers/wrapStyleTags.native.cjs +3 -1
  69. package/dist/cjs/helpers/wrapStyleTags.native.js +3 -1
  70. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  71. package/dist/cjs/hooks/useComponentState.cjs +70 -89
  72. package/dist/cjs/hooks/useComponentState.native.cjs +70 -88
  73. package/dist/cjs/hooks/useComponentState.native.js +70 -88
  74. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  75. package/dist/cjs/hooks/useMedia.cjs +3 -15
  76. package/dist/cjs/hooks/useMedia.native.cjs +3 -15
  77. package/dist/cjs/hooks/useMedia.native.js +3 -15
  78. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  79. package/dist/cjs/hooks/useProps.cjs +7 -5
  80. package/dist/cjs/hooks/useProps.native.cjs +7 -5
  81. package/dist/cjs/hooks/useProps.native.js +7 -5
  82. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  83. package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
  84. package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
  85. package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
  86. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
  87. package/dist/cjs/index.cjs +184 -70
  88. package/dist/cjs/index.native.cjs +184 -70
  89. package/dist/cjs/index.native.js +184 -70
  90. package/dist/cjs/index.native.js.map +1 -1
  91. package/dist/cjs/insertFont.cjs +1 -1
  92. package/dist/cjs/insertFont.native.cjs +1 -0
  93. package/dist/cjs/insertFont.native.js +1 -0
  94. package/dist/cjs/insertFont.native.js.map +1 -1
  95. package/dist/cjs/internal-runtime.cjs +33 -6
  96. package/dist/cjs/internal-runtime.native.cjs +33 -6
  97. package/dist/cjs/internal-runtime.native.js +33 -6
  98. package/dist/cjs/internal-runtime.native.js.map +1 -1
  99. package/dist/cjs/setupReactNative.cjs +1 -29
  100. package/dist/cjs/setupReactNative.native.cjs +1 -3
  101. package/dist/cjs/setupReactNative.native.js +1 -3
  102. package/dist/cjs/setupReactNative.native.js.map +1 -1
  103. package/dist/cjs/static-resolve.cjs +229 -0
  104. package/dist/cjs/static-resolve.native.cjs +242 -0
  105. package/dist/cjs/static-resolve.native.js +244 -0
  106. package/dist/cjs/static-resolve.native.js.map +1 -0
  107. package/dist/cjs/styled.cjs +23 -37
  108. package/dist/cjs/styled.native.cjs +22 -37
  109. package/dist/cjs/styled.native.js +22 -37
  110. package/dist/cjs/styled.native.js.map +1 -1
  111. package/dist/cjs/views/TamaguiProvider.cjs +4 -8
  112. package/dist/cjs/views/TamaguiProvider.native.cjs +4 -8
  113. package/dist/cjs/views/TamaguiProvider.native.js +4 -8
  114. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  115. package/dist/cjs/views/ThemeUpdate.cjs +1 -1
  116. package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
  117. package/dist/cjs/views/ThemeUpdate.native.js +1 -1
  118. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
  119. package/dist/esm/createComponent.mjs +85 -88
  120. package/dist/esm/createComponent.mjs.map +1 -1
  121. package/dist/esm/createComponent.native.js +98 -105
  122. package/dist/esm/createComponent.native.js.map +1 -1
  123. package/dist/esm/createTamagui.mjs +9 -7
  124. package/dist/esm/createTamagui.mjs.map +1 -1
  125. package/dist/esm/createTamagui.native.js +9 -7
  126. package/dist/esm/createTamagui.native.js.map +1 -1
  127. package/dist/esm/helpers/defaultAnimationDriver.mjs +0 -1
  128. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  129. package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -1
  130. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  131. package/dist/esm/helpers/directStyleCSS.mjs +320 -0
  132. package/dist/esm/helpers/directStyleCSS.mjs.map +1 -0
  133. package/dist/esm/helpers/directStyleCSS.native.js +1 -0
  134. package/dist/esm/helpers/directStyleCSSCompiled.mjs +11 -0
  135. package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +1 -0
  136. package/dist/esm/helpers/directStyleCSSCompiled.native.js +15 -0
  137. package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +1 -0
  138. package/dist/esm/helpers/getCSSStylesAtomic.mjs +86 -72
  139. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  140. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +9 -0
  141. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
  142. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +9 -0
  143. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  144. package/dist/esm/helpers/getSplitStyles.mjs +2406 -545
  145. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  146. package/dist/esm/helpers/getSplitStyles.native.js +2751 -618
  147. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  148. package/dist/esm/helpers/getVariantExtras.mjs +8 -3
  149. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  150. package/dist/esm/helpers/getVariantExtras.native.js +8 -3
  151. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  152. package/dist/esm/helpers/insertStyleRule.mjs +2 -1
  153. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  154. package/dist/esm/helpers/insertStyleRule.native.js +69 -3
  155. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  156. package/dist/esm/helpers/mediaState.mjs +12 -1
  157. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  158. package/dist/esm/helpers/mediaState.native.js +12 -1
  159. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  160. package/dist/esm/helpers/normalizeStyle.mjs +16 -2
  161. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  162. package/dist/esm/helpers/normalizeStyle.native.js +16 -2
  163. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  164. package/dist/esm/helpers/resolveRem.mjs +1 -1
  165. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  166. package/dist/esm/helpers/skipProps.mjs +3 -1
  167. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  168. package/dist/esm/helpers/skipProps.native.js +3 -1
  169. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  170. package/dist/esm/helpers/styleFrontend.mjs +2 -4
  171. package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
  172. package/dist/esm/helpers/styleFrontend.native.js +2 -6
  173. package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
  174. package/dist/esm/helpers/styleToCSS.mjs +40 -0
  175. package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
  176. package/dist/esm/helpers/styleToCSS.native.js +4 -0
  177. package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
  178. package/dist/esm/helpers/subscribeToContextGroup.mjs +25 -1
  179. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  180. package/dist/esm/helpers/subscribeToContextGroup.native.js +42 -1
  181. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  182. package/dist/esm/helpers/variables.mjs +2 -1
  183. package/dist/esm/helpers/variables.mjs.map +1 -1
  184. package/dist/esm/helpers/variables.native.js +2 -1
  185. package/dist/esm/helpers/variables.native.js.map +1 -1
  186. package/dist/esm/helpers/wrapStyleTags.mjs +5 -3
  187. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  188. package/dist/esm/helpers/wrapStyleTags.native.js +3 -1
  189. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  190. package/dist/esm/hooks/useComponentState.mjs +71 -90
  191. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  192. package/dist/esm/hooks/useComponentState.native.js +71 -89
  193. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  194. package/dist/esm/hooks/useMedia.mjs +2 -15
  195. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  196. package/dist/esm/hooks/useMedia.native.js +2 -15
  197. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  198. package/dist/esm/hooks/useProps.mjs +7 -5
  199. package/dist/esm/hooks/useProps.mjs.map +1 -1
  200. package/dist/esm/hooks/useProps.native.js +7 -5
  201. package/dist/esm/hooks/useProps.native.js.map +1 -1
  202. package/dist/esm/hooks/useSplitStyles.mjs +17 -0
  203. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
  204. package/dist/esm/hooks/useSplitStyles.native.js +14 -0
  205. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
  206. package/dist/esm/index.js +57 -137
  207. package/dist/esm/index.mjs +57 -137
  208. package/dist/esm/index.native.js +57 -137
  209. package/dist/esm/insertFont.mjs +1 -1
  210. package/dist/esm/insertFont.mjs.map +1 -1
  211. package/dist/esm/insertFont.native.js +1 -0
  212. package/dist/esm/insertFont.native.js.map +1 -1
  213. package/dist/esm/internal-runtime.mjs +23 -4
  214. package/dist/esm/internal-runtime.mjs.map +1 -1
  215. package/dist/esm/internal-runtime.native.js +23 -4
  216. package/dist/esm/internal-runtime.native.js.map +1 -1
  217. package/dist/esm/setupReactNative.mjs +1 -29
  218. package/dist/esm/setupReactNative.mjs.map +1 -1
  219. package/dist/esm/setupReactNative.native.js +1 -3
  220. package/dist/esm/setupReactNative.native.js.map +1 -1
  221. package/dist/esm/static-resolve.mjs +194 -0
  222. package/dist/esm/static-resolve.mjs.map +1 -0
  223. package/dist/esm/static-resolve.native.js +205 -0
  224. package/dist/esm/static-resolve.native.js.map +1 -0
  225. package/dist/esm/styled.mjs +24 -40
  226. package/dist/esm/styled.mjs.map +1 -1
  227. package/dist/esm/styled.native.js +23 -40
  228. package/dist/esm/styled.native.js.map +1 -1
  229. package/dist/esm/views/TamaguiProvider.mjs +4 -8
  230. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  231. package/dist/esm/views/TamaguiProvider.native.js +4 -8
  232. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  233. package/dist/esm/views/ThemeUpdate.mjs +1 -1
  234. package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
  235. package/dist/esm/views/ThemeUpdate.native.js +1 -1
  236. package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
  237. package/package.json +25 -15
  238. package/reset.css +3 -3
  239. package/src/createComponent.tsx +175 -192
  240. package/src/createTamagui.ts +10 -9
  241. package/src/helpers/defaultAnimationDriver.tsx +0 -1
  242. package/src/helpers/directStyleCSS.native.ts +1 -0
  243. package/src/helpers/directStyleCSS.ts +534 -0
  244. package/src/helpers/directStyleCSSCompiled.ts +32 -0
  245. package/src/helpers/getCSSStylesAtomic.ts +168 -88
  246. package/src/helpers/getCSSStylesAtomicCompiled.ts +9 -0
  247. package/src/helpers/getSplitStyles.tsx +4653 -1003
  248. package/src/helpers/getVariantExtras.tsx +15 -3
  249. package/src/helpers/insertStyleRule.tsx +4 -2
  250. package/src/helpers/mediaState.ts +15 -0
  251. package/src/helpers/normalizeStyle.ts +27 -2
  252. package/src/helpers/resolveRem.ts +1 -1
  253. package/src/helpers/skipProps.ts +3 -0
  254. package/src/helpers/styleFrontend.ts +20 -27
  255. package/src/helpers/styleToCSS.native.ts +1 -0
  256. package/src/helpers/styleToCSS.ts +43 -0
  257. package/src/helpers/subscribeToContextGroup.tsx +30 -0
  258. package/src/helpers/variables.ts +2 -1
  259. package/src/helpers/warnOnce.ts +3 -4
  260. package/src/helpers/wrapStyleTags.tsx +1 -1
  261. package/src/hooks/useComponentState.ts +118 -158
  262. package/src/hooks/useMedia.tsx +2 -18
  263. package/src/hooks/useProps.tsx +19 -15
  264. package/src/hooks/useSplitStyles.tsx +26 -0
  265. package/src/index.ts +298 -73
  266. package/src/insertFont.ts +5 -1
  267. package/src/internal-runtime.ts +49 -24
  268. package/src/internalRuntimeTypes.ts +2 -7
  269. package/src/setupReactNative.ts +7 -30
  270. package/src/static-resolve.ts +396 -0
  271. package/src/styled.tsx +34 -11
  272. package/src/types.tsx +40 -30
  273. package/src/views/TamaguiProvider.tsx +23 -22
  274. package/src/views/ThemeUpdate.tsx +3 -1
  275. package/types/createComponent.d.ts.map +1 -1
  276. package/types/createTamagui.d.ts.map +1 -1
  277. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  278. package/types/helpers/directStyleCSS.d.ts +28 -0
  279. package/types/helpers/directStyleCSS.d.ts.map +1 -0
  280. package/types/helpers/directStyleCSS.native.d.ts +2 -0
  281. package/types/helpers/directStyleCSS.native.d.ts.map +1 -0
  282. package/types/helpers/directStyleCSSCompiled.d.ts +10 -0
  283. package/types/helpers/directStyleCSSCompiled.d.ts.map +1 -0
  284. package/types/helpers/getCSSStylesAtomic.d.ts +22 -1
  285. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  286. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +4 -0
  287. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
  288. package/types/helpers/getSplitStyles.d.ts +11 -4
  289. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  290. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  291. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  292. package/types/helpers/mediaState.d.ts +4 -0
  293. package/types/helpers/mediaState.d.ts.map +1 -1
  294. package/types/helpers/normalizeStyle.d.ts +1 -1
  295. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  296. package/types/helpers/skipProps.d.ts +2 -0
  297. package/types/helpers/skipProps.d.ts.map +1 -1
  298. package/types/helpers/styleFrontend.d.ts +13 -17
  299. package/types/helpers/styleFrontend.d.ts.map +1 -1
  300. package/types/helpers/styleToCSS.d.ts +2 -0
  301. package/types/helpers/styleToCSS.d.ts.map +1 -0
  302. package/types/helpers/styleToCSS.native.d.ts +2 -0
  303. package/types/helpers/styleToCSS.native.d.ts.map +1 -0
  304. package/types/helpers/subscribeToContextGroup.d.ts +1 -0
  305. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  306. package/types/helpers/variables.d.ts.map +1 -1
  307. package/types/helpers/warnOnce.d.ts.map +1 -1
  308. package/types/helpers/webPropsToSkip.native.d.ts +5 -0
  309. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  310. package/types/hooks/useComponentState.d.ts +3 -2
  311. package/types/hooks/useComponentState.d.ts.map +1 -1
  312. package/types/hooks/useMedia.d.ts +1 -5
  313. package/types/hooks/useMedia.d.ts.map +1 -1
  314. package/types/hooks/useProps.d.ts.map +1 -1
  315. package/types/hooks/useSplitStyles.d.ts +3 -0
  316. package/types/hooks/useSplitStyles.d.ts.map +1 -0
  317. package/types/index.d.ts +58 -72
  318. package/types/index.d.ts.map +1 -1
  319. package/types/insertFont.d.ts.map +1 -1
  320. package/types/internal-runtime.d.ts +24 -11
  321. package/types/internal-runtime.d.ts.map +1 -1
  322. package/types/internalRuntimeTypes.d.ts +1 -6
  323. package/types/internalRuntimeTypes.d.ts.map +1 -1
  324. package/types/setupReactNative.d.ts +2 -3
  325. package/types/setupReactNative.d.ts.map +1 -1
  326. package/types/static-resolve.d.ts +79 -0
  327. package/types/static-resolve.d.ts.map +1 -0
  328. package/types/styled.d.ts.map +1 -1
  329. package/types/types.d.ts +29 -22
  330. package/types/types.d.ts.map +1 -1
  331. package/types/views/TamaguiProvider.d.ts.map +1 -1
  332. package/types/views/ThemeUpdate.d.ts.map +1 -1
  333. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -34
  334. package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -36
  335. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -38
  336. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
  337. package/dist/cjs/helpers/directStyle.cjs +0 -962
  338. package/dist/cjs/helpers/directStyle.native.cjs +0 -1165
  339. package/dist/cjs/helpers/directStyle.native.js +0 -1167
  340. package/dist/cjs/helpers/directStyle.native.js.map +0 -1
  341. package/dist/cjs/helpers/frontendProgram.cjs +0 -43
  342. package/dist/cjs/helpers/frontendProgram.native.cjs +0 -49
  343. package/dist/cjs/helpers/frontendProgram.native.js +0 -51
  344. package/dist/cjs/helpers/frontendProgram.native.js.map +0 -1
  345. package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
  346. package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -37
  347. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -39
  348. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
  349. package/dist/cjs/helpers/propMapper.cjs +0 -384
  350. package/dist/cjs/helpers/propMapper.native.cjs +0 -536
  351. package/dist/cjs/helpers/propMapper.native.js +0 -538
  352. package/dist/cjs/helpers/propMapper.native.js.map +0 -1
  353. package/dist/cjs/helpers/useRenderElement.cjs +0 -47
  354. package/dist/cjs/helpers/useRenderElement.native.cjs +0 -53
  355. package/dist/cjs/helpers/useRenderElement.native.js +0 -55
  356. package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
  357. package/dist/esm/constants/accessibilityDirectMap.mjs +0 -8
  358. package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
  359. package/dist/esm/constants/accessibilityDirectMap.native.js +0 -8
  360. package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
  361. package/dist/esm/helpers/directStyle.mjs +0 -929
  362. package/dist/esm/helpers/directStyle.mjs.map +0 -1
  363. package/dist/esm/helpers/directStyle.native.js +0 -1132
  364. package/dist/esm/helpers/directStyle.native.js.map +0 -1
  365. package/dist/esm/helpers/frontendProgram.mjs +0 -20
  366. package/dist/esm/helpers/frontendProgram.mjs.map +0 -1
  367. package/dist/esm/helpers/frontendProgram.native.js +0 -24
  368. package/dist/esm/helpers/frontendProgram.native.js.map +0 -1
  369. package/dist/esm/helpers/getFontLanguage.mjs +0 -4
  370. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
  371. package/dist/esm/helpers/getFontLanguage.native.js +0 -6
  372. package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
  373. package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -4
  374. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
  375. package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -15
  376. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
  377. package/dist/esm/helpers/propMapper.mjs +0 -360
  378. package/dist/esm/helpers/propMapper.mjs.map +0 -1
  379. package/dist/esm/helpers/propMapper.native.js +0 -511
  380. package/dist/esm/helpers/propMapper.native.js.map +0 -1
  381. package/dist/esm/helpers/useRenderElement.mjs +0 -26
  382. package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
  383. package/dist/esm/helpers/useRenderElement.native.js +0 -31
  384. package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
  385. package/src/constants/accessibilityDirectMap.native.tsx +0 -10
  386. package/src/constants/accessibilityDirectMap.tsx +0 -11
  387. package/src/helpers/directStyle.ts +0 -2294
  388. package/src/helpers/frontendProgram.ts +0 -48
  389. package/src/helpers/getFontLanguage.ts +0 -2
  390. package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
  391. package/src/helpers/normalizeStylePropKeys.ts +0 -3
  392. package/src/helpers/propMapper.ts +0 -721
  393. package/src/helpers/useRenderElement.tsx +0 -73
  394. package/types/constants/accessibilityDirectMap.d.ts +0 -6
  395. package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
  396. package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
  397. package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
  398. package/types/helpers/directStyle.d.ts +0 -15
  399. package/types/helpers/directStyle.d.ts.map +0 -1
  400. package/types/helpers/frontendProgram.d.ts +0 -10
  401. package/types/helpers/frontendProgram.d.ts.map +0 -1
  402. package/types/helpers/getFontLanguage.d.ts +0 -2
  403. package/types/helpers/getFontLanguage.d.ts.map +0 -1
  404. package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
  405. package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
  406. package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
  407. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
  408. package/types/helpers/propMapper.d.ts +0 -6
  409. package/types/helpers/propMapper.d.ts.map +0 -1
  410. package/types/helpers/useRenderElement.d.ts +0 -13
  411. package/types/helpers/useRenderElement.d.ts.map +0 -1
@@ -7,15 +7,17 @@ import type { StyleObject } from '@tamagui/helpers'
7
7
  import { cssShorthandLonghands, simpleHash } from '@tamagui/helpers'
8
8
  import { getConfigMaybe } from '../config'
9
9
  import type { TamaguiInternalConfig, ViewStyleObject } from '../types'
10
- import { defaultOffset } from './defaultOffset'
11
10
  import { getConfigRevisionState } from './grammarConfig'
12
- import { normalizeColor } from './normalizeColor'
13
11
  import { normalizeValueWithProperty } from './normalizeValueWithProperty'
12
+ import { styleToCSS } from './styleToCSS'
14
13
  import { transformsToString } from './transformsToString'
15
14
 
15
+ export { styleToCSS } from './styleToCSS'
16
+
16
17
  // refactor this file away next...
17
18
 
18
19
  export function getCSSStylesAtomic(style: ViewStyleObject) {
20
+ if (process.env.TAMAGUI_DID_OUTPUT_CSS) return []
19
21
  styleToCSS(style)
20
22
  const out: StyleObject[] = []
21
23
  for (const key in style) {
@@ -39,6 +41,7 @@ export function getCSSStyleAtomic(
39
41
  identityKey = key,
40
42
  classRepetitions = 1
41
43
  ): StyleObject | undefined {
44
+ if (process.env.TAMAGUI_DID_OUTPUT_CSS) return
42
45
  return getStyleObject(
43
46
  val,
44
47
  key,
@@ -54,16 +57,13 @@ export function getCSSStyleAtomic(
54
57
  let conf: TamaguiInternalConfig | null = null
55
58
  let confRevision = 0
56
59
 
57
- // the direct path rebuilds the same identifier and the same rule strings on
58
- // every render of every component, and insertStyleRules only ever inserts the
59
- // first set it sees for an identifier and discards the rest. the accumulated
60
- // identity is the whole input to both, so one lookup replaces the hash, the
61
- // identifier build and every rule string. two levels so a lookup allocates
62
- // nothing. bounded and cleared the same way simpleHash's cache is.
63
- const directIdentities = new Map<string, Map<string, DirectIdentity>>()
64
- let directIdentitiesSize = 0
65
-
66
- type DirectIdentity = { identifier: string; rules: string[] }
60
+ export type SlotIdentity = {
61
+ identifier: string
62
+ rules: string[]
63
+ value: any
64
+ /** finished wrapper, cached so a repeat build allocates nothing */
65
+ styleObject?: unknown
66
+ }
67
67
 
68
68
  const getStyleObject = (
69
69
  val: any,
@@ -81,33 +81,8 @@ const getStyleObject = (
81
81
  val = transformsToString(val)
82
82
  }
83
83
  const value = normalizeValueWithProperty(val, key)
84
- // media queries and shorthands come from the config, so an identity built
85
- // under one config says nothing about the rules under another
86
- const nextConf = getConfigMaybe()
87
- const nextRevision = nextConf ? getConfigRevisionState(nextConf).revision : 0
88
- if (nextConf !== conf || nextRevision !== confRevision) {
89
- conf = nextConf
90
- confRevision = nextRevision
91
- directIdentities.clear()
92
- directIdentitiesSize = 0
93
- }
94
- // callers own the array they get back: directAtomic splices into it and
95
- // addComposition unshifts, so the reuse hands out a copy
96
- let byKey: Map<string, DirectIdentity> | undefined
97
- if (direct && identity !== undefined) {
98
- byKey = directIdentities.get(identityKey)
99
- const known = byKey?.get(identity)
100
- if (known) {
101
- // directStyle takes ownership before mutation or public exposure.
102
- return [
103
- key,
104
- value,
105
- known.identifier,
106
- undefined,
107
- direct === 2 ? known.rules : known.rules.slice(),
108
- ]
109
- }
110
- }
84
+ // shorthand-derived class prefixes come from the config
85
+ const nextConf = syncAtomicConfig()
111
86
  const rawValue = typeof value === 'string' ? value : `${value}`
112
87
  // this content hash is the atomic CSS class identity shared by server output
113
88
  // and client hydration. it is not a parser cache or a runtime lookup key.
@@ -144,19 +119,6 @@ const getStyleObject = (
144
119
  direct,
145
120
  classRepetitions
146
121
  )
147
- if (direct && identity !== undefined) {
148
- if (directIdentitiesSize > 10_000) {
149
- directIdentities.clear()
150
- directIdentitiesSize = 0
151
- byKey = undefined
152
- }
153
- if (!byKey) {
154
- byKey = new Map()
155
- directIdentities.set(identityKey, byKey)
156
- }
157
- byKey.set(identity, { identifier, rules: direct === 2 ? rules : rules.slice() })
158
- directIdentitiesSize++
159
- }
160
122
  return [
161
123
  // array for performance
162
124
  key,
@@ -167,46 +129,164 @@ const getStyleObject = (
167
129
  ]
168
130
  }
169
131
 
170
- export function styleToCSS(style: Record<string, any>) {
171
- // box-shadow
172
- const { shadowOffset, shadowRadius, shadowColor, shadowOpacity } = style
173
- if (
174
- shadowRadius != null ||
175
- shadowColor ||
176
- shadowOffset != null ||
177
- shadowOpacity != null
178
- ) {
179
- const offset = shadowOffset || defaultOffset
180
- const width = normalizeValueWithProperty(offset.width)
181
- const height = normalizeValueWithProperty(offset.height)
182
- const radius = normalizeValueWithProperty(shadowRadius)
183
- const color = normalizeColor(shadowColor, shadowOpacity)
184
- if (color) {
185
- const shadow = `${width} ${height} ${radius} ${color}`
186
- style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow
187
- }
188
- delete style.shadowOffset
189
- delete style.shadowRadius
190
- delete style.shadowColor
191
- delete style.shadowOpacity
132
+ // ── frame slot builder ───────────────────────────────────────────────────────
133
+ // Build the css for one completed frame slot in a single shot: the identifier
134
+ // hashes the slot's WINNING content, the base rule comes first, and
135
+ // conditional rules follow in ascending precedence (later rules win the
136
+ // cascade at equal specificity). Cached per (atomicKey, signature): a slot
137
+ // that resolves to the same content is the same class, however it got there.
138
+
139
+ export interface AtomicSlotEntry {
140
+ property: string
141
+ value: any
142
+ condition: number
143
+ identity: string
144
+ selector: string
145
+ wrappers: readonly string[] | undefined
146
+ /** authored value, carried only on deferred platform-pseudo passes so an
147
+ * inline conversion preserves provenance */
148
+ original?: any
149
+ }
150
+
151
+ const slotIdentities = new Map<string, Map<string, SlotIdentity>>()
152
+ let slotIdentitiesSize = 0
153
+
154
+ // raw-value memo in front of the normalized identity: a repeat authored value
155
+ // skips normalization and signature building entirely. pure memoization - two
156
+ // raw spellings that normalize alike still share one identity through the
157
+ // normalized signature they both resolve to.
158
+ const rawSlotIdentities = new Map<string, Map<unknown, SlotIdentity>>()
159
+ let rawSlotIdentitiesSize = 0
160
+
161
+ export function probeRawSlotIdentity(
162
+ property: string,
163
+ raw: unknown
164
+ ): SlotIdentity | undefined {
165
+ syncAtomicConfig()
166
+ return rawSlotIdentities.get(property)?.get(raw)
167
+ }
168
+
169
+ export function storeRawSlotIdentity(
170
+ property: string,
171
+ raw: unknown,
172
+ identity: SlotIdentity
173
+ ) {
174
+ if (rawSlotIdentitiesSize > 10_000) {
175
+ rawSlotIdentities.clear()
176
+ rawSlotIdentitiesSize = 0
177
+ }
178
+ let byRaw = rawSlotIdentities.get(property)
179
+ if (!byRaw) {
180
+ byRaw = new Map()
181
+ rawSlotIdentities.set(property, byRaw)
192
182
  }
183
+ byRaw.set(raw, identity)
184
+ rawSlotIdentitiesSize++
185
+ }
186
+
187
+ function syncAtomicConfig() {
188
+ const nextConf = getConfigMaybe()
189
+ const nextRevision = nextConf ? getConfigRevisionState(nextConf).revision : 0
190
+ if (nextConf !== conf || nextRevision !== confRevision) {
191
+ conf = nextConf
192
+ confRevision = nextRevision
193
+ slotIdentities.clear()
194
+ slotIdentitiesSize = 0
195
+ rawSlotIdentities.clear()
196
+ rawSlotIdentitiesSize = 0
197
+ }
198
+ return nextConf
199
+ }
200
+
201
+ function slotClassRepetitions(atomicKey: string, condition: number): number {
202
+ const base =
203
+ atomicKey === 'containerName' || atomicKey === 'containerType'
204
+ ? condition
205
+ ? Math.max(
206
+ 2,
207
+ 1 +
208
+ ((Math.floor(condition / 256) >>> 23) & 7) +
209
+ (Math.floor(condition / 256) >>> 26) * 6 -
210
+ ((condition >>> 5) & 7)
211
+ )
212
+ : 2
213
+ : condition
214
+ ? 1 +
215
+ ((Math.floor(condition / 256) >>> 23) & 7) +
216
+ (Math.floor(condition / 256) >>> 26) * 6 -
217
+ ((condition >>> 5) & 7)
218
+ : 1
219
+ return base
220
+ }
221
+
222
+ export function buildAtomicSlotCSS(
223
+ atomicKey: string,
224
+ entries: readonly AtomicSlotEntry[],
225
+ signature: string
226
+ ): SlotIdentity | undefined {
227
+ if (process.env.TAMAGUI_DID_OUTPUT_CSS) return
228
+ // media queries and shorthands come from the config, so an identity built
229
+ // under one config says nothing about the rules under another
230
+ syncAtomicConfig()
231
+ let byKey = slotIdentities.get(atomicKey)
232
+ const known = byKey?.get(signature)
233
+ if (known) return known
193
234
 
194
- // text-shadow
195
- const { textShadowColor, textShadowOffset, textShadowRadius } = style
196
- if (textShadowColor || textShadowOffset || textShadowRadius) {
197
- const { height, width } = textShadowOffset || defaultOffset
198
- const radius = textShadowRadius || 0
199
- const color = normalizeValueWithProperty(textShadowColor, 'textShadowColor')
200
- if (color && (height !== 0 || width !== 0 || radius !== 0)) {
201
- const blurRadius = normalizeValueWithProperty(radius)
202
- const offsetX = normalizeValueWithProperty(width)
203
- const offsetY = normalizeValueWithProperty(height)
204
- style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`
235
+ const hash = simpleHash(signature, 'strict') || '0'
236
+ let shortProp = ''
237
+ for (let index = 0; index < atomicKey.length; index++) {
238
+ const code = atomicKey.charCodeAt(index)
239
+ if (
240
+ (index === 0 ||
241
+ (code >= 65 && code <= 90) ||
242
+ atomicKey.charCodeAt(index - 1) === 45) &&
243
+ ((code >= 65 && code <= 90) || (code >= 97 && code <= 122))
244
+ ) {
245
+ shortProp += atomicKey[index].toLowerCase()
205
246
  }
206
- delete style.textShadowColor
207
- delete style.textShadowOffset
208
- delete style.textShadowRadius
209
247
  }
248
+ shortProp ||= 'x'
249
+ let identifier = `_${shortProp}-${hash}`
250
+ if (atomicKey === 'pointerEvents' && entries.length === 1 && !entries[0].condition) {
251
+ const value = entries[0].value
252
+ if (value === 'box-none') identifier = '_pe-boxnone'
253
+ else if (value === 'box-only') identifier = '_pe-boxonly'
254
+ }
255
+
256
+ // entries arrive ordered (base first, conditionals ascending precedence)
257
+ // and normalized: the slot signature was built from exactly this sequence
258
+ const rules: string[] = []
259
+ let lastValue: any
260
+ for (const entry of entries) {
261
+ // values arrive normalized: the slot signature normalized them so the
262
+ // identity hash and the rule text agree
263
+ const value = entry.value
264
+ lastValue = value
265
+ const entryRules = createAtomicRules(
266
+ identifier,
267
+ entry.property,
268
+ value,
269
+ entry.selector,
270
+ entry.wrappers,
271
+ 2,
272
+ slotClassRepetitions(atomicKey, entry.condition)
273
+ )
274
+ for (const rule of entryRules) rules.push(rule)
275
+ }
276
+
277
+ const built: SlotIdentity = { identifier, rules, value: lastValue }
278
+ if (slotIdentitiesSize > 10_000) {
279
+ slotIdentities.clear()
280
+ slotIdentitiesSize = 0
281
+ byKey = undefined
282
+ }
283
+ if (!byKey) {
284
+ byKey = new Map()
285
+ slotIdentities.set(atomicKey, byKey)
286
+ }
287
+ byKey.set(signature, built)
288
+ slotIdentitiesSize++
289
+ return built
210
290
  }
211
291
 
212
292
  function createDeclarationBlock(
@@ -0,0 +1,9 @@
1
+ import type { ViewStyleObject } from '../types'
2
+
3
+ export function getCSSStylesAtomic(_style: ViewStyleObject) {
4
+ return []
5
+ }
6
+
7
+ export function getCSSStyleAtomic() {
8
+ return undefined
9
+ }