@tamagui/web 3.0.0-beta.755.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 (424) 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 +10 -8
  6. package/dist/cjs/createTamagui.native.cjs +10 -8
  7. package/dist/cjs/createTamagui.native.js +10 -8
  8. package/dist/cjs/createTamagui.native.js.map +1 -1
  9. package/dist/cjs/dom/htmlRuntime.native.cjs +1 -0
  10. package/dist/cjs/dom/htmlRuntime.native.js +1 -0
  11. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  12. package/dist/cjs/helpers/defaultAnimationDriver.cjs +0 -1
  13. package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +0 -1
  14. package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -1
  15. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  16. package/dist/cjs/helpers/directStyleCSS.cjs +348 -0
  17. package/dist/cjs/helpers/directStyleCSS.native.cjs +20 -0
  18. package/dist/cjs/helpers/directStyleCSS.native.js +22 -0
  19. package/dist/cjs/helpers/directStyleCSS.native.js.map +1 -0
  20. package/dist/cjs/helpers/directStyleCSSCompiled.cjs +40 -0
  21. package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +46 -0
  22. package/dist/cjs/helpers/directStyleCSSCompiled.native.js +48 -0
  23. package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +1 -0
  24. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +92 -74
  25. package/dist/cjs/helpers/{getFontLanguage.native.cjs → getCSSStylesAtomicCompiled.cjs} +12 -8
  26. package/dist/cjs/helpers/{getFontLanguage.native.js → getCSSStylesAtomicCompiled.native.cjs} +12 -8
  27. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +36 -0
  28. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  29. package/dist/cjs/helpers/getSplitStyles.cjs +2417 -548
  30. package/dist/cjs/helpers/getSplitStyles.native.cjs +2758 -621
  31. package/dist/cjs/helpers/getSplitStyles.native.js +2758 -621
  32. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  33. package/dist/cjs/helpers/getVariantExtras.cjs +8 -3
  34. package/dist/cjs/helpers/getVariantExtras.native.cjs +8 -3
  35. package/dist/cjs/helpers/getVariantExtras.native.js +8 -3
  36. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  37. package/dist/cjs/helpers/insertStyleRule.cjs +3 -2
  38. package/dist/cjs/helpers/insertStyleRule.native.cjs +70 -7
  39. package/dist/cjs/helpers/insertStyleRule.native.js +70 -7
  40. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  41. package/dist/cjs/helpers/mediaState.cjs +12 -0
  42. package/dist/cjs/helpers/mediaState.native.cjs +12 -0
  43. package/dist/cjs/helpers/mediaState.native.js +12 -0
  44. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  45. package/dist/cjs/helpers/normalizeStyle.cjs +16 -2
  46. package/dist/cjs/helpers/normalizeStyle.native.cjs +16 -2
  47. package/dist/cjs/helpers/normalizeStyle.native.js +16 -2
  48. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  49. package/dist/cjs/helpers/resolveRem.cjs +1 -1
  50. package/dist/cjs/helpers/skipProps.cjs +6 -1
  51. package/dist/cjs/helpers/skipProps.native.cjs +6 -1
  52. package/dist/cjs/helpers/skipProps.native.js +6 -1
  53. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  54. package/dist/cjs/helpers/styleFrontend.cjs +2 -8
  55. package/dist/cjs/helpers/styleFrontend.native.cjs +2 -10
  56. package/dist/cjs/helpers/styleFrontend.native.js +2 -10
  57. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  58. package/dist/cjs/helpers/styleToCSS.cjs +59 -0
  59. package/dist/cjs/helpers/{normalizeStylePropKeys.cjs → styleToCSS.native.cjs} +6 -4
  60. package/dist/cjs/helpers/{getFontLanguage.cjs → styleToCSS.native.js} +8 -4
  61. package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
  62. package/dist/cjs/helpers/subscribeToContextGroup.cjs +28 -1
  63. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +45 -1
  64. package/dist/cjs/helpers/subscribeToContextGroup.native.js +45 -1
  65. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  66. package/dist/cjs/helpers/variables.cjs +3 -2
  67. package/dist/cjs/helpers/variables.native.cjs +3 -2
  68. package/dist/cjs/helpers/variables.native.js +3 -2
  69. package/dist/cjs/helpers/variables.native.js.map +1 -1
  70. package/dist/cjs/helpers/wrapStyleTags.cjs +5 -3
  71. package/dist/cjs/helpers/wrapStyleTags.native.cjs +3 -1
  72. package/dist/cjs/helpers/wrapStyleTags.native.js +3 -1
  73. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  74. package/dist/cjs/hooks/useComponentState.cjs +70 -89
  75. package/dist/cjs/hooks/useComponentState.native.cjs +70 -88
  76. package/dist/cjs/hooks/useComponentState.native.js +70 -88
  77. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  78. package/dist/cjs/hooks/useMedia.cjs +3 -15
  79. package/dist/cjs/hooks/useMedia.native.cjs +3 -15
  80. package/dist/cjs/hooks/useMedia.native.js +3 -15
  81. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  82. package/dist/cjs/hooks/useProps.cjs +7 -5
  83. package/dist/cjs/hooks/useProps.native.cjs +7 -5
  84. package/dist/cjs/hooks/useProps.native.js +7 -5
  85. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  86. package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
  87. package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
  88. package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
  89. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
  90. package/dist/cjs/index.cjs +184 -70
  91. package/dist/cjs/index.native.cjs +184 -70
  92. package/dist/cjs/index.native.js +184 -70
  93. package/dist/cjs/index.native.js.map +1 -1
  94. package/dist/cjs/insertFont.cjs +1 -1
  95. package/dist/cjs/insertFont.native.cjs +1 -0
  96. package/dist/cjs/insertFont.native.js +1 -0
  97. package/dist/cjs/insertFont.native.js.map +1 -1
  98. package/dist/cjs/internal-runtime.cjs +33 -6
  99. package/dist/cjs/internal-runtime.native.cjs +33 -6
  100. package/dist/cjs/internal-runtime.native.js +33 -6
  101. package/dist/cjs/internal-runtime.native.js.map +1 -1
  102. package/dist/cjs/setupReactNative.cjs +1 -29
  103. package/dist/cjs/setupReactNative.native.cjs +1 -3
  104. package/dist/cjs/setupReactNative.native.js +1 -3
  105. package/dist/cjs/setupReactNative.native.js.map +1 -1
  106. package/dist/cjs/static-resolve.cjs +229 -0
  107. package/dist/cjs/static-resolve.native.cjs +242 -0
  108. package/dist/cjs/static-resolve.native.js +244 -0
  109. package/dist/cjs/static-resolve.native.js.map +1 -0
  110. package/dist/cjs/styled.cjs +23 -37
  111. package/dist/cjs/styled.native.cjs +22 -37
  112. package/dist/cjs/styled.native.js +22 -37
  113. package/dist/cjs/styled.native.js.map +1 -1
  114. package/dist/cjs/views/TamaguiProvider.cjs +4 -8
  115. package/dist/cjs/views/TamaguiProvider.native.cjs +4 -8
  116. package/dist/cjs/views/TamaguiProvider.native.js +4 -8
  117. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  118. package/dist/cjs/views/ThemeUpdate.cjs +1 -1
  119. package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
  120. package/dist/cjs/views/ThemeUpdate.native.js +1 -1
  121. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
  122. package/dist/esm/createComponent.mjs +85 -88
  123. package/dist/esm/createComponent.mjs.map +1 -1
  124. package/dist/esm/createComponent.native.js +98 -105
  125. package/dist/esm/createComponent.native.js.map +1 -1
  126. package/dist/esm/createTamagui.mjs +10 -8
  127. package/dist/esm/createTamagui.mjs.map +1 -1
  128. package/dist/esm/createTamagui.native.js +10 -8
  129. package/dist/esm/createTamagui.native.js.map +1 -1
  130. package/dist/esm/dom/htmlRuntime.native.js +1 -0
  131. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  132. package/dist/esm/helpers/defaultAnimationDriver.mjs +0 -1
  133. package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
  134. package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -1
  135. package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
  136. package/dist/esm/helpers/directStyleCSS.mjs +320 -0
  137. package/dist/esm/helpers/directStyleCSS.mjs.map +1 -0
  138. package/dist/esm/helpers/directStyleCSS.native.js +1 -0
  139. package/dist/esm/helpers/directStyleCSSCompiled.mjs +11 -0
  140. package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +1 -0
  141. package/dist/esm/helpers/directStyleCSSCompiled.native.js +15 -0
  142. package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +1 -0
  143. package/dist/esm/helpers/getCSSStylesAtomic.mjs +86 -72
  144. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  145. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +9 -0
  146. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
  147. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +9 -0
  148. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
  149. package/dist/esm/helpers/getSplitStyles.mjs +2406 -545
  150. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  151. package/dist/esm/helpers/getSplitStyles.native.js +2751 -618
  152. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  153. package/dist/esm/helpers/getVariantExtras.mjs +8 -3
  154. package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
  155. package/dist/esm/helpers/getVariantExtras.native.js +8 -3
  156. package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
  157. package/dist/esm/helpers/insertStyleRule.mjs +3 -2
  158. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  159. package/dist/esm/helpers/insertStyleRule.native.js +71 -5
  160. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  161. package/dist/esm/helpers/mediaState.mjs +12 -1
  162. package/dist/esm/helpers/mediaState.mjs.map +1 -1
  163. package/dist/esm/helpers/mediaState.native.js +12 -1
  164. package/dist/esm/helpers/mediaState.native.js.map +1 -1
  165. package/dist/esm/helpers/normalizeStyle.mjs +16 -2
  166. package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
  167. package/dist/esm/helpers/normalizeStyle.native.js +16 -2
  168. package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
  169. package/dist/esm/helpers/resolveRem.mjs +1 -1
  170. package/dist/esm/helpers/resolveRem.mjs.map +1 -1
  171. package/dist/esm/helpers/skipProps.mjs +3 -1
  172. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  173. package/dist/esm/helpers/skipProps.native.js +3 -1
  174. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  175. package/dist/esm/helpers/styleFrontend.mjs +2 -4
  176. package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
  177. package/dist/esm/helpers/styleFrontend.native.js +2 -6
  178. package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
  179. package/dist/esm/helpers/styleToCSS.mjs +40 -0
  180. package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
  181. package/dist/esm/helpers/styleToCSS.native.js +4 -0
  182. package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
  183. package/dist/esm/helpers/subscribeToContextGroup.mjs +25 -1
  184. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  185. package/dist/esm/helpers/subscribeToContextGroup.native.js +42 -1
  186. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  187. package/dist/esm/helpers/variables.mjs +2 -1
  188. package/dist/esm/helpers/variables.mjs.map +1 -1
  189. package/dist/esm/helpers/variables.native.js +2 -1
  190. package/dist/esm/helpers/variables.native.js.map +1 -1
  191. package/dist/esm/helpers/wrapStyleTags.mjs +5 -3
  192. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  193. package/dist/esm/helpers/wrapStyleTags.native.js +3 -1
  194. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  195. package/dist/esm/hooks/useComponentState.mjs +71 -90
  196. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  197. package/dist/esm/hooks/useComponentState.native.js +71 -89
  198. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  199. package/dist/esm/hooks/useMedia.mjs +2 -15
  200. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  201. package/dist/esm/hooks/useMedia.native.js +2 -15
  202. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  203. package/dist/esm/hooks/useProps.mjs +7 -5
  204. package/dist/esm/hooks/useProps.mjs.map +1 -1
  205. package/dist/esm/hooks/useProps.native.js +7 -5
  206. package/dist/esm/hooks/useProps.native.js.map +1 -1
  207. package/dist/esm/hooks/useSplitStyles.mjs +17 -0
  208. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
  209. package/dist/esm/hooks/useSplitStyles.native.js +14 -0
  210. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
  211. package/dist/esm/index.js +57 -137
  212. package/dist/esm/index.mjs +57 -137
  213. package/dist/esm/index.native.js +57 -137
  214. package/dist/esm/insertFont.mjs +1 -1
  215. package/dist/esm/insertFont.mjs.map +1 -1
  216. package/dist/esm/insertFont.native.js +1 -0
  217. package/dist/esm/insertFont.native.js.map +1 -1
  218. package/dist/esm/internal-runtime.mjs +23 -4
  219. package/dist/esm/internal-runtime.mjs.map +1 -1
  220. package/dist/esm/internal-runtime.native.js +23 -4
  221. package/dist/esm/internal-runtime.native.js.map +1 -1
  222. package/dist/esm/setupReactNative.mjs +1 -29
  223. package/dist/esm/setupReactNative.mjs.map +1 -1
  224. package/dist/esm/setupReactNative.native.js +1 -3
  225. package/dist/esm/setupReactNative.native.js.map +1 -1
  226. package/dist/esm/static-resolve.mjs +194 -0
  227. package/dist/esm/static-resolve.mjs.map +1 -0
  228. package/dist/esm/static-resolve.native.js +205 -0
  229. package/dist/esm/static-resolve.native.js.map +1 -0
  230. package/dist/esm/styled.mjs +24 -40
  231. package/dist/esm/styled.mjs.map +1 -1
  232. package/dist/esm/styled.native.js +23 -40
  233. package/dist/esm/styled.native.js.map +1 -1
  234. package/dist/esm/views/TamaguiProvider.mjs +4 -8
  235. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  236. package/dist/esm/views/TamaguiProvider.native.js +4 -8
  237. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  238. package/dist/esm/views/ThemeUpdate.mjs +1 -1
  239. package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
  240. package/dist/esm/views/ThemeUpdate.native.js +1 -1
  241. package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
  242. package/package.json +25 -15
  243. package/reset.css +3 -3
  244. package/src/createComponent.tsx +175 -192
  245. package/src/createTamagui.ts +13 -10
  246. package/src/dom/html.native.tsx +99 -92
  247. package/src/dom/html.tsx +105 -98
  248. package/src/dom/htmlRuntime.native.tsx +1 -0
  249. package/src/helpers/defaultAnimationDriver.tsx +0 -1
  250. package/src/helpers/directStyleCSS.native.ts +1 -0
  251. package/src/helpers/directStyleCSS.ts +534 -0
  252. package/src/helpers/directStyleCSSCompiled.ts +32 -0
  253. package/src/helpers/getCSSStylesAtomic.ts +168 -88
  254. package/src/helpers/getCSSStylesAtomicCompiled.ts +9 -0
  255. package/src/helpers/getSplitStyles.tsx +4653 -1003
  256. package/src/helpers/getVariantExtras.tsx +15 -3
  257. package/src/helpers/insertStyleRule.tsx +8 -3
  258. package/src/helpers/mediaState.ts +15 -0
  259. package/src/helpers/normalizeStyle.ts +27 -2
  260. package/src/helpers/resolveRem.ts +1 -1
  261. package/src/helpers/skipProps.ts +3 -0
  262. package/src/helpers/styleFrontend.ts +20 -27
  263. package/src/helpers/styleToCSS.native.ts +1 -0
  264. package/src/helpers/styleToCSS.ts +43 -0
  265. package/src/helpers/subscribeToContextGroup.tsx +30 -0
  266. package/src/helpers/variables.ts +2 -1
  267. package/src/helpers/warnOnce.ts +3 -4
  268. package/src/helpers/wrapStyleTags.tsx +1 -1
  269. package/src/hooks/useComponentState.ts +118 -158
  270. package/src/hooks/useMedia.tsx +2 -18
  271. package/src/hooks/useProps.tsx +19 -15
  272. package/src/hooks/useSplitStyles.tsx +26 -0
  273. package/src/index.ts +298 -73
  274. package/src/insertFont.ts +5 -1
  275. package/src/internal-runtime.ts +49 -24
  276. package/src/internalRuntimeTypes.ts +2 -7
  277. package/src/setupReactNative.ts +7 -30
  278. package/src/static-resolve.ts +396 -0
  279. package/src/styled.tsx +34 -11
  280. package/src/types.tsx +41 -31
  281. package/src/views/TamaguiProvider.tsx +23 -22
  282. package/src/views/ThemeUpdate.tsx +3 -1
  283. package/types/createComponent.d.ts.map +1 -1
  284. package/types/createTamagui.d.ts.map +1 -1
  285. package/types/dom/html.d.ts +54 -50
  286. package/types/dom/html.d.ts.map +1 -1
  287. package/types/dom/html.native.d.ts +51 -47
  288. package/types/dom/html.native.d.ts.map +1 -1
  289. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  290. package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
  291. package/types/helpers/directStyleCSS.d.ts +28 -0
  292. package/types/helpers/directStyleCSS.d.ts.map +1 -0
  293. package/types/helpers/directStyleCSS.native.d.ts +2 -0
  294. package/types/helpers/directStyleCSS.native.d.ts.map +1 -0
  295. package/types/helpers/directStyleCSSCompiled.d.ts +10 -0
  296. package/types/helpers/directStyleCSSCompiled.d.ts.map +1 -0
  297. package/types/helpers/getCSSStylesAtomic.d.ts +22 -1
  298. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  299. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +4 -0
  300. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
  301. package/types/helpers/getSplitStyles.d.ts +11 -4
  302. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  303. package/types/helpers/getVariantExtras.d.ts.map +1 -1
  304. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  305. package/types/helpers/mediaState.d.ts +4 -0
  306. package/types/helpers/mediaState.d.ts.map +1 -1
  307. package/types/helpers/normalizeStyle.d.ts +1 -1
  308. package/types/helpers/normalizeStyle.d.ts.map +1 -1
  309. package/types/helpers/skipProps.d.ts +2 -0
  310. package/types/helpers/skipProps.d.ts.map +1 -1
  311. package/types/helpers/styleFrontend.d.ts +13 -17
  312. package/types/helpers/styleFrontend.d.ts.map +1 -1
  313. package/types/helpers/styleToCSS.d.ts +2 -0
  314. package/types/helpers/styleToCSS.d.ts.map +1 -0
  315. package/types/helpers/styleToCSS.native.d.ts +2 -0
  316. package/types/helpers/styleToCSS.native.d.ts.map +1 -0
  317. package/types/helpers/subscribeToContextGroup.d.ts +1 -0
  318. package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
  319. package/types/helpers/variables.d.ts.map +1 -1
  320. package/types/helpers/warnOnce.d.ts.map +1 -1
  321. package/types/helpers/webPropsToSkip.native.d.ts +5 -0
  322. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  323. package/types/hooks/useComponentState.d.ts +3 -2
  324. package/types/hooks/useComponentState.d.ts.map +1 -1
  325. package/types/hooks/useMedia.d.ts +1 -5
  326. package/types/hooks/useMedia.d.ts.map +1 -1
  327. package/types/hooks/useProps.d.ts.map +1 -1
  328. package/types/hooks/useSplitStyles.d.ts +3 -0
  329. package/types/hooks/useSplitStyles.d.ts.map +1 -0
  330. package/types/index.d.ts +58 -72
  331. package/types/index.d.ts.map +1 -1
  332. package/types/insertFont.d.ts.map +1 -1
  333. package/types/internal-runtime.d.ts +24 -11
  334. package/types/internal-runtime.d.ts.map +1 -1
  335. package/types/internalRuntimeTypes.d.ts +1 -6
  336. package/types/internalRuntimeTypes.d.ts.map +1 -1
  337. package/types/setupReactNative.d.ts +2 -3
  338. package/types/setupReactNative.d.ts.map +1 -1
  339. package/types/static-resolve.d.ts +79 -0
  340. package/types/static-resolve.d.ts.map +1 -0
  341. package/types/styled.d.ts.map +1 -1
  342. package/types/types.d.ts +30 -23
  343. package/types/types.d.ts.map +1 -1
  344. package/types/views/TamaguiProvider.d.ts.map +1 -1
  345. package/types/views/ThemeUpdate.d.ts.map +1 -1
  346. package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -34
  347. package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -36
  348. package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -38
  349. package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
  350. package/dist/cjs/helpers/directStyle.cjs +0 -962
  351. package/dist/cjs/helpers/directStyle.native.cjs +0 -1165
  352. package/dist/cjs/helpers/directStyle.native.js +0 -1167
  353. package/dist/cjs/helpers/directStyle.native.js.map +0 -1
  354. package/dist/cjs/helpers/frontendProgram.cjs +0 -43
  355. package/dist/cjs/helpers/frontendProgram.native.cjs +0 -49
  356. package/dist/cjs/helpers/frontendProgram.native.js +0 -51
  357. package/dist/cjs/helpers/frontendProgram.native.js.map +0 -1
  358. package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
  359. package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -37
  360. package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -39
  361. package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
  362. package/dist/cjs/helpers/propMapper.cjs +0 -384
  363. package/dist/cjs/helpers/propMapper.native.cjs +0 -536
  364. package/dist/cjs/helpers/propMapper.native.js +0 -538
  365. package/dist/cjs/helpers/propMapper.native.js.map +0 -1
  366. package/dist/cjs/helpers/useRenderElement.cjs +0 -47
  367. package/dist/cjs/helpers/useRenderElement.native.cjs +0 -53
  368. package/dist/cjs/helpers/useRenderElement.native.js +0 -55
  369. package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
  370. package/dist/esm/constants/accessibilityDirectMap.mjs +0 -8
  371. package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
  372. package/dist/esm/constants/accessibilityDirectMap.native.js +0 -8
  373. package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
  374. package/dist/esm/helpers/directStyle.mjs +0 -929
  375. package/dist/esm/helpers/directStyle.mjs.map +0 -1
  376. package/dist/esm/helpers/directStyle.native.js +0 -1132
  377. package/dist/esm/helpers/directStyle.native.js.map +0 -1
  378. package/dist/esm/helpers/frontendProgram.mjs +0 -20
  379. package/dist/esm/helpers/frontendProgram.mjs.map +0 -1
  380. package/dist/esm/helpers/frontendProgram.native.js +0 -24
  381. package/dist/esm/helpers/frontendProgram.native.js.map +0 -1
  382. package/dist/esm/helpers/getFontLanguage.mjs +0 -4
  383. package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
  384. package/dist/esm/helpers/getFontLanguage.native.js +0 -6
  385. package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
  386. package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -4
  387. package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
  388. package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -15
  389. package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
  390. package/dist/esm/helpers/propMapper.mjs +0 -360
  391. package/dist/esm/helpers/propMapper.mjs.map +0 -1
  392. package/dist/esm/helpers/propMapper.native.js +0 -511
  393. package/dist/esm/helpers/propMapper.native.js.map +0 -1
  394. package/dist/esm/helpers/useRenderElement.mjs +0 -26
  395. package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
  396. package/dist/esm/helpers/useRenderElement.native.js +0 -31
  397. package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
  398. package/src/constants/accessibilityDirectMap.native.tsx +0 -10
  399. package/src/constants/accessibilityDirectMap.tsx +0 -11
  400. package/src/helpers/directStyle.ts +0 -2294
  401. package/src/helpers/frontendProgram.ts +0 -48
  402. package/src/helpers/getFontLanguage.ts +0 -2
  403. package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
  404. package/src/helpers/normalizeStylePropKeys.ts +0 -3
  405. package/src/helpers/propMapper.ts +0 -721
  406. package/src/helpers/useRenderElement.tsx +0 -73
  407. package/types/constants/accessibilityDirectMap.d.ts +0 -6
  408. package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
  409. package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
  410. package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
  411. package/types/helpers/directStyle.d.ts +0 -15
  412. package/types/helpers/directStyle.d.ts.map +0 -1
  413. package/types/helpers/frontendProgram.d.ts +0 -10
  414. package/types/helpers/frontendProgram.d.ts.map +0 -1
  415. package/types/helpers/getFontLanguage.d.ts +0 -2
  416. package/types/helpers/getFontLanguage.d.ts.map +0 -1
  417. package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
  418. package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
  419. package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
  420. package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
  421. package/types/helpers/propMapper.d.ts +0 -6
  422. package/types/helpers/propMapper.d.ts.map +0 -1
  423. package/types/helpers/useRenderElement.d.ts +0 -13
  424. package/types/helpers/useRenderElement.d.ts.map +0 -1
@@ -1,360 +0,0 @@
1
- import { scanFlatValue } from "@tamagui/style-grammar/runtime";
2
- import { isVariable } from "../createVariable.mjs";
3
- import { variantResolverNames } from "../types.mjs";
4
- import { isConditionalStyleObject, resolveClauseChain } from "./directStyle.mjs";
5
- import { expandStyle } from "./expandStyle.mjs";
6
- import { resolveVariableValue } from "./resolveVariableValue.mjs";
7
- import { getVariantExtras } from "./getVariantExtras.mjs";
8
- import { isObj } from "./isObj.mjs";
9
- import { normalizeStyle } from "./normalizeStyle.mjs";
10
- import { isRemValue, resolveRem } from "./resolveRem.mjs";
11
- import { expandSafeAreaValue, isSafeAreaKey } from "./resolveSafeArea.mjs";
12
- import { skipProps } from "./skipProps.mjs";
13
- import { styleOriginalValues } from "./styleOriginalValues.mjs";
14
-
15
- export * from "./tokenCategories.mjs"
16
-
17
- function appendFlatClause(state, prev, conditionSource, value) {
18
- if (typeof value === "string" || typeof value === "number") {
19
- if (prev == null) return `${conditionSource}:${value}`;
20
- if (typeof prev === "string" || typeof prev === "number") return `${prev} ${conditionSource}:${value}`;
21
- }
22
- if (prev == null) return { [conditionSource]: value };
23
- if (typeof prev === "string" && prev.includes(":")) return;
24
- if (typeof prev === "object" && !Array.isArray(prev) && !isVariable(prev) && isConditionalStyleObject(state, prev)) return {
25
- ...prev,
26
- [conditionSource]: value
27
- };
28
- return {
29
- default: prev,
30
- [conditionSource]: value
31
- };
32
- }
33
- const propMapperHandler = {
34
- segment(ctx, start, end, isBase, valid, source, chainStart, chainEnd, chainValid) {
35
- if (isBase) {
36
- if (valid && start < end) ctx.push(start, end, -1, -1);
37
- return;
38
- }
39
- if (!chainValid) return;
40
- if (resolveClauseChain(ctx[0], source, chainStart, chainEnd) && valid && start < end) ctx.push(start, end, chainStart, chainEnd);
41
- },
42
- chain(ctx) {
43
- ctx[2] = true;
44
- return true;
45
- },
46
- error(ctx) {
47
- ctx[2] = true;
48
- }
49
- };
50
- const propMapper = (key, value, styleState, disabled, map) => {
51
- if (disabled) return map(key, value);
52
- if (key === "elevationAndroid") return;
53
- const { conf, styleProps, staticConfig } = styleState;
54
- const { variants } = staticConfig;
55
- if (!styleProps.noExpand) {
56
- if (variants && key in variants) {
57
- const variantValue = resolveVariants(key, value, styleProps, styleState, "");
58
- if (variantValue) {
59
- for (const entry of variantValue) map(entry[0], entry[1], entry[2], entry[3]);
60
- return;
61
- }
62
- }
63
- }
64
- if (!styleProps.disableExpandShorthands) {
65
- if (key in conf.shorthands) key = conf.shorthands[key];
66
- }
67
- const originalValue = value;
68
- if (value === "safe" && isSafeAreaKey(key)) {
69
- const expanded = expandSafeAreaValue(key);
70
- if (expanded) {
71
- for (let i = 0; i < expanded.length; i++) {
72
- const [nkey, nvalue] = expanded[i];
73
- map(nkey, nvalue, originalValue);
74
- }
75
- return;
76
- }
77
- }
78
- if (value != null) {
79
- if (typeof value === "string") value = isRemValue(value) ? resolveRem(value) : value;
80
- else if (isVariable(value)) value = resolveVariableValue(key, value, styleProps.resolveValues);
81
- else if (isRemValue(value)) value = resolveRem(value);
82
- }
83
- if (value != null) {
84
- if (key === "fontFamily" && typeof originalValue === "string") {
85
- if (originalValue in conf.fontsParsed) styleState.fontFamily = originalValue;
86
- }
87
- const expanded = styleProps.noExpand || typeof value === "string" ? null : expandStyle(key, value, conf.settings.styleCompat || "web");
88
- if (expanded) {
89
- const max = expanded.length;
90
- for (let i = 0; i < max; i++) {
91
- const [nkey, nvalue, noriginalValue] = expanded[i];
92
- map(nkey, nvalue, noriginalValue ?? originalValue);
93
- }
94
- } else map(key, value, originalValue);
95
- }
96
- };
97
- const resolveVariants = (key, value, styleProps, styleState, parentVariantKey) => {
98
- const variantDefinition = styleState.staticConfig.variants?.[key];
99
- if (typeof value === "string" && value.indexOf(":") !== -1 && !(variantDefinition && typeof variantDefinition === "object" && value in variantDefinition)) {
100
- const scan = [
101
- styleState,
102
- value,
103
- false
104
- ];
105
- scanFlatValue(value, propMapperHandler, scan);
106
- if (scan[2]) {
107
- let entries;
108
- for (let index = 3; index < scan.length; index += 4) {
109
- const resolved = resolveVariantValue(key, value.slice(scan[index], scan[index + 1]), styleProps, styleState, parentVariantKey);
110
- if (!resolved) continue;
111
- entries ||= [];
112
- const chainStart = scan[index + 2];
113
- const modifier = chainStart === -1 ? void 0 : value.slice(chainStart, scan[index + 3]);
114
- for (const entry of resolved) {
115
- if (modifier !== void 0) entry[3] = modifier;
116
- entries.push(entry);
117
- }
118
- }
119
- return entries || [];
120
- }
121
- }
122
- if (value && typeof value === "object" && !Array.isArray(value) && !isVariable(value) && isConditionalStyleObject(styleState, value)) {
123
- let entries;
124
- for (const objKey in value) {
125
- const payload = value[objKey];
126
- if (payload == null) continue;
127
- const resolved = resolveVariantValue(key, payload, styleProps, styleState, parentVariantKey);
128
- if (!resolved) continue;
129
- entries ||= [];
130
- for (const entry of resolved) {
131
- if (objKey !== "default") entry[3] = objKey;
132
- entries.push(entry);
133
- }
134
- }
135
- return entries || [];
136
- }
137
- return resolveVariantValue(key, value, styleProps, styleState, parentVariantKey);
138
- };
139
- const resolveVariantValue = (key, value, styleProps, styleState, parentVariantKey) => {
140
- const { staticConfig, conf, debug } = styleState;
141
- const { variants } = staticConfig;
142
- if (!variants) return;
143
- const variant = variants[key];
144
- let variantValue = getVariantDefinition(variant, value, conf, styleState);
145
- if (process.env.NODE_ENV === "development" && debug === "verbose") {
146
- console.groupCollapsed(`\u2666\uFE0F\u2666\uFE0F\u2666\uFE0F resolve variant ${key}`);
147
- console.info({
148
- key,
149
- value,
150
- variantValue,
151
- variants
152
- });
153
- console.groupEnd();
154
- }
155
- if (!variantValue) {
156
- if (process.env.TAMAGUI_WARN_ON_MISSING_VARIANT === "1") {
157
- if (typeof value !== "boolean") {
158
- const name = styleState.styleProps.displayName || "[UnnamedComponent]";
159
- console.warn(`No variant found: ${name} has variant "${key}", but no matching value "${value}"`);
160
- }
161
- }
162
- return;
163
- }
164
- if (typeof variantValue === "function") {
165
- const fn = variantValue;
166
- const extras = getVariantExtras(styleState);
167
- variantValue = fn(value, extras);
168
- if (process.env.NODE_ENV === "development" && debug === "verbose" && true) {
169
- console.groupCollapsed(" expanded functional variant", key);
170
- console.info({
171
- fn,
172
- variantValue,
173
- extras
174
- });
175
- console.groupEnd();
176
- }
177
- }
178
- let fontFamilyResult;
179
- if (isObj(variantValue)) {
180
- const fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];
181
- if (fontFamilyUpdate) {
182
- fontFamilyResult = getFontFamilyFromNameOrVariable(fontFamilyUpdate, conf);
183
- styleState.fontFamily = fontFamilyResult;
184
- if (process.env.NODE_ENV === "development" && debug === "verbose") console.info(` updating font family`, fontFamilyResult);
185
- }
186
- variantValue = resolveTokensAndVariants(key, variantValue, styleProps, styleState, parentVariantKey);
187
- }
188
- if (variantValue) {
189
- const expanded = normalizeStyle(variantValue, !!styleProps.noNormalize);
190
- if (process.env.NODE_ENV === "development" && debug === "verbose") console.info(` expanding styles from `, variantValue, `to`, expanded);
191
- const originalValues = styleOriginalValues.get(expanded);
192
- const next = [];
193
- for (const key2 in expanded) next.push([
194
- key2,
195
- expanded[key2],
196
- originalValues?.[key2]
197
- ]);
198
- return next;
199
- }
200
- };
201
- function getFontFamilyFromNameOrVariable(input, conf) {
202
- if (isVariable(input)) {
203
- const val = variableToFontNameCache.get(input);
204
- if (val) return val;
205
- for (const key in conf.fontsParsed) {
206
- const familyVariable = conf.fontsParsed[key].family;
207
- if (isVariable(familyVariable)) {
208
- variableToFontNameCache.set(familyVariable, key);
209
- if (familyVariable === input) return key;
210
- }
211
- }
212
- } else if (typeof input === "string" && input in conf.fontsParsed) return input;
213
- }
214
- const variableToFontNameCache = /* @__PURE__ */ new WeakMap();
215
- const resolveTokensAndVariants = (key, value, styleProps, styleState, parentVariantKey) => {
216
- const { conf, staticConfig, debug } = styleState;
217
- const { variants } = staticConfig;
218
- const res = {};
219
- let originalValues;
220
- if (process.env.NODE_ENV === "development" && debug === "verbose") console.info(` - resolveTokensAndVariants`, key, value);
221
- for (const _key in value) {
222
- const subKey = conf.shorthands[_key] || _key;
223
- const val = value[_key];
224
- if (!styleProps.noSkip && subKey in skipProps) continue;
225
- originalValues ||= {};
226
- originalValues[subKey] = val;
227
- if (staticConfig) {
228
- const contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;
229
- const inheritedContextPropKeys = !staticConfig.context || staticConfig.context === staticConfig.parentStaticConfig?.context ? staticConfig.parentStaticConfig?.contextProps : void 0;
230
- const contextPropKeys = staticConfig.contextProps || inheritedContextPropKeys;
231
- if (contextProps && subKey in contextProps || contextPropKeys?.includes(subKey) || staticConfig.context?.propKeys?.includes(subKey) || staticConfig.parentStaticConfig?.context?.propKeys?.includes(subKey)) {
232
- styleState.overriddenContextProps ||= {};
233
- styleState.overriddenContextProps[subKey] = val;
234
- styleState.originalContextPropValues ||= {};
235
- styleState.originalContextPropValues[subKey] = val;
236
- }
237
- }
238
- if (styleProps.noExpand) res[subKey] = val;
239
- else if (variants && subKey in variants) {
240
- if (parentVariantKey && parentVariantKey === key) res[subKey] = val;
241
- else {
242
- const variantOut = resolveVariants(subKey, val, styleProps, styleState, key);
243
- if (variantOut) for (const [key2, val2, originalVal, conditionSource] of variantOut) {
244
- if (val2 == null) continue;
245
- if (conditionSource !== void 0) {
246
- const appended = appendFlatClause(styleState, res[key2], conditionSource, val2);
247
- if (appended === void 0) {
248
- if (process.env.NODE_ENV === "development") console.warn(`[tamagui] conditional variant value for "${key2}" cannot join the existing clause string; dropping the clause`);
249
- continue;
250
- }
251
- res[key2] = appended;
252
- continue;
253
- }
254
- res[key2] = val2;
255
- if (originalVal !== void 0) {
256
- originalValues ||= {};
257
- originalValues[key2] = originalVal;
258
- }
259
- }
260
- }
261
- continue;
262
- }
263
- if (isVariable(val)) {
264
- res[subKey] = resolveVariableValue(subKey, val, styleProps.resolveValues);
265
- if (process.env.NODE_ENV === "development" && debug === "verbose") console.info(`variable`, subKey, res[subKey]);
266
- continue;
267
- }
268
- if (typeof val === "string") {
269
- res[subKey] = isRemValue(val) ? resolveRem(val) : val;
270
- continue;
271
- }
272
- if (isObj(val)) {
273
- const subObject = resolveTokensAndVariants(subKey, val, styleProps, styleState, key);
274
- if (process.env.NODE_ENV === "development" && debug === "verbose") console.info(`object`, subKey, subObject);
275
- res[subKey] ??= {};
276
- Object.assign(res[subKey], subObject);
277
- const subOriginalValues = styleOriginalValues.get(subObject);
278
- if (subOriginalValues) {
279
- const existing = styleOriginalValues.get(res[subKey]);
280
- if (existing) Object.assign(existing, subOriginalValues);
281
- else styleOriginalValues.set(res[subKey], { ...subOriginalValues });
282
- }
283
- } else res[subKey] = val;
284
- }
285
- if (originalValues) styleOriginalValues.set(res, originalValues);
286
- return res;
287
- };
288
- function getVariantDefinition(variant, value, conf, { theme }) {
289
- if (!variant) return;
290
- if (value === void 0) return;
291
- if (typeof variant === "function") return variant;
292
- if (Object.prototype.hasOwnProperty.call(variant, value)) return variant[value];
293
- for (const { key, parts } of getCompiledVariantResolvers(variant)) for (const part of parts) if (matchesVariantResolver(part, value, conf, theme)) return variant[key];
294
- }
295
- const variantResolverNameSet = new Set(variantResolverNames);
296
- const variantResolverCache = /* @__PURE__ */ new WeakMap();
297
- function getCompiledVariantResolvers(variant) {
298
- let cached = variantResolverCache.get(variant);
299
- if (cached) return cached;
300
- const compiled = [];
301
- for (const key of Object.keys(variant)) {
302
- const parts = parseVariantResolverKey(key);
303
- if (parts) compiled.push({
304
- key,
305
- parts
306
- });
307
- }
308
- variantResolverCache.set(variant, compiled);
309
- return compiled;
310
- }
311
- function parseVariantResolverKey(key) {
312
- if (!key) return null;
313
- const parts = key.split("|").map((part) => part.trim());
314
- if (!parts.length) return null;
315
- for (const part of parts) if (!variantResolverNameSet.has(part)) return null;
316
- return parts;
317
- }
318
- const numberStringPattern = /[+-]?(?:(?:\d+\.?\d*)|(?:\.\d+))(?:[eE][+-]?\d+)?|[+-]?0[xX][\da-fA-F]+|[+-]?0[bB][01]+|[+-]?0[oO][0-7]+/;
319
- const remStringPattern = new RegExp(`^(?:${numberStringPattern.source})rem$`);
320
- const viewportValuePattern = new RegExp(`^(?:${numberStringPattern.source})(vw|dvw|lvw|svw|vh|dvh|lvh|svh)$`);
321
- function isAllowedStyleValue(category, value, conf, string, number, rem) {
322
- const hasSetting = Object.prototype.hasOwnProperty.call(conf.settings, "allowedStyleValues");
323
- const configured = conf.settings.allowedStyleValues;
324
- const setting = configured && typeof configured === "object" ? configured[category] : configured;
325
- const web = value === "unset" || value === "inherit" || string && /^var\(.*\)$/.test(value) || (category === "size" || category === "space") && (value === "max-content" || value === "min-content" || string && (viewportValuePattern.test(value) || /^(calc|min|max)\(.*\)$/.test(value)));
326
- const somewhat = category === "size" || category === "space" ? value === "auto" || number || rem || string && value.endsWith("%") : number;
327
- if (setting === "strict") return false;
328
- if (setting === "strict-web") return web;
329
- if (setting === "somewhat-strict") return somewhat;
330
- if (setting === "somewhat-strict-web") return somewhat || web;
331
- return number || string && (category === "size" || category === "space" || !hasSetting);
332
- }
333
- function matchesVariantResolver(resolverName, value, conf, theme) {
334
- const string = typeof value === "string";
335
- const number = typeof value === "number";
336
- const rem = string && remStringPattern.test(value);
337
- switch (resolverName) {
338
- case "Size":
339
- case "Space":
340
- case "Radius":
341
- case "ZIndex": {
342
- const category = resolverName === "ZIndex" ? "zIndex" : resolverName.toLowerCase();
343
- return value === true || value != null && value in conf.tokensParsed[category] || (resolverName === "Space" || resolverName === "Radius" || resolverName === "ZIndex") && isVariable(value) || (resolverName === "Radius" || resolverName === "ZIndex") && (number || rem) || isAllowedStyleValue(category, value, conf, string, number, rem);
344
- }
345
- case "Color": return value != null && value in conf.tokensParsed.color || string;
346
- case "Theme": return string && !!theme && value in theme;
347
- case "FontSize": return value === true || !!conf.fontsParsed.body?.size?.[value] || number || rem;
348
- case "FontStyle": return !!conf.fontsParsed.body?.style?.[value] || value === "normal" || value === "italic";
349
- case "FontTransform": return !!conf.fontsParsed.body?.transform?.[value] || value === "none" || value === "capitalize" || value === "uppercase" || value === "lowercase";
350
- case "FontLineHeight": return !!conf.fontsParsed.body?.lineHeight?.[value] || number || rem;
351
- case "FontLetterSpacing": return !!conf.fontsParsed.body?.letterSpacing?.[value] || number || rem;
352
- case "number":
353
- case "string":
354
- case "boolean": return typeof value === resolverName;
355
- case "any": return true;
356
- }
357
- }
358
-
359
- export { appendFlatClause, getFontFamilyFromNameOrVariable, propMapper };
360
- //# sourceMappingURL=propMapper.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"propMapper.js","names":[],"sources":["esm/helpers/propMapper.js"],"sourcesContent":["import { scanFlatValue } from \"@tamagui/style-grammar/runtime\";\nimport { isVariable } from \"../createVariable\";\nimport { variantResolverNames } from \"../types\";\nimport { isConditionalStyleObject, resolveClauseChain } from \"./directStyle\";\nimport { expandStyle } from \"./expandStyle\";\nimport { resolveVariableValue } from \"./resolveVariableValue\";\nimport { getVariantExtras } from \"./getVariantExtras\";\nimport { isObj } from \"./isObj\";\nimport { normalizeStyle } from \"./normalizeStyle\";\nimport { isRemValue, resolveRem } from \"./resolveRem\";\nimport { expandSafeAreaValue, isSafeAreaKey } from \"./resolveSafeArea\";\nimport { skipProps } from \"./skipProps\";\nimport { styleOriginalValues } from \"./styleOriginalValues\";\n\nexport * from \"./tokenCategories\"\n\nfunction appendFlatClause(state, prev, conditionSource, value) {\n\tif (typeof value === \"string\" || typeof value === \"number\") {\n\t\tif (prev == null) return `${conditionSource}:${value}`;\n\t\tif (typeof prev === \"string\" || typeof prev === \"number\") return `${prev} ${conditionSource}:${value}`;\n\t}\n\tif (prev == null) return { [conditionSource]: value };\n\tif (typeof prev === \"string\" && prev.includes(\":\")) return;\n\tif (typeof prev === \"object\" && !Array.isArray(prev) && !isVariable(prev) && isConditionalStyleObject(state, prev)) return {\n\t\t...prev,\n\t\t[conditionSource]: value\n\t};\n\treturn {\n\t\tdefault: prev,\n\t\t[conditionSource]: value\n\t};\n}\nconst propMapperHandler = {\n\tsegment(ctx, start, end, isBase, valid, source, chainStart, chainEnd, chainValid) {\n\t\tif (isBase) {\n\t\t\tif (valid && start < end) ctx.push(start, end, -1, -1);\n\t\t\treturn;\n\t\t}\n\t\tif (!chainValid) return;\n\t\tif (resolveClauseChain(ctx[0], source, chainStart, chainEnd) && valid && start < end) ctx.push(start, end, chainStart, chainEnd);\n\t},\n\tchain(ctx) {\n\t\tctx[2] = true;\n\t\treturn true;\n\t},\n\terror(ctx) {\n\t\tctx[2] = true;\n\t}\n};\nconst propMapper = (key, value, styleState, disabled, map) => {\n\tif (disabled) return map(key, value);\n\tif (key === \"elevationAndroid\") return;\n\tconst { conf, styleProps, staticConfig } = styleState;\n\tconst { variants } = staticConfig;\n\tif (!styleProps.noExpand) {\n\t\tif (variants && key in variants) {\n\t\t\tconst variantValue = resolveVariants(key, value, styleProps, styleState, \"\");\n\t\t\tif (variantValue) {\n\t\t\t\tfor (const entry of variantValue) map(entry[0], entry[1], entry[2], entry[3]);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\tif (!styleProps.disableExpandShorthands) {\n\t\tif (key in conf.shorthands) key = conf.shorthands[key];\n\t}\n\tconst originalValue = value;\n\tif (value === \"safe\" && isSafeAreaKey(key)) {\n\t\tconst expanded = expandSafeAreaValue(key);\n\t\tif (expanded) {\n\t\t\tfor (let i = 0; i < expanded.length; i++) {\n\t\t\t\tconst [nkey, nvalue] = expanded[i];\n\t\t\t\tmap(nkey, nvalue, originalValue);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t}\n\tif (value != null) {\n\t\tif (typeof value === \"string\") value = isRemValue(value) ? resolveRem(value) : value;\n\t\telse if (isVariable(value)) value = resolveVariableValue(key, value, styleProps.resolveValues);\n\t\telse if (isRemValue(value)) value = resolveRem(value);\n\t}\n\tif (value != null) {\n\t\tif (key === \"fontFamily\" && typeof originalValue === \"string\") {\n\t\t\tif (originalValue in conf.fontsParsed) styleState.fontFamily = originalValue;\n\t\t}\n\t\tconst expanded = styleProps.noExpand || typeof value === \"string\" ? null : expandStyle(key, value, conf.settings.styleCompat || \"web\");\n\t\tif (expanded) {\n\t\t\tconst max = expanded.length;\n\t\t\tfor (let i = 0; i < max; i++) {\n\t\t\t\tconst [nkey, nvalue, noriginalValue] = expanded[i];\n\t\t\t\tmap(nkey, nvalue, noriginalValue ?? originalValue);\n\t\t\t}\n\t\t} else map(key, value, originalValue);\n\t}\n};\nconst resolveVariants = (key, value, styleProps, styleState, parentVariantKey) => {\n\tconst variantDefinition = styleState.staticConfig.variants?.[key];\n\tif (typeof value === \"string\" && value.indexOf(\":\") !== -1 && !(variantDefinition && typeof variantDefinition === \"object\" && value in variantDefinition)) {\n\t\tconst scan = [\n\t\t\tstyleState,\n\t\t\tvalue,\n\t\t\tfalse\n\t\t];\n\t\tscanFlatValue(value, propMapperHandler, scan);\n\t\tif (scan[2]) {\n\t\t\tlet entries;\n\t\t\tfor (let index = 3; index < scan.length; index += 4) {\n\t\t\t\tconst resolved = resolveVariantValue(key, value.slice(scan[index], scan[index + 1]), styleProps, styleState, parentVariantKey);\n\t\t\t\tif (!resolved) continue;\n\t\t\t\tentries ||= [];\n\t\t\t\tconst chainStart = scan[index + 2];\n\t\t\t\tconst modifier = chainStart === -1 ? void 0 : value.slice(chainStart, scan[index + 3]);\n\t\t\t\tfor (const entry of resolved) {\n\t\t\t\t\tif (modifier !== void 0) entry[3] = modifier;\n\t\t\t\t\tentries.push(entry);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn entries || [];\n\t\t}\n\t}\n\tif (value && typeof value === \"object\" && !Array.isArray(value) && !isVariable(value) && isConditionalStyleObject(styleState, value)) {\n\t\tlet entries;\n\t\tfor (const objKey in value) {\n\t\t\tconst payload = value[objKey];\n\t\t\tif (payload == null) continue;\n\t\t\tconst resolved = resolveVariantValue(key, payload, styleProps, styleState, parentVariantKey);\n\t\t\tif (!resolved) continue;\n\t\t\tentries ||= [];\n\t\t\tfor (const entry of resolved) {\n\t\t\t\tif (objKey !== \"default\") entry[3] = objKey;\n\t\t\t\tentries.push(entry);\n\t\t\t}\n\t\t}\n\t\treturn entries || [];\n\t}\n\treturn resolveVariantValue(key, value, styleProps, styleState, parentVariantKey);\n};\nconst resolveVariantValue = (key, value, styleProps, styleState, parentVariantKey) => {\n\tconst { staticConfig, conf, debug } = styleState;\n\tconst { variants } = staticConfig;\n\tif (!variants) return;\n\tconst variant = variants[key];\n\tlet variantValue = getVariantDefinition(variant, value, conf, styleState);\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") {\n\t\tconsole.groupCollapsed(`\\u2666\\uFE0F\\u2666\\uFE0F\\u2666\\uFE0F resolve variant ${key}`);\n\t\tconsole.info({\n\t\t\tkey,\n\t\t\tvalue,\n\t\t\tvariantValue,\n\t\t\tvariants\n\t\t});\n\t\tconsole.groupEnd();\n\t}\n\tif (!variantValue) {\n\t\tif (process.env.TAMAGUI_WARN_ON_MISSING_VARIANT === \"1\") {\n\t\t\tif (typeof value !== \"boolean\") {\n\t\t\t\tconst name = styleState.styleProps.displayName || \"[UnnamedComponent]\";\n\t\t\t\tconsole.warn(`No variant found: ${name} has variant \"${key}\", but no matching value \"${value}\"`);\n\t\t\t}\n\t\t}\n\t\treturn;\n\t}\n\tif (typeof variantValue === \"function\") {\n\t\tconst fn = variantValue;\n\t\tconst extras = getVariantExtras(styleState);\n\t\tvariantValue = fn(value, extras);\n\t\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\" && true) {\n\t\t\tconsole.groupCollapsed(\" expanded functional variant\", key);\n\t\t\tconsole.info({\n\t\t\t\tfn,\n\t\t\t\tvariantValue,\n\t\t\t\textras\n\t\t\t});\n\t\t\tconsole.groupEnd();\n\t\t}\n\t}\n\tlet fontFamilyResult;\n\tif (isObj(variantValue)) {\n\t\tconst fontFamilyUpdate = variantValue.fontFamily || variantValue[conf.inverseShorthands.fontFamily];\n\t\tif (fontFamilyUpdate) {\n\t\t\tfontFamilyResult = getFontFamilyFromNameOrVariable(fontFamilyUpdate, conf);\n\t\t\tstyleState.fontFamily = fontFamilyResult;\n\t\t\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") console.info(` updating font family`, fontFamilyResult);\n\t\t}\n\t\tvariantValue = resolveTokensAndVariants(key, variantValue, styleProps, styleState, parentVariantKey);\n\t}\n\tif (variantValue) {\n\t\tconst expanded = normalizeStyle(variantValue, !!styleProps.noNormalize);\n\t\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") console.info(` expanding styles from `, variantValue, `to`, expanded);\n\t\tconst originalValues = styleOriginalValues.get(expanded);\n\t\tconst next = [];\n\t\tfor (const key2 in expanded) next.push([\n\t\t\tkey2,\n\t\t\texpanded[key2],\n\t\t\toriginalValues?.[key2]\n\t\t]);\n\t\treturn next;\n\t}\n};\nfunction getFontFamilyFromNameOrVariable(input, conf) {\n\tif (isVariable(input)) {\n\t\tconst val = variableToFontNameCache.get(input);\n\t\tif (val) return val;\n\t\tfor (const key in conf.fontsParsed) {\n\t\t\tconst familyVariable = conf.fontsParsed[key].family;\n\t\t\tif (isVariable(familyVariable)) {\n\t\t\t\tvariableToFontNameCache.set(familyVariable, key);\n\t\t\t\tif (familyVariable === input) return key;\n\t\t\t}\n\t\t}\n\t} else if (typeof input === \"string\" && input in conf.fontsParsed) return input;\n}\nconst variableToFontNameCache = /* @__PURE__ */ new WeakMap();\nconst resolveTokensAndVariants = (key, value, styleProps, styleState, parentVariantKey) => {\n\tconst { conf, staticConfig, debug } = styleState;\n\tconst { variants } = staticConfig;\n\tconst res = {};\n\tlet originalValues;\n\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") console.info(` - resolveTokensAndVariants`, key, value);\n\tfor (const _key in value) {\n\t\tconst subKey = conf.shorthands[_key] || _key;\n\t\tconst val = value[_key];\n\t\tif (!styleProps.noSkip && subKey in skipProps) continue;\n\t\toriginalValues ||= {};\n\t\toriginalValues[subKey] = val;\n\t\tif (staticConfig) {\n\t\t\tconst contextProps = staticConfig.context?.props || staticConfig.parentStaticConfig?.context?.props;\n\t\t\tconst inheritedContextPropKeys = !staticConfig.context || staticConfig.context === staticConfig.parentStaticConfig?.context ? staticConfig.parentStaticConfig?.contextProps : void 0;\n\t\t\tconst contextPropKeys = staticConfig.contextProps || inheritedContextPropKeys;\n\t\t\tif (contextProps && subKey in contextProps || contextPropKeys?.includes(subKey) || staticConfig.context?.propKeys?.includes(subKey) || staticConfig.parentStaticConfig?.context?.propKeys?.includes(subKey)) {\n\t\t\t\tstyleState.overriddenContextProps ||= {};\n\t\t\t\tstyleState.overriddenContextProps[subKey] = val;\n\t\t\t\tstyleState.originalContextPropValues ||= {};\n\t\t\t\tstyleState.originalContextPropValues[subKey] = val;\n\t\t\t}\n\t\t}\n\t\tif (styleProps.noExpand) res[subKey] = val;\n\t\telse if (variants && subKey in variants) {\n\t\t\tif (parentVariantKey && parentVariantKey === key) res[subKey] = val;\n\t\t\telse {\n\t\t\t\tconst variantOut = resolveVariants(subKey, val, styleProps, styleState, key);\n\t\t\t\tif (variantOut) for (const [key2, val2, originalVal, conditionSource] of variantOut) {\n\t\t\t\t\tif (val2 == null) continue;\n\t\t\t\t\tif (conditionSource !== void 0) {\n\t\t\t\t\t\tconst appended = appendFlatClause(styleState, res[key2], conditionSource, val2);\n\t\t\t\t\t\tif (appended === void 0) {\n\t\t\t\t\t\t\tif (process.env.NODE_ENV === \"development\") console.warn(`[tamagui] conditional variant value for \"${key2}\" cannot join the existing clause string; dropping the clause`);\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tres[key2] = appended;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tres[key2] = val2;\n\t\t\t\t\tif (originalVal !== void 0) {\n\t\t\t\t\t\toriginalValues ||= {};\n\t\t\t\t\t\toriginalValues[key2] = originalVal;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t\tif (isVariable(val)) {\n\t\t\tres[subKey] = resolveVariableValue(subKey, val, styleProps.resolveValues);\n\t\t\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") console.info(`variable`, subKey, res[subKey]);\n\t\t\tcontinue;\n\t\t}\n\t\tif (typeof val === \"string\") {\n\t\t\tres[subKey] = isRemValue(val) ? resolveRem(val) : val;\n\t\t\tcontinue;\n\t\t}\n\t\tif (isObj(val)) {\n\t\t\tconst subObject = resolveTokensAndVariants(subKey, val, styleProps, styleState, key);\n\t\t\tif (process.env.NODE_ENV === \"development\" && debug === \"verbose\") console.info(`object`, subKey, subObject);\n\t\t\tres[subKey] ??= {};\n\t\t\tObject.assign(res[subKey], subObject);\n\t\t\tconst subOriginalValues = styleOriginalValues.get(subObject);\n\t\t\tif (subOriginalValues) {\n\t\t\t\tconst existing = styleOriginalValues.get(res[subKey]);\n\t\t\t\tif (existing) Object.assign(existing, subOriginalValues);\n\t\t\t\telse styleOriginalValues.set(res[subKey], { ...subOriginalValues });\n\t\t\t}\n\t\t} else res[subKey] = val;\n\t}\n\tif (originalValues) styleOriginalValues.set(res, originalValues);\n\treturn res;\n};\nfunction getVariantDefinition(variant, value, conf, { theme }) {\n\tif (!variant) return;\n\tif (value === void 0) return;\n\tif (typeof variant === \"function\") return variant;\n\tif (Object.prototype.hasOwnProperty.call(variant, value)) return variant[value];\n\tfor (const { key, parts } of getCompiledVariantResolvers(variant)) for (const part of parts) if (matchesVariantResolver(part, value, conf, theme)) return variant[key];\n}\nconst variantResolverNameSet = new Set(variantResolverNames);\nconst variantResolverCache = /* @__PURE__ */ new WeakMap();\nfunction getCompiledVariantResolvers(variant) {\n\tlet cached = variantResolverCache.get(variant);\n\tif (cached) return cached;\n\tconst compiled = [];\n\tfor (const key of Object.keys(variant)) {\n\t\tconst parts = parseVariantResolverKey(key);\n\t\tif (parts) compiled.push({\n\t\t\tkey,\n\t\t\tparts\n\t\t});\n\t}\n\tvariantResolverCache.set(variant, compiled);\n\treturn compiled;\n}\nfunction parseVariantResolverKey(key) {\n\tif (!key) return null;\n\tconst parts = key.split(\"|\").map((part) => part.trim());\n\tif (!parts.length) return null;\n\tfor (const part of parts) if (!variantResolverNameSet.has(part)) return null;\n\treturn parts;\n}\nconst numberStringPattern = /[+-]?(?:(?:\\d+\\.?\\d*)|(?:\\.\\d+))(?:[eE][+-]?\\d+)?|[+-]?0[xX][\\da-fA-F]+|[+-]?0[bB][01]+|[+-]?0[oO][0-7]+/;\nconst remStringPattern = new RegExp(`^(?:${numberStringPattern.source})rem$`);\nconst viewportValuePattern = new RegExp(`^(?:${numberStringPattern.source})(vw|dvw|lvw|svw|vh|dvh|lvh|svh)$`);\nfunction isAllowedStyleValue(category, value, conf, string, number, rem) {\n\tconst hasSetting = Object.prototype.hasOwnProperty.call(conf.settings, \"allowedStyleValues\");\n\tconst configured = conf.settings.allowedStyleValues;\n\tconst setting = configured && typeof configured === \"object\" ? configured[category] : configured;\n\tconst web = value === \"unset\" || value === \"inherit\" || string && /^var\\(.*\\)$/.test(value) || (category === \"size\" || category === \"space\") && (value === \"max-content\" || value === \"min-content\" || string && (viewportValuePattern.test(value) || /^(calc|min|max)\\(.*\\)$/.test(value)));\n\tconst somewhat = category === \"size\" || category === \"space\" ? value === \"auto\" || number || rem || string && value.endsWith(\"%\") : number;\n\tif (setting === \"strict\") return false;\n\tif (setting === \"strict-web\") return web;\n\tif (setting === \"somewhat-strict\") return somewhat;\n\tif (setting === \"somewhat-strict-web\") return somewhat || web;\n\treturn number || string && (category === \"size\" || category === \"space\" || !hasSetting);\n}\nfunction matchesVariantResolver(resolverName, value, conf, theme) {\n\tconst string = typeof value === \"string\";\n\tconst number = typeof value === \"number\";\n\tconst rem = string && remStringPattern.test(value);\n\tswitch (resolverName) {\n\t\tcase \"Size\":\n\t\tcase \"Space\":\n\t\tcase \"Radius\":\n\t\tcase \"ZIndex\": {\n\t\t\tconst category = resolverName === \"ZIndex\" ? \"zIndex\" : resolverName.toLowerCase();\n\t\t\treturn value === true || value != null && value in conf.tokensParsed[category] || (resolverName === \"Space\" || resolverName === \"Radius\" || resolverName === \"ZIndex\") && isVariable(value) || (resolverName === \"Radius\" || resolverName === \"ZIndex\") && (number || rem) || isAllowedStyleValue(category, value, conf, string, number, rem);\n\t\t}\n\t\tcase \"Color\": return value != null && value in conf.tokensParsed.color || string;\n\t\tcase \"Theme\": return string && !!theme && value in theme;\n\t\tcase \"FontSize\": return value === true || !!conf.fontsParsed.body?.size?.[value] || number || rem;\n\t\tcase \"FontStyle\": return !!conf.fontsParsed.body?.style?.[value] || value === \"normal\" || value === \"italic\";\n\t\tcase \"FontTransform\": return !!conf.fontsParsed.body?.transform?.[value] || value === \"none\" || value === \"capitalize\" || value === \"uppercase\" || value === \"lowercase\";\n\t\tcase \"FontLineHeight\": return !!conf.fontsParsed.body?.lineHeight?.[value] || number || rem;\n\t\tcase \"FontLetterSpacing\": return !!conf.fontsParsed.body?.letterSpacing?.[value] || number || rem;\n\t\tcase \"number\":\n\t\tcase \"string\":\n\t\tcase \"boolean\": return typeof value === resolverName;\n\t\tcase \"any\": return true;\n\t}\n}\n\nexport { appendFlatClause, getFontFamilyFromNameOrVariable, propMapper };"],"mappings":"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"}