@tamagui/web 3.0.0-beta.924.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/dist/cjs/_withNativeStyle.cjs +3 -0
  2. package/dist/cjs/_withNativeStyle.native.cjs +3 -0
  3. package/dist/cjs/_withNativeStyle.native.js +3 -0
  4. package/dist/cjs/_withNativeStyle.native.js.map +1 -1
  5. package/dist/cjs/_withStableStyle.native.cjs +1 -5
  6. package/dist/cjs/_withStableStyle.native.js +1 -5
  7. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  8. package/dist/cjs/config.cjs +6 -3
  9. package/dist/cjs/config.native.cjs +7 -5
  10. package/dist/cjs/config.native.js +7 -5
  11. package/dist/cjs/config.native.js.map +1 -1
  12. package/dist/cjs/contexts/ComponentContext.cjs +1 -0
  13. package/dist/cjs/contexts/ComponentContext.native.cjs +8 -0
  14. package/dist/cjs/contexts/ComponentContext.native.js +8 -0
  15. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  16. package/dist/cjs/createComponent.cjs +46 -32
  17. package/dist/cjs/createComponent.native.cjs +92 -72
  18. package/dist/cjs/createComponent.native.js +92 -72
  19. package/dist/cjs/createComponent.native.js.map +1 -1
  20. package/dist/cjs/createTamagui.cjs +32 -14
  21. package/dist/cjs/createTamagui.native.cjs +33 -19
  22. package/dist/cjs/createTamagui.native.js +33 -19
  23. package/dist/cjs/createTamagui.native.js.map +1 -1
  24. package/dist/cjs/createTokens.native.cjs +1 -5
  25. package/dist/cjs/createTokens.native.js +1 -5
  26. package/dist/cjs/createTokens.native.js.map +1 -1
  27. package/dist/cjs/createVariable.native.cjs +1 -5
  28. package/dist/cjs/createVariable.native.js +1 -5
  29. package/dist/cjs/createVariable.native.js.map +1 -1
  30. package/dist/cjs/createVariables.native.cjs +2 -6
  31. package/dist/cjs/createVariables.native.js +2 -6
  32. package/dist/cjs/createVariables.native.js.map +1 -1
  33. package/dist/cjs/dom/html.cjs +87 -329
  34. package/dist/cjs/dom/html.native.cjs +53 -2
  35. package/dist/cjs/dom/html.native.js +53 -2
  36. package/dist/cjs/dom/html.native.js.map +1 -1
  37. package/dist/cjs/{helpers/timer.native.js → dom/htmlReset.cjs} +6 -12
  38. package/dist/cjs/{helpers/timer.native.cjs → dom/htmlReset.native.cjs} +6 -8
  39. package/dist/cjs/dom/htmlReset.native.js +30 -0
  40. package/dist/cjs/dom/htmlReset.native.js.map +1 -0
  41. package/dist/cjs/dom/htmlRuntime.native.cjs +4 -0
  42. package/dist/cjs/dom/htmlRuntime.native.js +4 -0
  43. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  44. package/dist/cjs/dom/htmlStaticConfig.cjs +44 -0
  45. package/dist/cjs/dom/htmlStaticConfig.native.cjs +46 -0
  46. package/dist/cjs/dom/htmlStaticConfig.native.js +48 -0
  47. package/dist/cjs/dom/htmlStaticConfig.native.js.map +1 -0
  48. package/dist/cjs/dom/primitives.native.cjs +81 -34
  49. package/dist/cjs/dom/primitives.native.js +81 -34
  50. package/dist/cjs/dom/primitives.native.js.map +1 -1
  51. package/dist/cjs/eventHandling.cjs +10 -4
  52. package/dist/cjs/eventHandling.native.cjs +52 -16
  53. package/dist/cjs/eventHandling.native.js +52 -16
  54. package/dist/cjs/eventHandling.native.js.map +1 -1
  55. package/dist/cjs/helpers/NativeTextBinding.cjs +36 -0
  56. package/dist/cjs/helpers/NativeTextBinding.native.cjs +39 -0
  57. package/dist/cjs/helpers/NativeTextBinding.native.js +41 -0
  58. package/dist/cjs/helpers/NativeTextBinding.native.js.map +1 -0
  59. package/dist/cjs/helpers/configVariables.native.cjs +2 -6
  60. package/dist/cjs/helpers/configVariables.native.js +2 -6
  61. package/dist/cjs/helpers/configVariables.native.js.map +1 -1
  62. package/dist/cjs/helpers/createDesignSystem.cjs +14 -10
  63. package/dist/cjs/helpers/createDesignSystem.native.cjs +5 -4
  64. package/dist/cjs/helpers/createDesignSystem.native.js +5 -4
  65. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  66. package/dist/cjs/helpers/createStyledContext.native.cjs +1 -5
  67. package/dist/cjs/helpers/createStyledContext.native.js +1 -5
  68. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  69. package/dist/cjs/helpers/expandStyle.cjs +45 -1
  70. package/dist/cjs/helpers/expandStyle.native.cjs +38 -2
  71. package/dist/cjs/helpers/expandStyle.native.js +38 -2
  72. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  73. package/dist/cjs/helpers/expandStyles.cjs +15 -3
  74. package/dist/cjs/helpers/expandStyles.native.cjs +14 -8
  75. package/dist/cjs/helpers/expandStyles.native.js +14 -8
  76. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  77. package/dist/cjs/helpers/fluid.cjs +56 -0
  78. package/dist/cjs/helpers/fluid.native.cjs +58 -0
  79. package/dist/cjs/helpers/fluid.native.js +60 -0
  80. package/dist/cjs/helpers/fluid.native.js.map +1 -0
  81. package/dist/cjs/helpers/formatDiagnostic.native.cjs +2 -6
  82. package/dist/cjs/helpers/formatDiagnostic.native.js +2 -6
  83. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  84. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +6 -6
  85. package/dist/cjs/helpers/getSplitStyles.cjs +366 -150
  86. package/dist/cjs/helpers/getSplitStyles.native.cjs +584 -184
  87. package/dist/cjs/helpers/getSplitStyles.native.js +584 -184
  88. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  89. package/dist/cjs/helpers/getThemeCSSRules.cjs +37 -25
  90. package/dist/cjs/helpers/grammarConfig.cjs +6 -14
  91. package/dist/cjs/helpers/grammarConfig.native.cjs +32 -22
  92. package/dist/cjs/helpers/grammarConfig.native.js +32 -22
  93. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  94. package/dist/cjs/helpers/insertStyleRule.cjs +11 -4
  95. package/dist/cjs/helpers/insertStyleRule.native.cjs +8 -11
  96. package/dist/cjs/helpers/insertStyleRule.native.js +8 -11
  97. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  98. package/dist/cjs/helpers/isObj.native.cjs +1 -5
  99. package/dist/cjs/helpers/isObj.native.js +1 -5
  100. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  101. package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +48 -100
  102. package/dist/cjs/helpers/mainThreadPressEvents.native.js +48 -100
  103. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  104. package/dist/cjs/helpers/mergeProps.cjs +18 -21
  105. package/dist/cjs/helpers/mergeProps.native.cjs +20 -23
  106. package/dist/cjs/helpers/mergeProps.native.js +20 -23
  107. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  108. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  109. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  110. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  111. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  112. package/dist/cjs/helpers/nativeTextMetrics.cjs +74 -0
  113. package/dist/cjs/helpers/nativeTextMetrics.native.cjs +77 -0
  114. package/dist/cjs/helpers/nativeTextMetrics.native.js +79 -0
  115. package/dist/cjs/helpers/nativeTextMetrics.native.js.map +1 -0
  116. package/dist/cjs/helpers/normalizeColor.native.cjs +17 -2
  117. package/dist/cjs/helpers/normalizeColor.native.js +17 -2
  118. package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
  119. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +2 -1
  120. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +3 -6
  121. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +3 -6
  122. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  123. package/dist/cjs/helpers/objectIdentityKey.native.cjs +1 -5
  124. package/dist/cjs/helpers/objectIdentityKey.native.js +1 -5
  125. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  126. package/dist/cjs/helpers/parseNativeStyle.cjs +187 -0
  127. package/dist/cjs/helpers/parseNativeStyle.native.cjs +6 -4
  128. package/dist/cjs/helpers/parseNativeStyle.native.js +6 -4
  129. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  130. package/dist/cjs/helpers/proxyThemeToParents.cjs +9 -2
  131. package/dist/cjs/helpers/proxyThemeToParents.native.cjs +28 -2
  132. package/dist/cjs/helpers/proxyThemeToParents.native.js +28 -2
  133. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  134. package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +1 -5
  135. package/dist/cjs/helpers/resolveAnimationDriver.native.js +1 -5
  136. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  137. package/dist/cjs/helpers/{timer.cjs → resolveNativeUnits.cjs} +12 -8
  138. package/dist/cjs/helpers/resolveNativeUnits.native.cjs +205 -0
  139. package/dist/cjs/helpers/resolveNativeUnits.native.js +207 -0
  140. package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
  141. package/dist/cjs/helpers/resolveRem.native.cjs +18 -21
  142. package/dist/cjs/helpers/resolveRem.native.js +18 -21
  143. package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
  144. package/dist/cjs/helpers/resolveSizing.cjs +124 -0
  145. package/dist/cjs/helpers/resolveSizing.native.cjs +133 -0
  146. package/dist/cjs/helpers/resolveSizing.native.js +135 -0
  147. package/dist/cjs/helpers/resolveSizing.native.js.map +1 -0
  148. package/dist/cjs/helpers/resolveVariableValue.cjs +7 -7
  149. package/dist/cjs/helpers/resolveVariableValue.native.cjs +7 -9
  150. package/dist/cjs/helpers/resolveVariableValue.native.js +7 -9
  151. package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
  152. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +2 -6
  153. package/dist/cjs/helpers/resolveVariantStyle.native.js +2 -6
  154. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -1
  155. package/dist/cjs/helpers/skipProps.cjs +0 -1
  156. package/dist/cjs/helpers/skipProps.native.cjs +0 -1
  157. package/dist/cjs/helpers/skipProps.native.js +0 -1
  158. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  159. package/dist/cjs/helpers/styleFrontend.cjs +23 -1
  160. package/dist/cjs/helpers/styleFrontend.native.cjs +23 -1
  161. package/dist/cjs/helpers/styleFrontend.native.js +23 -1
  162. package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
  163. package/dist/cjs/helpers/styleStaticConfigCore.cjs +5 -4
  164. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +7 -4
  165. package/dist/cjs/helpers/styleStaticConfigCore.native.js +7 -4
  166. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -1
  167. package/dist/cjs/helpers/styledDynamic.cjs +5 -0
  168. package/dist/cjs/helpers/styledDynamic.native.cjs +8 -7
  169. package/dist/cjs/helpers/styledDynamic.native.js +8 -7
  170. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
  171. package/dist/cjs/helpers/subscribeToContextGroup.cjs +16 -7
  172. package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +18 -8
  173. package/dist/cjs/helpers/subscribeToContextGroup.native.js +18 -8
  174. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  175. package/dist/cjs/helpers/themeRef.native.cjs +1 -5
  176. package/dist/cjs/helpers/themeRef.native.js +1 -5
  177. package/dist/cjs/helpers/themeRef.native.js.map +1 -1
  178. package/dist/cjs/helpers/themes.cjs +26 -11
  179. package/dist/cjs/helpers/themes.native.cjs +26 -11
  180. package/dist/cjs/helpers/themes.native.js +26 -11
  181. package/dist/cjs/helpers/themes.native.js.map +1 -1
  182. package/dist/cjs/helpers/tokenCategories.cjs +2 -2
  183. package/dist/cjs/helpers/tokenCategories.native.cjs +2 -2
  184. package/dist/cjs/helpers/tokenCategories.native.js +2 -2
  185. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  186. package/dist/cjs/helpers/variables.cjs +1 -1
  187. package/dist/cjs/helpers/variables.native.cjs +4 -8
  188. package/dist/cjs/helpers/variables.native.js +4 -8
  189. package/dist/cjs/helpers/variables.native.js.map +1 -1
  190. package/dist/cjs/helpers/warnOnce.cjs +6 -0
  191. package/dist/cjs/helpers/warnOnce.native.cjs +6 -0
  192. package/dist/cjs/helpers/warnOnce.native.js +6 -0
  193. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  194. package/dist/cjs/helpers/webPropsToSkip.native.cjs +3 -3
  195. package/dist/cjs/helpers/webPropsToSkip.native.js +3 -3
  196. package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
  197. package/dist/cjs/helpers/wrapStyleTags.cjs +1 -1
  198. package/dist/cjs/helpers/wrapStyleTags.native.cjs +1 -1
  199. package/dist/cjs/helpers/wrapStyleTags.native.js +1 -1
  200. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  201. package/dist/cjs/hooks/useComponentState.native.cjs +1 -5
  202. package/dist/cjs/hooks/useComponentState.native.js +1 -5
  203. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  204. package/dist/cjs/hooks/useMedia.cjs +27 -34
  205. package/dist/cjs/hooks/useMedia.native.cjs +45 -51
  206. package/dist/cjs/hooks/useMedia.native.js +45 -51
  207. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  208. package/dist/cjs/hooks/useSplitStyles.cjs +1 -1
  209. package/dist/cjs/hooks/useSplitStyles.native.cjs +1 -1
  210. package/dist/cjs/hooks/useSplitStyles.native.js +1 -1
  211. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
  212. package/dist/cjs/hooks/useThemeState.cjs +37 -47
  213. package/dist/cjs/hooks/useThemeState.native.cjs +44 -50
  214. package/dist/cjs/hooks/useThemeState.native.js +44 -50
  215. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  216. package/dist/cjs/index.cjs +7 -0
  217. package/dist/cjs/index.native.cjs +7 -0
  218. package/dist/cjs/index.native.js +7 -0
  219. package/dist/cjs/index.native.js.map +1 -1
  220. package/dist/cjs/internal-runtime.cjs +22 -0
  221. package/dist/cjs/internal-runtime.native.cjs +22 -0
  222. package/dist/cjs/internal-runtime.native.js +22 -0
  223. package/dist/cjs/internal-runtime.native.js.map +1 -1
  224. package/dist/cjs/static-resolve.native.cjs +2 -9
  225. package/dist/cjs/static-resolve.native.js +2 -9
  226. package/dist/cjs/static-resolve.native.js.map +1 -1
  227. package/dist/cjs/style.cjs +1 -1
  228. package/dist/cjs/style.native.cjs +4 -7
  229. package/dist/cjs/style.native.js +4 -7
  230. package/dist/cjs/style.native.js.map +1 -1
  231. package/dist/cjs/views/Theme.cjs +10 -17
  232. package/dist/cjs/views/Theme.native.cjs +9 -11
  233. package/dist/cjs/views/Theme.native.js +9 -11
  234. package/dist/cjs/views/Theme.native.js.map +1 -1
  235. package/dist/cjs/views/ThemeDebug.cjs +1 -1
  236. package/dist/cjs/views/ThemeUpdate.cjs +1 -1
  237. package/dist/cjs/views/ThemeUpdate.native.cjs +1 -1
  238. package/dist/cjs/views/ThemeUpdate.native.js +1 -1
  239. package/dist/cjs/views/ThemeUpdate.native.js.map +1 -1
  240. package/dist/esm/_withNativeStyle.mjs +4 -1
  241. package/dist/esm/_withNativeStyle.mjs.map +1 -1
  242. package/dist/esm/_withNativeStyle.native.js +4 -1
  243. package/dist/esm/_withNativeStyle.native.js.map +1 -1
  244. package/dist/esm/_withStableStyle.native.js +1 -5
  245. package/dist/esm/_withStableStyle.native.js.map +1 -1
  246. package/dist/esm/config.mjs +6 -3
  247. package/dist/esm/config.mjs.map +1 -1
  248. package/dist/esm/config.native.js +7 -5
  249. package/dist/esm/config.native.js.map +1 -1
  250. package/dist/esm/contexts/ComponentContext.mjs +9 -9
  251. package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
  252. package/dist/esm/contexts/ComponentContext.native.js +16 -9
  253. package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
  254. package/dist/esm/createComponent.mjs +45 -42
  255. package/dist/esm/createComponent.mjs.map +1 -1
  256. package/dist/esm/createComponent.native.js +93 -82
  257. package/dist/esm/createComponent.native.js.map +1 -1
  258. package/dist/esm/createTamagui.mjs +33 -15
  259. package/dist/esm/createTamagui.mjs.map +1 -1
  260. package/dist/esm/createTamagui.native.js +34 -20
  261. package/dist/esm/createTamagui.native.js.map +1 -1
  262. package/dist/esm/createTokens.native.js +1 -5
  263. package/dist/esm/createTokens.native.js.map +1 -1
  264. package/dist/esm/createVariable.native.js +1 -5
  265. package/dist/esm/createVariable.native.js.map +1 -1
  266. package/dist/esm/createVariables.native.js +2 -6
  267. package/dist/esm/createVariables.native.js.map +1 -1
  268. package/dist/esm/dom/html.mjs +87 -329
  269. package/dist/esm/dom/html.mjs.map +1 -1
  270. package/dist/esm/dom/html.native.js +53 -2
  271. package/dist/esm/dom/html.native.js.map +1 -1
  272. package/dist/esm/dom/htmlReset.mjs +6 -0
  273. package/dist/esm/dom/htmlReset.mjs.map +1 -0
  274. package/dist/esm/dom/htmlReset.native.js +6 -0
  275. package/dist/esm/dom/htmlReset.native.js.map +1 -0
  276. package/dist/esm/dom/htmlRuntime.native.js +4 -0
  277. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  278. package/dist/esm/dom/htmlStaticConfig.mjs +22 -0
  279. package/dist/esm/dom/htmlStaticConfig.mjs.map +1 -0
  280. package/dist/esm/dom/htmlStaticConfig.native.js +22 -0
  281. package/dist/esm/dom/htmlStaticConfig.native.js.map +1 -0
  282. package/dist/esm/dom/primitives.native.js +81 -34
  283. package/dist/esm/dom/primitives.native.js.map +1 -1
  284. package/dist/esm/eventHandling.mjs +10 -4
  285. package/dist/esm/eventHandling.mjs.map +1 -1
  286. package/dist/esm/eventHandling.native.js +52 -16
  287. package/dist/esm/eventHandling.native.js.map +1 -1
  288. package/dist/esm/helpers/NativeTextBinding.mjs +17 -0
  289. package/dist/esm/helpers/NativeTextBinding.mjs.map +1 -0
  290. package/dist/esm/helpers/NativeTextBinding.native.js +18 -0
  291. package/dist/esm/helpers/NativeTextBinding.native.js.map +1 -0
  292. package/dist/esm/helpers/configVariables.native.js +2 -6
  293. package/dist/esm/helpers/configVariables.native.js.map +1 -1
  294. package/dist/esm/helpers/createDesignSystem.mjs +14 -10
  295. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  296. package/dist/esm/helpers/createDesignSystem.native.js +4 -4
  297. package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
  298. package/dist/esm/helpers/createStyledContext.native.js +1 -5
  299. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  300. package/dist/esm/helpers/expandStyle.mjs +41 -1
  301. package/dist/esm/helpers/expandStyle.mjs.map +1 -1
  302. package/dist/esm/helpers/expandStyle.native.js +36 -3
  303. package/dist/esm/helpers/expandStyle.native.js.map +1 -1
  304. package/dist/esm/helpers/expandStyles.mjs +15 -3
  305. package/dist/esm/helpers/expandStyles.mjs.map +1 -1
  306. package/dist/esm/helpers/expandStyles.native.js +14 -8
  307. package/dist/esm/helpers/expandStyles.native.js.map +1 -1
  308. package/dist/esm/helpers/fluid.mjs +36 -0
  309. package/dist/esm/helpers/fluid.mjs.map +1 -0
  310. package/dist/esm/helpers/fluid.native.js +36 -0
  311. package/dist/esm/helpers/fluid.native.js.map +1 -0
  312. package/dist/esm/helpers/formatDiagnostic.native.js +2 -6
  313. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  314. package/dist/esm/helpers/getCSSStylesAtomic.mjs +6 -6
  315. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  316. package/dist/esm/helpers/getSplitStyles.mjs +364 -150
  317. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  318. package/dist/esm/helpers/getSplitStyles.native.js +588 -188
  319. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  320. package/dist/esm/helpers/getThemeCSSRules.mjs +37 -25
  321. package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
  322. package/dist/esm/helpers/grammarConfig.mjs +6 -14
  323. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  324. package/dist/esm/helpers/grammarConfig.native.js +32 -22
  325. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  326. package/dist/esm/helpers/insertStyleRule.mjs +11 -4
  327. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  328. package/dist/esm/helpers/insertStyleRule.native.js +4 -4
  329. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  330. package/dist/esm/helpers/isObj.native.js +1 -5
  331. package/dist/esm/helpers/isObj.native.js.map +1 -1
  332. package/dist/esm/helpers/mainThreadPressEvents.native.js +48 -100
  333. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  334. package/dist/esm/helpers/mergeProps.mjs +18 -21
  335. package/dist/esm/helpers/mergeProps.mjs.map +1 -1
  336. package/dist/esm/helpers/mergeProps.native.js +20 -23
  337. package/dist/esm/helpers/mergeProps.native.js.map +1 -1
  338. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  339. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  340. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  341. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  342. package/dist/esm/helpers/nativeTextMetrics.mjs +55 -0
  343. package/dist/esm/helpers/nativeTextMetrics.mjs.map +1 -0
  344. package/dist/esm/helpers/nativeTextMetrics.native.js +56 -0
  345. package/dist/esm/helpers/nativeTextMetrics.native.js.map +1 -0
  346. package/dist/esm/helpers/normalizeColor.native.js +17 -2
  347. package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
  348. package/dist/esm/helpers/normalizeValueWithProperty.mjs +2 -1
  349. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  350. package/dist/esm/helpers/normalizeValueWithProperty.native.js +3 -6
  351. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  352. package/dist/esm/helpers/objectIdentityKey.native.js +1 -5
  353. package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
  354. package/dist/esm/helpers/parseNativeStyle.mjs +168 -0
  355. package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
  356. package/dist/esm/helpers/parseNativeStyle.native.js +4 -1
  357. package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
  358. package/dist/esm/helpers/proxyThemeToParents.mjs +10 -2
  359. package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
  360. package/dist/esm/helpers/proxyThemeToParents.native.js +29 -2
  361. package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
  362. package/dist/esm/helpers/resolveAnimationDriver.native.js +1 -5
  363. package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
  364. package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
  365. package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
  366. package/dist/esm/helpers/resolveNativeUnits.native.js +178 -0
  367. package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
  368. package/dist/esm/helpers/resolveRem.native.js +18 -21
  369. package/dist/esm/helpers/resolveRem.native.js.map +1 -1
  370. package/dist/esm/helpers/resolveSizing.mjs +102 -0
  371. package/dist/esm/helpers/resolveSizing.mjs.map +1 -0
  372. package/dist/esm/helpers/resolveSizing.native.js +109 -0
  373. package/dist/esm/helpers/resolveSizing.native.js.map +1 -0
  374. package/dist/esm/helpers/resolveVariableValue.mjs +7 -7
  375. package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -1
  376. package/dist/esm/helpers/resolveVariableValue.native.js +7 -9
  377. package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -1
  378. package/dist/esm/helpers/resolveVariantStyle.native.js +2 -6
  379. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -1
  380. package/dist/esm/helpers/skipProps.mjs +0 -1
  381. package/dist/esm/helpers/skipProps.mjs.map +1 -1
  382. package/dist/esm/helpers/skipProps.native.js +0 -1
  383. package/dist/esm/helpers/skipProps.native.js.map +1 -1
  384. package/dist/esm/helpers/styleFrontend.mjs +20 -1
  385. package/dist/esm/helpers/styleFrontend.mjs.map +1 -1
  386. package/dist/esm/helpers/styleFrontend.native.js +20 -1
  387. package/dist/esm/helpers/styleFrontend.native.js.map +1 -1
  388. package/dist/esm/helpers/styleStaticConfigCore.mjs +5 -4
  389. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -1
  390. package/dist/esm/helpers/styleStaticConfigCore.native.js +7 -4
  391. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -1
  392. package/dist/esm/helpers/styledDynamic.mjs +5 -0
  393. package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
  394. package/dist/esm/helpers/styledDynamic.native.js +8 -7
  395. package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
  396. package/dist/esm/helpers/subscribeToContextGroup.mjs +16 -7
  397. package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
  398. package/dist/esm/helpers/subscribeToContextGroup.native.js +18 -8
  399. package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
  400. package/dist/esm/helpers/themeRef.native.js +1 -5
  401. package/dist/esm/helpers/themeRef.native.js.map +1 -1
  402. package/dist/esm/helpers/themes.mjs +20 -11
  403. package/dist/esm/helpers/themes.mjs.map +1 -1
  404. package/dist/esm/helpers/themes.native.js +20 -11
  405. package/dist/esm/helpers/themes.native.js.map +1 -1
  406. package/dist/esm/helpers/tokenCategories.mjs +2 -2
  407. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  408. package/dist/esm/helpers/tokenCategories.native.js +2 -2
  409. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  410. package/dist/esm/helpers/variables.mjs +1 -1
  411. package/dist/esm/helpers/variables.mjs.map +1 -1
  412. package/dist/esm/helpers/variables.native.js +4 -8
  413. package/dist/esm/helpers/variables.native.js.map +1 -1
  414. package/dist/esm/helpers/warnOnce.mjs +6 -1
  415. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  416. package/dist/esm/helpers/warnOnce.native.js +6 -1
  417. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  418. package/dist/esm/helpers/webPropsToSkip.native.js +3 -3
  419. package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
  420. package/dist/esm/helpers/wrapStyleTags.mjs +1 -1
  421. package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
  422. package/dist/esm/helpers/wrapStyleTags.native.js +1 -1
  423. package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
  424. package/dist/esm/hooks/useComponentState.native.js +1 -5
  425. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  426. package/dist/esm/hooks/useMedia.mjs +27 -34
  427. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  428. package/dist/esm/hooks/useMedia.native.js +45 -51
  429. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  430. package/dist/esm/hooks/useSplitStyles.mjs +1 -1
  431. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
  432. package/dist/esm/hooks/useSplitStyles.native.js +1 -1
  433. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
  434. package/dist/esm/hooks/useThemeState.mjs +36 -48
  435. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  436. package/dist/esm/hooks/useThemeState.native.js +44 -50
  437. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  438. package/dist/esm/index.js +4 -1
  439. package/dist/esm/index.mjs +4 -1
  440. package/dist/esm/index.native.js +4 -1
  441. package/dist/esm/internal-runtime.mjs +22 -3
  442. package/dist/esm/internal-runtime.mjs.map +1 -1
  443. package/dist/esm/internal-runtime.native.js +22 -3
  444. package/dist/esm/internal-runtime.native.js.map +1 -1
  445. package/dist/esm/static-resolve.native.js +2 -9
  446. package/dist/esm/static-resolve.native.js.map +1 -1
  447. package/dist/esm/style.mjs +1 -1
  448. package/dist/esm/style.mjs.map +1 -1
  449. package/dist/esm/style.native.js +4 -7
  450. package/dist/esm/style.native.js.map +1 -1
  451. package/dist/esm/views/Theme.mjs +15 -14
  452. package/dist/esm/views/Theme.mjs.map +1 -1
  453. package/dist/esm/views/Theme.native.js +15 -15
  454. package/dist/esm/views/Theme.native.js.map +1 -1
  455. package/dist/esm/views/ThemeDebug.mjs +1 -1
  456. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  457. package/dist/esm/views/ThemeUpdate.mjs +1 -1
  458. package/dist/esm/views/ThemeUpdate.mjs.map +1 -1
  459. package/dist/esm/views/ThemeUpdate.native.js +1 -1
  460. package/dist/esm/views/ThemeUpdate.native.js.map +1 -1
  461. package/package.json +20 -18
  462. package/reset.css +11 -0
  463. package/src/_withNativeStyle.tsx +6 -1
  464. package/src/config.ts +6 -6
  465. package/src/contexts/ComponentContext.tsx +8 -0
  466. package/src/createComponent.tsx +177 -57
  467. package/src/createStyledHOC.tsx +25 -26
  468. package/src/createTamagui.ts +47 -28
  469. package/src/dom/contract.ts +4 -1
  470. package/src/dom/html.native.tsx +55 -2
  471. package/src/dom/html.tsx +189 -388
  472. package/src/dom/htmlReset.ts +15 -0
  473. package/src/dom/htmlRuntime.native.tsx +5 -0
  474. package/src/dom/htmlStaticConfig.ts +40 -0
  475. package/src/dom/primitives.native.tsx +138 -33
  476. package/src/dom/standalone.ts +2 -1
  477. package/src/dom/styleTypes.ts +82 -92
  478. package/src/eventHandling.native.ts +61 -11
  479. package/src/eventHandling.ts +19 -4
  480. package/src/helpers/NativeTextBinding.tsx +26 -0
  481. package/src/helpers/createDesignSystem.ts +24 -8
  482. package/src/helpers/expandStyle.ts +88 -4
  483. package/src/helpers/expandStyles.ts +6 -11
  484. package/src/helpers/fluid.ts +66 -0
  485. package/src/helpers/getCSSStylesAtomic.ts +11 -6
  486. package/src/helpers/getSplitStyles.tsx +1032 -296
  487. package/src/helpers/getThemeCSSRules.ts +73 -35
  488. package/src/helpers/grammarConfig.ts +23 -8
  489. package/src/helpers/insertStyleRule.tsx +14 -8
  490. package/src/helpers/mainThreadPressEvents.native.ts +65 -141
  491. package/src/helpers/mergeProps.ts +29 -62
  492. package/src/helpers/nativeOnlyProps.ts +0 -1
  493. package/src/helpers/nativeTextMetrics.ts +77 -0
  494. package/src/helpers/normalizeColor.native.ts +29 -4
  495. package/src/helpers/normalizeValueWithProperty.ts +2 -1
  496. package/src/helpers/{parseNativeStyle.native.ts → parseNativeStyle.ts} +8 -1
  497. package/src/helpers/proxyThemeToParents.ts +13 -2
  498. package/src/helpers/resolveNativeUnits.native.ts +247 -0
  499. package/src/helpers/resolveNativeUnits.ts +10 -0
  500. package/src/helpers/resolveRem.native.ts +25 -26
  501. package/src/helpers/resolveSizing.ts +167 -0
  502. package/src/helpers/resolveVariableValue.ts +21 -17
  503. package/src/helpers/skipProps.ts +0 -1
  504. package/src/helpers/styleFrontend.ts +39 -0
  505. package/src/helpers/styleProvenance.ts +1 -1
  506. package/src/helpers/styleStaticConfigCore.ts +15 -4
  507. package/src/helpers/styledDynamic.ts +3 -1
  508. package/src/helpers/subscribeToContextGroup.tsx +16 -7
  509. package/src/helpers/themes.ts +27 -11
  510. package/src/helpers/tokenCategories.ts +15 -3
  511. package/src/helpers/variables.ts +2 -2
  512. package/src/helpers/warnOnce.ts +6 -0
  513. package/src/helpers/webPropsToSkip.native.ts +9 -3
  514. package/src/helpers/wrapStyleTags.tsx +4 -1
  515. package/src/hooks/useMedia.tsx +36 -47
  516. package/src/hooks/useSplitStyles.tsx +4 -1
  517. package/src/hooks/useThemeState.ts +69 -74
  518. package/src/index.ts +13 -0
  519. package/src/interfaces/RNExclusiveTypes.ts +1 -3
  520. package/src/internal-runtime.ts +43 -2
  521. package/src/style.ts +4 -1
  522. package/src/styled.tsx +34 -3
  523. package/src/types.tsx +412 -132
  524. package/src/views/Theme.tsx +18 -21
  525. package/src/views/ThemeDebug.tsx +1 -1
  526. package/src/views/ThemeUpdate.tsx +1 -1
  527. package/types/_withNativeStyle.d.ts.map +1 -1
  528. package/types/config.d.ts.map +1 -1
  529. package/types/contexts/ComponentContext.d.ts +1 -1
  530. package/types/contexts/ComponentContext.d.ts.map +1 -1
  531. package/types/createComponent.d.ts.map +1 -1
  532. package/types/createStyledHOC.d.ts +5 -2
  533. package/types/createStyledHOC.d.ts.map +1 -1
  534. package/types/createTamagui.d.ts.map +1 -1
  535. package/types/dom/contract.d.ts +4 -1
  536. package/types/dom/contract.d.ts.map +1 -1
  537. package/types/dom/html.d.ts +60 -51
  538. package/types/dom/html.d.ts.map +1 -1
  539. package/types/dom/html.native.d.ts.map +1 -1
  540. package/types/dom/htmlReset.d.ts +10 -0
  541. package/types/dom/htmlReset.d.ts.map +1 -0
  542. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  543. package/types/dom/htmlStaticConfig.d.ts +22 -0
  544. package/types/dom/htmlStaticConfig.d.ts.map +1 -0
  545. package/types/dom/primitives.native.d.ts.map +1 -1
  546. package/types/dom/standalone.d.ts +2 -1
  547. package/types/dom/standalone.d.ts.map +1 -1
  548. package/types/dom/styleTypes.d.ts +63 -84
  549. package/types/dom/styleTypes.d.ts.map +1 -1
  550. package/types/eventHandling.d.ts +12 -4
  551. package/types/eventHandling.d.ts.map +1 -1
  552. package/types/eventHandling.native.d.ts.map +1 -1
  553. package/types/helpers/NativeTextBinding.d.ts +11 -0
  554. package/types/helpers/NativeTextBinding.d.ts.map +1 -0
  555. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  556. package/types/helpers/expandStyle.d.ts +1 -0
  557. package/types/helpers/expandStyle.d.ts.map +1 -1
  558. package/types/helpers/expandStyles.d.ts.map +1 -1
  559. package/types/helpers/fluid.d.ts +21 -0
  560. package/types/helpers/fluid.d.ts.map +1 -0
  561. package/types/helpers/getCSSStylesAtomic.d.ts +3 -1
  562. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  563. package/types/helpers/getSplitStyles.d.ts +2 -1
  564. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  565. package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
  566. package/types/helpers/grammarConfig.d.ts.map +1 -1
  567. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  568. package/types/helpers/mainThreadPressEvents.native.d.ts +0 -7
  569. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  570. package/types/helpers/mergeProps.d.ts +1 -15
  571. package/types/helpers/mergeProps.d.ts.map +1 -1
  572. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  573. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  574. package/types/helpers/nativeTextMetrics.d.ts +16 -0
  575. package/types/helpers/nativeTextMetrics.d.ts.map +1 -0
  576. package/types/helpers/normalizeColor.native.d.ts +4 -1
  577. package/types/helpers/normalizeColor.native.d.ts.map +1 -1
  578. package/types/helpers/normalizeShadow.native.d.ts +3 -1
  579. package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
  580. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  581. package/types/helpers/{parseNativeStyle.native.d.ts → parseNativeStyle.d.ts} +1 -1
  582. package/types/helpers/parseNativeStyle.d.ts.map +1 -0
  583. package/types/helpers/proxyThemeToParents.d.ts +1 -1
  584. package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
  585. package/types/helpers/resolveNativeUnits.d.ts +6 -0
  586. package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
  587. package/types/helpers/resolveNativeUnits.native.d.ts +16 -0
  588. package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
  589. package/types/helpers/resolveRem.native.d.ts +6 -4
  590. package/types/helpers/resolveRem.native.d.ts.map +1 -1
  591. package/types/helpers/resolveSizing.d.ts +90 -0
  592. package/types/helpers/resolveSizing.d.ts.map +1 -0
  593. package/types/helpers/resolveVariableValue.d.ts.map +1 -1
  594. package/types/helpers/skipProps.d.ts +0 -1
  595. package/types/helpers/skipProps.d.ts.map +1 -1
  596. package/types/helpers/styleFrontend.d.ts +21 -0
  597. package/types/helpers/styleFrontend.d.ts.map +1 -1
  598. package/types/helpers/styleProvenance.d.ts +1 -1
  599. package/types/helpers/styleProvenance.d.ts.map +1 -1
  600. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -1
  601. package/types/helpers/styledDynamic.d.ts +1 -1
  602. package/types/helpers/styledDynamic.d.ts.map +1 -1
  603. package/types/helpers/themes.d.ts +4 -0
  604. package/types/helpers/themes.d.ts.map +1 -1
  605. package/types/helpers/tokenCategories.d.ts +1 -1
  606. package/types/helpers/tokenCategories.d.ts.map +1 -1
  607. package/types/helpers/warnOnce.d.ts +1 -0
  608. package/types/helpers/warnOnce.d.ts.map +1 -1
  609. package/types/helpers/webPropsToSkip.native.d.ts +6 -2
  610. package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
  611. package/types/helpers/wrapStyleTags.d.ts.map +1 -1
  612. package/types/hooks/useMedia.d.ts +5 -2
  613. package/types/hooks/useMedia.d.ts.map +1 -1
  614. package/types/hooks/useSplitStyles.d.ts.map +1 -1
  615. package/types/hooks/useThemeState.d.ts.map +1 -1
  616. package/types/index.d.ts +4 -1
  617. package/types/index.d.ts.map +1 -1
  618. package/types/interfaces/RNExclusiveTypes.d.ts +2 -3
  619. package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
  620. package/types/internal-runtime.d.ts +12 -1
  621. package/types/internal-runtime.d.ts.map +1 -1
  622. package/types/style.d.ts.map +1 -1
  623. package/types/styled.d.ts +7 -4
  624. package/types/styled.d.ts.map +1 -1
  625. package/types/types.d.ts +258 -102
  626. package/types/types.d.ts.map +1 -1
  627. package/types/views/Theme.d.ts.map +1 -1
  628. package/dist/cjs/helpers/timer.native.js.map +0 -1
  629. package/dist/esm/helpers/timer.mjs +0 -13
  630. package/dist/esm/helpers/timer.mjs.map +0 -1
  631. package/dist/esm/helpers/timer.native.js +0 -13
  632. package/dist/esm/helpers/timer.native.js.map +0 -1
  633. package/src/helpers/timer.ts +0 -9
  634. package/types/helpers/parseNativeStyle.native.d.ts.map +0 -1
  635. package/types/helpers/timer.d.ts +0 -2
  636. package/types/helpers/timer.d.ts.map +0 -1
@@ -4,6 +4,7 @@ import { THEME_CLASSNAME_PREFIX } from "../constants/constants.mjs";
4
4
  import { variableToString } from "../createVariable.mjs";
5
5
  import { getOrCreateMutatedVariable, getOrCreateVariable } from "./registerCSSVariable.mjs";
6
6
  import { sortString } from "./sortString.mjs";
7
+ import { getAuthoredThemeScheme, themeSchemeSelectorPrefix } from "./themes.mjs";
7
8
 
8
9
  const darkLight = ["dark", "light"];
9
10
  const lightDark = ["light", "dark"];
@@ -11,6 +12,9 @@ function getThemeCSSRules(props) {
11
12
  if (process.env.TAMAGUI_DID_OUTPUT_CSS) {} else if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === "mutates-themes" || process.env.TAMAGUI_DOES_SSR_CSS === "false") {
12
13
  const cssRuleSets = [];
13
14
  const { config, themeName, theme, names } = props;
15
+ const whitespace = process.env.NODE_ENV === "development" ? " " : "";
16
+ const mediaIndent = process.env.NODE_ENV === "development" ? "\n " : "";
17
+ const mediaClose = process.env.NODE_ENV === "development" ? "\n " : "";
14
18
  const hasDarkLight = props.hasDarkLight ?? (config.themes && ("light" in config.themes || "dark" in config.themes));
15
19
  const CNP = `.${THEME_CLASSNAME_PREFIX}`;
16
20
  let vars = "";
@@ -24,13 +28,15 @@ function getThemeCSSRules(props) {
24
28
  const isLightBase = themeName === "light";
25
29
  const baseSelectors = names.map((name) => `${CNP}${name}`);
26
30
  const selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);
31
+ const selectorScheme = /* @__PURE__ */ new Map();
27
32
  for (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);
28
33
  if (hasDarkLight) {
29
34
  const maxDepth = 2;
30
35
  for (const subName of names) {
31
- const isDark = isDarkBase || subName.startsWith("dark_");
32
- const isLight = !isDark && (isLightBase || subName.startsWith("light_"));
33
- if (!(isDark || isLight)) {
36
+ const hasDarkPrefix = subName === "dark" || subName.startsWith("dark_");
37
+ const hasLightPrefix = subName === "light" || subName.startsWith("light_");
38
+ const isDark = hasDarkPrefix || !hasLightPrefix && isDarkBase;
39
+ if (!(isDark || hasLightPrefix || !hasDarkPrefix && isLightBase)) {
34
40
  selectorsSet.add(`${CNP}${subName}`);
35
41
  continue;
36
42
  }
@@ -53,39 +59,45 @@ function getThemeCSSRules(props) {
53
59
  ];
54
60
  }
55
61
  const nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? "" : childSelector;
56
- const parentSelectorString = parentSelectors.join(" ");
57
- selectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);
62
+ const selector = `${parentSelectors.join(" ")} ${nextChildSelector}`;
63
+ selectorsSet.add(selector);
64
+ selectorScheme.set(selector, isDark ? "dark" : "light");
58
65
  }
59
66
  }
60
67
  }
61
68
  const selectors = [...selectorsSet].sort(sortString);
69
+ const authoredScheme = getAuthoredThemeScheme(theme);
62
70
  const css = `${selectors.map((x) => {
63
71
  const addTo = getSetting("addThemeClassName");
64
72
  if (!(isBaseTheme(x) && (addTo === "html" || addTo === "body"))) return `:root ${x}`;
65
73
  return `${addTo === "body" ? "body" : ":root"}${x}`;
66
- }).join(", ") + `, .tm_xxt`} {${vars}}`;
74
+ }).join(", ") + `, .tm_xxt` + (authoredScheme ? `, ${themeSchemeSelectorPrefix}${authoredScheme}` : "")}${whitespace}{${vars}}`;
67
75
  cssRuleSets.push(css);
68
76
  if (getSetting("shouldAddPrefersColorThemes")) {
69
- const isDark = themeName.startsWith("dark");
70
- const baseName = isDark ? "dark" : "light";
71
- const lessSpecificSelectors = selectors.map((x) => {
72
- if (x == darkSelector || x === lightSelector) return `:root`;
73
- if (isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector)) return;
74
- return x.replace(/^\.t_(dark|light) /, "").trim();
75
- }).filter(Boolean).join(", ");
76
- const isBase = !themeName.includes("_");
77
- let bodyRulesString = "";
78
- if (isBase) {
79
- const bgString = theme.background ? `background:${variableToString(theme.background)};` : "";
80
- const fgString = theme.color ? `color:${variableToString(theme.color)}` : "";
81
- bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}
82
- ` : "";
77
+ const schemeOf = (x) => {
78
+ if (x === darkSelector) return "dark";
79
+ if (x === lightSelector) return "light";
80
+ if (x.startsWith(`${darkSelector} `)) return "dark";
81
+ if (x.startsWith(`${lightSelector} `)) return "light";
82
+ return selectorScheme.get(x);
83
+ };
84
+ for (const baseName of lightDark) {
85
+ const lessSpecificSelectors = selectors.map((x) => {
86
+ if (x === darkSelector || x === lightSelector) return schemeOf(x) === baseName ? ":root" : void 0;
87
+ const scheme = schemeOf(x);
88
+ if (scheme && scheme !== baseName) return;
89
+ return x.replace(/^\.t_(dark|light) /, "").trim();
90
+ }).filter(Boolean).join(", ");
91
+ if (!lessSpecificSelectors) continue;
92
+ const isBase = !themeName.includes("_");
93
+ let bodyRulesString = "";
94
+ if (isBase && themeName === baseName) {
95
+ const bgString = theme.background ? `background:${variableToString(theme.background)};` : "";
96
+ const fgString = theme.color ? `color:${variableToString(theme.color)}` : "";
97
+ bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}${mediaIndent}` : "";
98
+ }
99
+ cssRuleSets.push(`@media(prefers-color-scheme:${baseName}){${mediaIndent}${bodyRulesString}${lessSpecificSelectors}${whitespace}{${vars}}${mediaClose}}`);
83
100
  }
84
- const themeRules = `${lessSpecificSelectors} {${vars}}`;
85
- const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){
86
- ${bodyRulesString}${themeRules}
87
- }`;
88
- cssRuleSets.push(prefersMediaSelectors);
89
101
  }
90
102
  const selectionStyles = getSetting("selectionStyles");
91
103
  if (selectionStyles) {
@@ -1 +1 @@
1
- {"version":3,"file":"getThemeCSSRules.js","names":[],"sources":["esm/helpers/getThemeCSSRules.js"],"sourcesContent":["import { simpleHash } from \"@tamagui/helpers\";\nimport { getSetting } from \"../config\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants\";\nimport { variableToString } from \"../createVariable\";\nimport { getOrCreateMutatedVariable, getOrCreateVariable } from \"./registerCSSVariable\";\nimport { sortString } from \"./sortString\";\n\nconst darkLight = [\"dark\", \"light\"];\nconst lightDark = [\"light\", \"dark\"];\nfunction getThemeCSSRules(props) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) {} else if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === \"mutates-themes\" || process.env.TAMAGUI_DOES_SSR_CSS === \"false\") {\n\t\tconst cssRuleSets = [];\n\t\tconst { config, themeName, theme, names } = props;\n\t\tconst hasDarkLight = props.hasDarkLight ?? (config.themes && (\"light\" in config.themes || \"dark\" in config.themes));\n\t\tconst CNP = `.${THEME_CLASSNAME_PREFIX}`;\n\t\tlet vars = \"\";\n\t\tconst variableCreator = props.useMutatedVariables ? getOrCreateMutatedVariable : getOrCreateVariable;\n\t\tfor (const themeKey in theme) {\n\t\t\tconst variable = theme[themeKey];\n\t\t\tconst value = variableCreator(variable.needsPx ? `${variable.val}px` : variable.val).variable;\n\t\t\tvars += `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${simpleHash(themeKey, 40)}:${value};`;\n\t\t}\n\t\tconst isDarkBase = themeName === \"dark\";\n\t\tconst isLightBase = themeName === \"light\";\n\t\tconst baseSelectors = names.map((name) => `${CNP}${name}`);\n\t\tconst selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);\n\t\tfor (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);\n\t\tif (hasDarkLight) {\n\t\t\tconst maxDepth = 2;\n\t\t\tfor (const subName of names) {\n\t\t\t\tconst isDark = isDarkBase || subName.startsWith(\"dark_\");\n\t\t\t\tconst isLight = !isDark && (isLightBase || subName.startsWith(\"light_\"));\n\t\t\t\tif (!(isDark || isLight)) {\n\t\t\t\t\tselectorsSet.add(`${CNP}${subName}`);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst childSelector = `${CNP}${subName.replace(/^(dark|light)_/, \"\")}`;\n\t\t\t\tconst [stronger, weaker] = isDark ? darkLight : lightDark;\n\t\t\t\tconst numSelectors = Math.round(maxDepth * 1.5);\n\t\t\t\tfor (let depth = 0; depth < numSelectors; depth++) {\n\t\t\t\t\tconst isOdd = depth % 2 === 1;\n\t\t\t\t\tif (isOdd && depth < 3) continue;\n\t\t\t\t\tconst parents = new Array(depth + 1).fill(0).map((_, idx) => {\n\t\t\t\t\t\treturn `${CNP}${idx % 2 === 0 ? stronger : weaker}`;\n\t\t\t\t\t});\n\t\t\t\t\tlet parentSelectors = parents.length > 1 ? parents.slice(1) : parents;\n\t\t\t\t\tif (isOdd) {\n\t\t\t\t\t\tconst [_first, second, ...rest] = parentSelectors;\n\t\t\t\t\t\tparentSelectors = [\n\t\t\t\t\t\t\tsecond,\n\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t\tsecond\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tconst nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? \"\" : childSelector;\n\t\t\t\t\tconst parentSelectorString = parentSelectors.join(\" \");\n\t\t\t\t\tselectorsSet.add(`${parentSelectorString} ${nextChildSelector}`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst selectors = [...selectorsSet].sort(sortString);\n\t\tconst css = `${selectors.map((x) => {\n\t\t\tconst addTo = getSetting(\"addThemeClassName\");\n\t\t\tif (!(isBaseTheme(x) && (addTo === \"html\" || addTo === \"body\"))) return `:root ${x}`;\n\t\t\treturn `${addTo === \"body\" ? \"body\" : \":root\"}${x}`;\n\t\t}).join(\", \") + `, .tm_xxt`} {${vars}}`;\n\t\tcssRuleSets.push(css);\n\t\tif (getSetting(\"shouldAddPrefersColorThemes\")) {\n\t\t\tconst isDark = themeName.startsWith(\"dark\");\n\t\t\tconst baseName = isDark ? \"dark\" : \"light\";\n\t\t\tconst lessSpecificSelectors = selectors.map((x) => {\n\t\t\t\tif (x == darkSelector || x === lightSelector) return `:root`;\n\t\t\t\tif (isDark && x.startsWith(lightSelector) || !isDark && x.startsWith(darkSelector)) return;\n\t\t\t\treturn x.replace(/^\\.t_(dark|light) /, \"\").trim();\n\t\t\t}).filter(Boolean).join(\", \");\n\t\t\tconst isBase = !themeName.includes(\"_\");\n\t\t\tlet bodyRulesString = \"\";\n\t\t\tif (isBase) {\n\t\t\t\tconst bgString = theme.background ? `background:${variableToString(theme.background)};` : \"\";\n\t\t\t\tconst fgString = theme.color ? `color:${variableToString(theme.color)}` : \"\";\n\t\t\t\tbodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : \"\";\n\t\t\t}\n\t\t\tconst themeRules = `${lessSpecificSelectors} {${vars}}`;\n\t\t\tconst prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){\n ${bodyRulesString}${themeRules}\n }`;\n\t\t\tcssRuleSets.push(prefersMediaSelectors);\n\t\t}\n\t\tconst selectionStyles = getSetting(\"selectionStyles\");\n\t\tif (selectionStyles) {\n\t\t\tconst rules = selectionStyles(theme);\n\t\t\tif (rules) {\n\t\t\t\tconst selectionSelectors = baseSelectors.map((s) => `${s} ::selection`).join(\", \");\n\t\t\t\tconst styles = Object.entries(rules).flatMap(([k, v]) => v ? `${k === \"backgroundColor\" ? \"background\" : k}:${variableToString(v)}` : []).join(\";\");\n\t\t\t\tif (styles) {\n\t\t\t\t\tconst css2 = `${selectionSelectors}{${styles}}`;\n\t\t\t\t\tcssRuleSets.push(css2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cssRuleSets;\n\t}\n\treturn [];\n}\nconst darkSelector = \".t_dark\";\nconst lightSelector = \".t_light\";\nconst isBaseTheme = (x) => x === darkSelector || x === lightSelector || x.startsWith(\".t_dark \") || x.startsWith(\".t_light \");\n\nexport { getThemeCSSRules };"],"mappings":"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"}
1
+ {"version":3,"file":"getThemeCSSRules.js","names":[],"sources":["esm/helpers/getThemeCSSRules.js"],"sourcesContent":["import { simpleHash } from \"@tamagui/helpers\";\nimport { getSetting } from \"../config\";\nimport { THEME_CLASSNAME_PREFIX } from \"../constants/constants\";\nimport { variableToString } from \"../createVariable\";\nimport { getOrCreateMutatedVariable, getOrCreateVariable } from \"./registerCSSVariable\";\nimport { sortString } from \"./sortString\";\nimport { getAuthoredThemeScheme, themeSchemeSelectorPrefix } from \"./themes\";\n\nconst darkLight = [\"dark\", \"light\"];\nconst lightDark = [\"light\", \"dark\"];\nfunction getThemeCSSRules(props) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) {} else if (!process.env.TAMAGUI_DOES_SSR_CSS || process.env.TAMAGUI_DOES_SSR_CSS === \"mutates-themes\" || process.env.TAMAGUI_DOES_SSR_CSS === \"false\") {\n\t\tconst cssRuleSets = [];\n\t\tconst { config, themeName, theme, names } = props;\n\t\tconst whitespace = process.env.NODE_ENV === \"development\" ? \" \" : \"\";\n\t\tconst mediaIndent = process.env.NODE_ENV === \"development\" ? \"\\n \" : \"\";\n\t\tconst mediaClose = process.env.NODE_ENV === \"development\" ? \"\\n \" : \"\";\n\t\tconst hasDarkLight = props.hasDarkLight ?? (config.themes && (\"light\" in config.themes || \"dark\" in config.themes));\n\t\tconst CNP = `.${THEME_CLASSNAME_PREFIX}`;\n\t\tlet vars = \"\";\n\t\tconst variableCreator = props.useMutatedVariables ? getOrCreateMutatedVariable : getOrCreateVariable;\n\t\tfor (const themeKey in theme) {\n\t\t\tconst variable = theme[themeKey];\n\t\t\tconst value = variableCreator(variable.needsPx ? `${variable.val}px` : variable.val).variable;\n\t\t\tvars += `--${process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\"}${simpleHash(themeKey, 40)}:${value};`;\n\t\t}\n\t\tconst isDarkBase = themeName === \"dark\";\n\t\tconst isLightBase = themeName === \"light\";\n\t\tconst baseSelectors = names.map((name) => `${CNP}${name}`);\n\t\tconst selectorsSet = new Set(isDarkBase || isLightBase ? baseSelectors : []);\n\t\tconst selectorScheme = /* @__PURE__ */ new Map();\n\t\tfor (const name of names) selectorsSet.add(`${CNP}${name}:not(#t_theme_full_name)`);\n\t\tif (hasDarkLight) {\n\t\t\tconst maxDepth = 2;\n\t\t\tfor (const subName of names) {\n\t\t\t\tconst hasDarkPrefix = subName === \"dark\" || subName.startsWith(\"dark_\");\n\t\t\t\tconst hasLightPrefix = subName === \"light\" || subName.startsWith(\"light_\");\n\t\t\t\tconst isDark = hasDarkPrefix || !hasLightPrefix && isDarkBase;\n\t\t\t\tif (!(isDark || hasLightPrefix || !hasDarkPrefix && isLightBase)) {\n\t\t\t\t\tselectorsSet.add(`${CNP}${subName}`);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tconst childSelector = `${CNP}${subName.replace(/^(dark|light)_/, \"\")}`;\n\t\t\t\tconst [stronger, weaker] = isDark ? darkLight : lightDark;\n\t\t\t\tconst numSelectors = Math.round(maxDepth * 1.5);\n\t\t\t\tfor (let depth = 0; depth < numSelectors; depth++) {\n\t\t\t\t\tconst isOdd = depth % 2 === 1;\n\t\t\t\t\tif (isOdd && depth < 3) continue;\n\t\t\t\t\tconst parents = new Array(depth + 1).fill(0).map((_, idx) => {\n\t\t\t\t\t\treturn `${CNP}${idx % 2 === 0 ? stronger : weaker}`;\n\t\t\t\t\t});\n\t\t\t\t\tlet parentSelectors = parents.length > 1 ? parents.slice(1) : parents;\n\t\t\t\t\tif (isOdd) {\n\t\t\t\t\t\tconst [_first, second, ...rest] = parentSelectors;\n\t\t\t\t\t\tparentSelectors = [\n\t\t\t\t\t\t\tsecond,\n\t\t\t\t\t\t\t...rest,\n\t\t\t\t\t\t\tsecond\n\t\t\t\t\t\t];\n\t\t\t\t\t}\n\t\t\t\t\tconst nextChildSelector = childSelector === parentSelectors[parentSelectors.length - 1] ? \"\" : childSelector;\n\t\t\t\t\tconst selector = `${parentSelectors.join(\" \")} ${nextChildSelector}`;\n\t\t\t\t\tselectorsSet.add(selector);\n\t\t\t\t\tselectorScheme.set(selector, isDark ? \"dark\" : \"light\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst selectors = [...selectorsSet].sort(sortString);\n\t\tconst authoredScheme = getAuthoredThemeScheme(theme);\n\t\tconst css = `${selectors.map((x) => {\n\t\t\tconst addTo = getSetting(\"addThemeClassName\");\n\t\t\tif (!(isBaseTheme(x) && (addTo === \"html\" || addTo === \"body\"))) return `:root ${x}`;\n\t\t\treturn `${addTo === \"body\" ? \"body\" : \":root\"}${x}`;\n\t\t}).join(\", \") + `, .tm_xxt` + (authoredScheme ? `, ${themeSchemeSelectorPrefix}${authoredScheme}` : \"\")}${whitespace}{${vars}}`;\n\t\tcssRuleSets.push(css);\n\t\tif (getSetting(\"shouldAddPrefersColorThemes\")) {\n\t\t\tconst schemeOf = (x) => {\n\t\t\t\tif (x === darkSelector) return \"dark\";\n\t\t\t\tif (x === lightSelector) return \"light\";\n\t\t\t\tif (x.startsWith(`${darkSelector} `)) return \"dark\";\n\t\t\t\tif (x.startsWith(`${lightSelector} `)) return \"light\";\n\t\t\t\treturn selectorScheme.get(x);\n\t\t\t};\n\t\t\tfor (const baseName of lightDark) {\n\t\t\t\tconst lessSpecificSelectors = selectors.map((x) => {\n\t\t\t\t\tif (x === darkSelector || x === lightSelector) return schemeOf(x) === baseName ? \":root\" : void 0;\n\t\t\t\t\tconst scheme = schemeOf(x);\n\t\t\t\t\tif (scheme && scheme !== baseName) return;\n\t\t\t\t\treturn x.replace(/^\\.t_(dark|light) /, \"\").trim();\n\t\t\t\t}).filter(Boolean).join(\", \");\n\t\t\t\tif (!lessSpecificSelectors) continue;\n\t\t\t\tconst isBase = !themeName.includes(\"_\");\n\t\t\t\tlet bodyRulesString = \"\";\n\t\t\t\tif (isBase && themeName === baseName) {\n\t\t\t\t\tconst bgString = theme.background ? `background:${variableToString(theme.background)};` : \"\";\n\t\t\t\t\tconst fgString = theme.color ? `color:${variableToString(theme.color)}` : \"\";\n\t\t\t\t\tbodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}${mediaIndent}` : \"\";\n\t\t\t\t}\n\t\t\t\tcssRuleSets.push(`@media(prefers-color-scheme:${baseName}){${mediaIndent}${bodyRulesString}${lessSpecificSelectors}${whitespace}{${vars}}${mediaClose}}`);\n\t\t\t}\n\t\t}\n\t\tconst selectionStyles = getSetting(\"selectionStyles\");\n\t\tif (selectionStyles) {\n\t\t\tconst rules = selectionStyles(theme);\n\t\t\tif (rules) {\n\t\t\t\tconst selectionSelectors = baseSelectors.map((s) => `${s} ::selection`).join(\", \");\n\t\t\t\tconst styles = Object.entries(rules).flatMap(([k, v]) => v ? `${k === \"backgroundColor\" ? \"background\" : k}:${variableToString(v)}` : []).join(\";\");\n\t\t\t\tif (styles) {\n\t\t\t\t\tconst css2 = `${selectionSelectors}{${styles}}`;\n\t\t\t\t\tcssRuleSets.push(css2);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn cssRuleSets;\n\t}\n\treturn [];\n}\nconst darkSelector = \".t_dark\";\nconst lightSelector = \".t_light\";\nconst isBaseTheme = (x) => x === darkSelector || x === lightSelector || x.startsWith(\".t_dark \") || x.startsWith(\".t_light \");\n\nexport { getThemeCSSRules };"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { canonicalTransitionProperty } from "@tamagui/animation-helpers/propertyNames";
1
2
  import { platformMatches } from "@tamagui/constants";
2
3
  import { simpleHash } from "@tamagui/helpers";
3
4
  import { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from "@tamagui/style-grammar/runtime";
@@ -140,13 +141,14 @@ function prepareConfigRevision(config) {
140
141
  borderRadius: 8
141
142
  };
142
143
  const propertyKind = (property) => propertyKinds[property] || 0;
144
+ const tokenCategory = (property) => config.tokensParsed[property] ? property : config.tokensParsed.borderWidth && property.startsWith("border") && property.endsWith("Width") ? "borderWidth" : getTokenCategoryForProperty(property);
143
145
  const normalizedTransitions = /* @__PURE__ */ new Map();
144
146
  const next = {
145
147
  revision: captured.revision,
146
148
  modifiers,
147
149
  mediaQueries,
148
150
  resolveCondition,
149
- tokenCategory: getTokenCategoryForProperty,
151
+ tokenCategory,
150
152
  expandSafeArea: expandSafeAreaValue,
151
153
  safeAreaVariable: resolveSafeAreaVariable,
152
154
  parseFlatValue,
@@ -182,17 +184,13 @@ function prepareConfigRevision(config) {
182
184
  if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {
183
185
  return authored;
184
186
  }
185
- let property = config.shorthands[authored] || authored;
186
- if (property === "x" || property === "y") property = "translate";
187
- else if (property === "scaleX" || property === "scaleY") property = "scale";
188
- else if (propertyKind(property) === 5) property = "transform";
189
- return property.replace(/[A-Z]/g, "-$&").toLowerCase();
187
+ return canonicalTransitionProperty(config.shorthands[authored] || authored);
190
188
  });
191
189
  if (normalizedTransitions.size > 2048) normalizedTransitions.clear();
192
190
  normalizedTransitions.set(raw, out);
193
191
  return out;
194
192
  },
195
- embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, (word, quote, offset) => {
193
+ embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, (word, quote, offset) => {
196
194
  const before = raw.charCodeAt(offset - 1);
197
195
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
198
196
  })
@@ -232,13 +230,7 @@ function getConfigRevisionSnapshot(config) {
232
230
  for (const key of Object.keys(themes[name] || {})) themeKeys.add(key);
233
231
  }
234
232
  sections.themeVariables.push(`v:${[...themeKeys].sort().join(",")}`);
235
- for (const category of [
236
- "color",
237
- "space",
238
- "size",
239
- "radius",
240
- "zIndex"
241
- ]) {
233
+ for (const category of Object.keys(tokensParsed).sort()) {
242
234
  const tokens = tokensParsed[category];
243
235
  sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(",") : ""}`);
244
236
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.js","names":[],"sources":["esm/helpers/grammarConfig.js"],"sourcesContent":["import { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport {\n canonicalStateModifierNames,\n compileModifierVocabulary,\n configRevisionSymbol,\n isContainerSizeQueryText,\n modifierKindMedia,\n modifierKindPlatform,\n modifierKindState,\n parseFlatValue,\n stateModifierSelectors\n} from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n const target = config;\n const previous = target[configRevisionSymbol];\n const captured = previous ? { ...previous, revision: previous.revision + 1 } : { revision: 1 };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n const media = config.media || {};\n const themes = config.themes || {};\n const mediaNames = Object.keys(media);\n const themeNames = Object.keys(themes);\n const modifiers = compileModifierVocabulary({ mediaNames, themeNames });\n const mediaQueries = /* @__PURE__ */ Object.create(null);\n for (const name of mediaNames) {\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n const conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (const name in modifiers) {\n const code = modifiers[name];\n const kind = code & 7;\n const rank = code >> 3;\n conditionModifiers[name] = kind === modifierKindState ? [canonicalStateModifierNames[rank], kind, rank, stateModifierSelectors[rank]] : kind === modifierKindMedia ? [name, kind, rank, mediaQueries[name]] : kind === modifierKindPlatform ? [name, kind, rank, void 0, void 0, void 0, platformMatches(name)] : [name, kind, rank];\n }\n const resolveCondition = (authored) => {\n const cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n let result = null;\n if (authored.startsWith(\"group-\")) {\n const slash = authored.indexOf(\"/\");\n const state = authored.slice(6, slash === -1 ? void 0 : slash);\n const code = modifiers[state] || 0;\n const rank = code >> 3;\n const groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code & 7) === modifierKindState && rank !== 6 && rank !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank,\n stateModifierSelectors[rank],\n groupName,\n canonicalStateModifierNames[rank]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n const slash = authored.indexOf(\"/\");\n const size = authored.slice(1, slash === -1 ? void 0 : slash);\n const containerName = slash === -1 ? \"\" : authored.slice(slash + 1);\n const code = modifiers[size] || 0;\n const query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash === -1 || /^[\\w-]+$/.test(containerName)) && (code & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [authored, 6, code >> 3, query, size, containerName];\n }\n }\n return conditionModifiers[authored] = result;\n };\n const propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n const propertyKind = (property) => propertyKinds[property] || 0;\n const normalizedTransitions = /* @__PURE__ */ new Map();\n const next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory: getTokenCategoryForProperty,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: (staticConfig, conf) => resolveStyleStaticConfig(staticConfig, conf, captured.revision),\n propertyKind,\n compositeValue: (property, raw, context, resolve) => {\n const kind = propertyKinds[property];\n if (kind < 7) return;\n if (kind === 7) {\n const { width, style, color } = classifyBorderComponents(\n raw,\n property === \"outline\"\n );\n if (style === \"none\" && !color) return \"none\";\n const prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n const parts = splitComponents(raw);\n if (parts.length > 1) {\n let value = \"\";\n for (const part of parts) {\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n return value;\n }\n },\n normalizeTransition: (raw) => {\n const known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n const out = raw.replace(\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g,\n (authored, quote, offset) => {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n let property = config.shorthands[authored] || authored;\n if (property === \"x\" || property === \"y\") property = \"translate\";\n else if (property === \"scaleX\" || property === \"scaleY\") property = \"scale\";\n else if (propertyKind(property) === 5) property = \"transform\";\n return property.replace(/[A-Z]/g, \"-$&\").toLowerCase();\n }\n );\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: (raw, resolve) => raw.replace(\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d+)?/g,\n (word, quote, offset) => {\n const before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n )\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n const state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n const media = config.media || {};\n const themes = config.themes || {};\n const tokensParsed = config.tokensParsed || {};\n const fontsParsed = config.fontsParsed || {};\n const shorthands = config.shorthands || {};\n const sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n for (const name of Object.keys(media).sort()) {\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n const themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n const themeKeys = /* @__PURE__ */ new Set();\n for (const name of themeNames) {\n for (const key of Object.keys(themes[name] || {})) themeKeys.add(key);\n }\n sections.themeVariables.push(`v:${[...themeKeys].sort().join(\",\")}`);\n for (const category of [\"color\", \"space\", \"size\", \"radius\", \"zIndex\"]) {\n const tokens = tokensParsed[category];\n sections.tokens.push(\n `${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`\n );\n }\n for (const family of Object.keys(fontsParsed).sort()) {\n const font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n sections.shorthands.push(\n `s:${Object.keys(shorthands).sort().map((key) => `${key}>${shorthands[key]}`).join(\",\")}`\n );\n const snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(\n Object.entries(sections).map(([name, values]) => [\n name,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ])\n )\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"grammarConfig.js","names":[],"sources":["esm/helpers/grammarConfig.js"],"sourcesContent":["import { canonicalTransitionProperty } from \"@tamagui/animation-helpers/propertyNames\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport {\n canonicalStateModifierNames,\n compileModifierVocabulary,\n configRevisionSymbol,\n isContainerSizeQueryText,\n modifierKindMedia,\n modifierKindPlatform,\n modifierKindState,\n parseFlatValue,\n stateModifierSelectors\n} from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n const target = config;\n const previous = target[configRevisionSymbol];\n const captured = previous ? { ...previous, revision: previous.revision + 1 } : { revision: 1 };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n const media = config.media || {};\n const themes = config.themes || {};\n const mediaNames = Object.keys(media);\n const themeNames = Object.keys(themes);\n const modifiers = compileModifierVocabulary({ mediaNames, themeNames });\n const mediaQueries = /* @__PURE__ */ Object.create(null);\n for (const name of mediaNames) {\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n const conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (const name in modifiers) {\n const code = modifiers[name];\n const kind = code & 7;\n const rank = code >> 3;\n conditionModifiers[name] = kind === modifierKindState ? [canonicalStateModifierNames[rank], kind, rank, stateModifierSelectors[rank]] : kind === modifierKindMedia ? [name, kind, rank, mediaQueries[name]] : kind === modifierKindPlatform ? [name, kind, rank, void 0, void 0, void 0, platformMatches(name)] : [name, kind, rank];\n }\n const resolveCondition = (authored) => {\n const cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n let result = null;\n if (authored.startsWith(\"group-\")) {\n const slash = authored.indexOf(\"/\");\n const state = authored.slice(6, slash === -1 ? void 0 : slash);\n const code = modifiers[state] || 0;\n const rank = code >> 3;\n const groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code & 7) === modifierKindState && rank !== 6 && rank !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank,\n stateModifierSelectors[rank],\n groupName,\n canonicalStateModifierNames[rank]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n const slash = authored.indexOf(\"/\");\n const size = authored.slice(1, slash === -1 ? void 0 : slash);\n const containerName = slash === -1 ? \"\" : authored.slice(slash + 1);\n const code = modifiers[size] || 0;\n const query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash === -1 || /^[\\w-]+$/.test(containerName)) && (code & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [authored, 6, code >> 3, query, size, containerName];\n }\n }\n return conditionModifiers[authored] = result;\n };\n const propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n const propertyKind = (property) => propertyKinds[property] || 0;\n const tokenCategory = (property) => config.tokensParsed[property] ? property : config.tokensParsed.borderWidth && property.startsWith(\"border\") && property.endsWith(\"Width\") ? \"borderWidth\" : getTokenCategoryForProperty(property);\n const normalizedTransitions = /* @__PURE__ */ new Map();\n const next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: (staticConfig, conf) => resolveStyleStaticConfig(staticConfig, conf, captured.revision),\n propertyKind,\n compositeValue: (property, raw, context, resolve) => {\n const kind = propertyKinds[property];\n if (kind < 7) return;\n if (kind === 7) {\n const { width, style, color } = classifyBorderComponents(\n raw,\n property === \"outline\"\n );\n if (style === \"none\" && !color) return \"none\";\n const prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n const parts = splitComponents(raw);\n if (parts.length > 1) {\n let value = \"\";\n for (const part of parts) {\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n return value;\n }\n },\n normalizeTransition: (raw) => {\n const known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n const out = raw.replace(\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g,\n (authored, quote, offset) => {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return canonicalTransitionProperty(config.shorthands[authored] || authored);\n }\n );\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: (raw, resolve) => raw.replace(\n // the alpha suffix matches decimals too, so `$color/0.7` is handed to\n // resolve() whole and rejected as one token. matching only `\\d+` split it\n // into `$color/0` plus a stray `.7`, which left the `.7` glued onto the\n // resolved value.\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d*\\.?\\d+)?/g,\n (word, quote, offset) => {\n const before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n )\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n const state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n const media = config.media || {};\n const themes = config.themes || {};\n const tokensParsed = config.tokensParsed || {};\n const fontsParsed = config.fontsParsed || {};\n const shorthands = config.shorthands || {};\n const sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n for (const name of Object.keys(media).sort()) {\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n const themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n const themeKeys = /* @__PURE__ */ new Set();\n for (const name of themeNames) {\n for (const key of Object.keys(themes[name] || {})) themeKeys.add(key);\n }\n sections.themeVariables.push(`v:${[...themeKeys].sort().join(\",\")}`);\n for (const category of Object.keys(tokensParsed).sort()) {\n const tokens = tokensParsed[category];\n sections.tokens.push(\n `${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`\n );\n }\n for (const family of Object.keys(fontsParsed).sort()) {\n const font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n sections.shorthands.push(\n `s:${Object.keys(shorthands).sort().map((key) => `${key}>${shorthands[key]}`).join(\",\")}`\n );\n const snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(\n Object.entries(sections).map(([name, values]) => [\n name,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ])\n )\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { canonicalTransitionProperty } from "@tamagui/animation-helpers/propertyNames";
1
2
  import { platformMatches } from "@tamagui/constants";
2
3
  import { simpleHash } from "@tamagui/helpers";
3
4
  import { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from "@tamagui/style-grammar/runtime";
@@ -159,13 +160,16 @@ function prepareConfigRevision(config) {
159
160
  var propertyKind = function(property) {
160
161
  return propertyKinds[property] || 0;
161
162
  };
163
+ var tokenCategory = function(property) {
164
+ return config.tokensParsed[property] ? property : config.tokensParsed.borderWidth && property.startsWith("border") && property.endsWith("Width") ? "borderWidth" : getTokenCategoryForProperty(property);
165
+ };
162
166
  var normalizedTransitions = /* @__PURE__ */ new Map();
163
167
  var next = {
164
168
  revision: captured.revision,
165
169
  modifiers,
166
170
  mediaQueries,
167
171
  resolveCondition,
168
- tokenCategory: getTokenCategoryForProperty,
172
+ tokenCategory,
169
173
  expandSafeArea: expandSafeAreaValue,
170
174
  safeAreaVariable: resolveSafeAreaVariable,
171
175
  parseFlatValue,
@@ -220,18 +224,14 @@ function prepareConfigRevision(config) {
220
224
  if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {
221
225
  return authored;
222
226
  }
223
- var property = config.shorthands[authored] || authored;
224
- if (property === "x" || property === "y") property = "translate";
225
- else if (property === "scaleX" || property === "scaleY") property = "scale";
226
- else if (propertyKind(property) === 5) property = "transform";
227
- return property.replace(/[A-Z]/g, "-$&").toLowerCase();
227
+ return canonicalTransitionProperty(config.shorthands[authored] || authored);
228
228
  });
229
229
  if (normalizedTransitions.size > 2048) normalizedTransitions.clear();
230
230
  normalizedTransitions.set(raw, out);
231
231
  return out;
232
232
  },
233
233
  embeddedTokens: function(raw, resolve) {
234
- return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, function(word, quote, offset) {
234
+ return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d*\.?\d+)?/g, function(word, quote, offset) {
235
235
  var before = raw.charCodeAt(offset - 1);
236
236
  return quote || word[0] !== "$" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);
237
237
  });
@@ -325,23 +325,12 @@ function getConfigRevisionSnapshot(config) {
325
325
  }
326
326
  }
327
327
  sections.themeVariables.push(`v:${[...themeKeys].sort().join(",")}`);
328
- for (var _i = 0, _iter = [
329
- "color",
330
- "space",
331
- "size",
332
- "radius",
333
- "zIndex"
334
- ]; _i < _iter.length; _i++) {
335
- var category = _iter[_i];
336
- var tokens = tokensParsed[category];
337
- sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(",") : ""}`);
338
- }
339
328
  var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;
340
329
  try {
341
- for (var _iterator3 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
342
- var family = _step3.value;
343
- var font = fontsParsed[family];
344
- sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(",") : ""}`);
330
+ for (var _iterator3 = Object.keys(tokensParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
331
+ var category = _step3.value;
332
+ var tokens = tokensParsed[category];
333
+ sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(",") : ""}`);
345
334
  }
346
335
  } catch (err) {
347
336
  _didIteratorError3 = true;
@@ -357,6 +346,27 @@ function getConfigRevisionSnapshot(config) {
357
346
  }
358
347
  }
359
348
  }
349
+ var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;
350
+ try {
351
+ for (var _iterator4 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {
352
+ var family = _step4.value;
353
+ var font = fontsParsed[family];
354
+ sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(",") : ""}`);
355
+ }
356
+ } catch (err) {
357
+ _didIteratorError4 = true;
358
+ _iteratorError4 = err;
359
+ } finally {
360
+ try {
361
+ if (!_iteratorNormalCompletion4 && _iterator4.return != null) {
362
+ _iterator4.return();
363
+ }
364
+ } finally {
365
+ if (_didIteratorError4) {
366
+ throw _iteratorError4;
367
+ }
368
+ }
369
+ }
360
370
  sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {
361
371
  return `${key2}>${shorthands[key2]}`;
362
372
  }).join(",")}`);
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["esm/helpers/grammarConfig.native.js"],"sourcesContent":["import { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n var target = config;\n var previous = target[configRevisionSymbol];\n var captured = previous ? {\n ...previous,\n revision: previous.revision + 1\n } : {\n revision: 1\n };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n var media = config.media || {};\n var themes = config.themes || {};\n var mediaNames = Object.keys(media);\n var themeNames = Object.keys(themes);\n var modifiers = compileModifierVocabulary({\n mediaNames,\n themeNames\n });\n var mediaQueries = /* @__PURE__ */ Object.create(null);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (var name1 in modifiers) {\n var code = modifiers[name1];\n var kind = code & 7;\n var rank = code >> 3;\n conditionModifiers[name1] = kind === modifierKindState ? [\n canonicalStateModifierNames[rank],\n kind,\n rank,\n stateModifierSelectors[rank]\n ] : kind === modifierKindMedia ? [\n name1,\n kind,\n rank,\n mediaQueries[name1]\n ] : kind === modifierKindPlatform ? [\n name1,\n kind,\n rank,\n void 0,\n void 0,\n void 0,\n platformMatches(name1)\n ] : [\n name1,\n kind,\n rank\n ];\n }\n var resolveCondition = function(authored) {\n var cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n var result = null;\n if (authored.startsWith(\"group-\")) {\n var slash = authored.indexOf(\"/\");\n var state = authored.slice(6, slash === -1 ? void 0 : slash);\n var code2 = modifiers[state] || 0;\n var rank2 = code2 >> 3;\n var groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code2 & 7) === modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank2]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank2,\n stateModifierSelectors[rank2],\n groupName,\n canonicalStateModifierNames[rank2]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n var slash1 = authored.indexOf(\"/\");\n var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);\n var containerName = slash1 === -1 ? \"\" : authored.slice(slash1 + 1);\n var code1 = modifiers[size] || 0;\n var query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash1 === -1 || /^[\\w-]+$/.test(containerName)) && (code1 & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [\n authored,\n 6,\n code1 >> 3,\n query,\n size,\n containerName\n ];\n }\n }\n return conditionModifiers[authored] = result;\n };\n var propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n var propertyKind = function(property) {\n return propertyKinds[property] || 0;\n };\n var normalizedTransitions = /* @__PURE__ */ new Map();\n var next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory: getTokenCategoryForProperty,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: function(staticConfig, conf) {\n return resolveStyleStaticConfig(staticConfig, conf, captured.revision);\n },\n propertyKind,\n compositeValue: function(property, raw, context, resolve) {\n var kind2 = propertyKinds[property];\n if (kind2 < 7) return;\n if (kind2 === 7) {\n var { width, style, color } = classifyBorderComponents(raw, property === \"outline\");\n if (style === \"none\" && !color) return \"none\";\n var prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n var parts = splitComponents(raw);\n if (parts.length > 1) {\n var value = \"\";\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var part = _step2.value;\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return value;\n }\n },\n normalizeTransition: function(raw) {\n var known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n var out = raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g, function(authored, quote, offset) {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n var property = config.shorthands[authored] || authored;\n if (property === \"x\" || property === \"y\") property = \"translate\";\n else if (property === \"scaleX\" || property === \"scaleY\") property = \"scale\";\n else if (propertyKind(property) === 5) property = \"transform\";\n return property.replace(/[A-Z]/g, \"-$&\").toLowerCase();\n });\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: function(raw, resolve) {\n return raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d+)?/g, function(word, quote, offset) {\n var before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n });\n }\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n var state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n var media = config.media || {};\n var themes = config.themes || {};\n var tokensParsed = config.tokensParsed || {};\n var fontsParsed = config.fontsParsed || {};\n var shorthands = config.shorthands || {};\n var sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(media).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n var themeKeys = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = themeNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = Object.keys(themes[name1] || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n themeKeys.add(key);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n sections.themeVariables.push(`v:${[\n ...themeKeys\n ].sort().join(\",\")}`);\n for (var _i = 0, _iter = [\n \"color\",\n \"space\",\n \"size\",\n \"radius\",\n \"zIndex\"\n ]; _i < _iter.length; _i++) {\n var category = _iter[_i];\n var tokens = tokensParsed[category];\n sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`);\n }\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var family = _step3.value;\n var font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {\n return `${key2}>${shorthands[key2]}`;\n }).join(\",\")}`);\n var snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(Object.entries(sections).map(function(param) {\n var [name2, values] = param;\n return [\n name2,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ];\n }))\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["esm/helpers/grammarConfig.native.js"],"sourcesContent":["import { canonicalTransitionProperty } from \"@tamagui/animation-helpers/propertyNames\";\nimport { platformMatches } from \"@tamagui/constants\";\nimport { simpleHash } from \"@tamagui/helpers\";\nimport { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from \"@tamagui/style-grammar/runtime\";\nimport { classifyBorderComponents, splitComponents } from \"./borderComponents\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\nimport { getTokenCategoryForProperty } from \"./tokenCategories\";\nimport { expandSafeAreaValue } from \"./resolveSafeArea\";\nimport { resolveSafeAreaVariable } from \"./resolveSafeAreaVariable\";\nimport { resolveStyleStaticConfig } from \"./styleStaticConfigCore\";\nfunction prepareConfigRevision(config) {\n var target = config;\n var previous = target[configRevisionSymbol];\n var captured = previous ? {\n ...previous,\n revision: previous.revision + 1\n } : {\n revision: 1\n };\n if (previous) {\n target[configRevisionSymbol] = captured;\n } else {\n Object.defineProperty(config, configRevisionSymbol, {\n configurable: true,\n writable: true,\n value: captured\n });\n }\n var media = config.media || {};\n var themes = config.themes || {};\n var mediaNames = Object.keys(media);\n var themeNames = Object.keys(themes);\n var modifiers = compileModifierVocabulary({\n mediaNames,\n themeNames\n });\n var mediaQueries = /* @__PURE__ */ Object.create(null);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = mediaNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n mediaQueries[name] = mediaObjectToString(media[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var conditionModifiers = /* @__PURE__ */ Object.create(null);\n for (var name1 in modifiers) {\n var code = modifiers[name1];\n var kind = code & 7;\n var rank = code >> 3;\n conditionModifiers[name1] = kind === modifierKindState ? [\n canonicalStateModifierNames[rank],\n kind,\n rank,\n stateModifierSelectors[rank]\n ] : kind === modifierKindMedia ? [\n name1,\n kind,\n rank,\n mediaQueries[name1]\n ] : kind === modifierKindPlatform ? [\n name1,\n kind,\n rank,\n void 0,\n void 0,\n void 0,\n platformMatches(name1)\n ] : [\n name1,\n kind,\n rank\n ];\n }\n var resolveCondition = function(authored) {\n var cached = conditionModifiers[authored];\n if (cached !== void 0) return cached;\n var result = null;\n if (authored.startsWith(\"group-\")) {\n var slash = authored.indexOf(\"/\");\n var state = authored.slice(6, slash === -1 ? void 0 : slash);\n var code2 = modifiers[state] || 0;\n var rank2 = code2 >> 3;\n var groupName = slash === -1 ? \"true\" : authored.slice(slash + 1);\n if ((code2 & 7) === modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\\w-]+$/.test(groupName))) {\n result = [\n `group-${canonicalStateModifierNames[rank2]}${slash === -1 ? \"\" : authored.slice(slash)}`,\n 5,\n rank2,\n stateModifierSelectors[rank2],\n groupName,\n canonicalStateModifierNames[rank2]\n ];\n }\n } else if (authored.charCodeAt(0) === 64) {\n var slash1 = authored.indexOf(\"/\");\n var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);\n var containerName = slash1 === -1 ? \"\" : authored.slice(slash1 + 1);\n var code1 = modifiers[size] || 0;\n var query = mediaQueries[size];\n if (/^[\\w-]+$/.test(size) && (slash1 === -1 || /^[\\w-]+$/.test(containerName)) && (code1 & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {\n result = [\n authored,\n 6,\n code1 >> 3,\n query,\n size,\n containerName\n ];\n }\n }\n return conditionModifiers[authored] = result;\n };\n var propertyKinds = {\n shadowColor: 1,\n shadowOffset: 2,\n shadowOpacity: 3,\n shadowRadius: 4,\n matrix: 5,\n perspective: 5,\n rotateX: 5,\n rotateY: 5,\n rotateZ: 5,\n scaleZ: 5,\n skewX: 5,\n skewY: 5,\n textShadowColor: 6,\n textShadowOffset: 6,\n textShadowRadius: 6,\n border: 7,\n borderTop: 7,\n borderRight: 7,\n borderBottom: 7,\n borderLeft: 7,\n borderBlock: 7,\n borderInline: 7,\n outline: 7,\n padding: 8,\n paddingBlock: 8,\n paddingInline: 8,\n margin: 8,\n marginBlock: 8,\n marginInline: 8,\n inset: 8,\n insetBlock: 8,\n insetInline: 8,\n borderRadius: 8\n };\n var propertyKind = function(property) {\n return propertyKinds[property] || 0;\n };\n var tokenCategory = function(property) {\n return config.tokensParsed[property] ? property : config.tokensParsed.borderWidth && property.startsWith(\"border\") && property.endsWith(\"Width\") ? \"borderWidth\" : getTokenCategoryForProperty(property);\n };\n var normalizedTransitions = /* @__PURE__ */ new Map();\n var next = {\n revision: captured.revision,\n modifiers,\n mediaQueries,\n resolveCondition,\n tokenCategory,\n expandSafeArea: expandSafeAreaValue,\n safeAreaVariable: resolveSafeAreaVariable,\n parseFlatValue,\n styleStaticConfig: function(staticConfig, conf) {\n return resolveStyleStaticConfig(staticConfig, conf, captured.revision);\n },\n propertyKind,\n compositeValue: function(property, raw, context, resolve) {\n var kind2 = propertyKinds[property];\n if (kind2 < 7) return;\n if (kind2 === 7) {\n var { width, style, color } = classifyBorderComponents(raw, property === \"outline\");\n if (style === \"none\" && !color) return \"none\";\n var prefix = property === \"outline\" ? \"outline\" : \"border\";\n return [\n width && resolve(context, `${prefix}Width`, width),\n style,\n color && resolve(context, `${prefix}Color`, color)\n ].filter(Boolean).join(\" \");\n }\n if (!/\\s/.test(raw)) return;\n var parts = splitComponents(raw);\n if (parts.length > 1) {\n var value = \"\";\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var part = _step2.value;\n value += `${value ? \" \" : \"\"}${resolve(context, property, part)}`;\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n return value;\n }\n },\n normalizeTransition: function(raw) {\n var known = normalizedTransitions.get(raw);\n if (known !== void 0) return known;\n var out = raw.replace(/\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[A-Za-z_][\\w-]*/g, function(authored, quote, offset) {\n if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {\n return authored;\n }\n return canonicalTransitionProperty(config.shorthands[authored] || authored);\n });\n if (normalizedTransitions.size > 2048) normalizedTransitions.clear();\n normalizedTransitions.set(raw, out);\n return out;\n },\n embeddedTokens: function(raw, resolve) {\n return raw.replace(\n // the alpha suffix matches decimals too, so `$color/0.7` is handed to\n // resolve() whole and rejected as one token. matching only `\\d+` split it\n // into `$color/0` plus a stray `.7`, which left the `.7` glued onto the\n // resolved value.\n /\\/\\*[\\s\\S]*?\\*\\/|([\"'])(?:\\\\.|(?!\\1)[^\\\\])*\\1|[$A-Za-z_][\\w.$-]*(?:\\/\\d*\\.?\\d+)?/g,\n function(word, quote, offset) {\n var before = raw.charCodeAt(offset - 1);\n return quote || word[0] !== \"$\" && (before >= 48 && before <= 57 || before === 35 || before === 45 && raw.charCodeAt(offset - 2) === 45 || raw.charCodeAt(offset + word.length) === 40) ? word : resolve(word);\n }\n );\n }\n };\n if (target[configRevisionSymbol] === captured) {\n target[configRevisionSymbol] = next;\n return next;\n }\n return target[configRevisionSymbol];\n}\nfunction getConfigRevisionState(config) {\n return config[configRevisionSymbol];\n}\nfunction getConfigRevisionSnapshot(config) {\n var state = getConfigRevisionState(config);\n if (state.snapshot) return state.snapshot;\n var media = config.media || {};\n var themes = config.themes || {};\n var tokensParsed = config.tokensParsed || {};\n var fontsParsed = config.fontsParsed || {};\n var shorthands = config.shorthands || {};\n var sections = {\n media: [],\n themeNames: [],\n themeVariables: [],\n tokens: [],\n fonts: [],\n shorthands: []\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(media).sort()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var name = _step.value;\n sections.media.push(`m:${name}=${mediaObjectToString(media[name])}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var themeNames = Object.keys(themes).sort();\n sections.themeNames.push(`t:${themeNames.join(\",\")}`);\n var themeKeys = /* @__PURE__ */ new Set();\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = void 0;\n try {\n for (var _iterator1 = themeNames[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {\n var name1 = _step1.value;\n var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;\n try {\n for (var _iterator2 = Object.keys(themes[name1] || {})[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var key = _step2.value;\n themeKeys.add(key);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return != null) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally {\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n sections.themeVariables.push(`v:${[\n ...themeKeys\n ].sort().join(\",\")}`);\n var _iteratorNormalCompletion3 = true, _didIteratorError3 = false, _iteratorError3 = void 0;\n try {\n for (var _iterator3 = Object.keys(tokensParsed).sort()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var category = _step3.value;\n var tokens = tokensParsed[category];\n sections.tokens.push(`${category}:${tokens ? Object.keys(tokens).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3.return != null) {\n _iterator3.return();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n var _iteratorNormalCompletion4 = true, _didIteratorError4 = false, _iteratorError4 = void 0;\n try {\n for (var _iterator4 = Object.keys(fontsParsed).sort()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n var family = _step4.value;\n var font = fontsParsed[family];\n sections.fonts.push(`f:${family}=${font ? Object.keys(font).sort().join(\",\") : \"\"}`);\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4.return != null) {\n _iterator4.return();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n sections.shorthands.push(`s:${Object.keys(shorthands).sort().map(function(key2) {\n return `${key2}>${shorthands[key2]}`;\n }).join(\",\")}`);\n var snapshot = {\n revision: simpleHash(Object.values(sections).flat().join(\"|\"), \"strict\") || \"0\",\n parts: Object.fromEntries(Object.entries(sections).map(function(param) {\n var [name2, values] = param;\n return [\n name2,\n simpleHash(values.join(\"|\"), \"strict\") || \"0\"\n ];\n }))\n };\n if (config[configRevisionSymbol] === state) {\n state.snapshot = snapshot;\n }\n return snapshot;\n}\nexport {\n getConfigRevisionSnapshot,\n getConfigRevisionState,\n prepareConfigRevision\n};\n//# sourceMappingURL=grammarConfig.js.map\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { StyleObjectIdentifier, StyleObjectRules } from "@tamagui/helpers";
2
2
  import { createVariable } from "../createVariable.mjs";
3
3
  import { formatDiagnostic } from "./formatDiagnostic.mjs";
4
+ import { setAuthoredThemeScheme, themeSchemeSelectorPrefix } from "./themes.mjs";
4
5
 
5
6
  const scannedCache = /* @__PURE__ */ new WeakMap();
6
7
  const totalSelectorsInserted = /* @__PURE__ */ new Map();
@@ -12,7 +13,7 @@ const getRulesForIdentifier = (identifier) => allRuleSets[identifier];
12
13
  let sortedRules = [];
13
14
  let sortedRulesStale = true;
14
15
  const getAllRules = () => {
15
- if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {
16
+ if (process.env.TAMAGUI_RUNTIME !== "island") {
16
17
  if (sortedRulesStale) {
17
18
  sortedRules = Object.keys(allRules).sort().map((key) => allRules[key]);
18
19
  sortedRulesStale = false;
@@ -29,7 +30,7 @@ ${css}
29
30
  }
30
31
  let lastScannedSheets = null;
31
32
  function scanAllSheets(collectThemes = false, tokens) {
32
- if (!process.env.TAMAGUI_DID_OUTPUT_CSS || collectThemes) {
33
+ if (process.env.TAMAGUI_RUNTIME !== "island" || collectThemes) {
33
34
  if (process.env.NODE_ENV === "test") return;
34
35
  if (typeof document === "undefined") return;
35
36
  let themes;
@@ -153,6 +154,12 @@ function addThemesFromCSS(cssStyleRule, tokens) {
153
154
  }
154
155
  const names = /* @__PURE__ */ new Set();
155
156
  for (const selector of selectors) {
157
+ const marker = selector.trim();
158
+ if (marker.startsWith(themeSchemeSelectorPrefix)) {
159
+ const scheme = marker.slice(themeSchemeSelectorPrefix.length);
160
+ if (scheme === "light" || scheme === "dark") setAuthoredThemeScheme(values, scheme);
161
+ continue;
162
+ }
156
163
  const themeName = getThemeNameFromSelector(selector);
157
164
  if (themeName) names.add(themeName);
158
165
  }
@@ -207,7 +214,7 @@ function stopAccumulatingRules() {
207
214
  };
208
215
  }
209
216
  function updateRules(identifier, rules) {
210
- if (!process.env.TAMAGUI_DID_OUTPUT_CSS && trackAllRules) {
217
+ if (process.env.TAMAGUI_RUNTIME !== "island" && trackAllRules) {
211
218
  allRules[identifier] = rules.join(" ");
212
219
  allRuleSets[identifier] = rules;
213
220
  sortedRulesStale = true;
@@ -219,7 +226,7 @@ function setNonce(_) {
219
226
  nonce = _;
220
227
  }
221
228
  function insertStyleRules(rulesToInsert) {
222
- if (process.env.TAMAGUI_DID_OUTPUT_CSS || false) return;
229
+ if (process.env.TAMAGUI_RUNTIME === "island" || false) return;
223
230
  if (!sheet && document.head) {
224
231
  const styleTag = document.createElement("style");
225
232
  styleTag.id = "_tamagui-styles";