@tamagui/web 3.0.0-beta.807.1 → 3.0.0-beta.881.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. package/dist/cjs/config.cjs +1 -1
  2. package/dist/cjs/config.native.cjs +1 -1
  3. package/dist/cjs/config.native.js +1 -1
  4. package/dist/cjs/config.native.js.map +1 -1
  5. package/dist/cjs/createComponent.cjs +40 -19
  6. package/dist/cjs/createComponent.native.cjs +42 -21
  7. package/dist/cjs/createComponent.native.js +42 -21
  8. package/dist/cjs/createComponent.native.js.map +1 -1
  9. package/dist/cjs/createStyledHOC.cjs +54 -4
  10. package/dist/cjs/createStyledHOC.native.cjs +55 -4
  11. package/dist/cjs/createStyledHOC.native.js +55 -4
  12. package/dist/cjs/createStyledHOC.native.js.map +1 -1
  13. package/dist/cjs/createTokens.cjs +1 -1
  14. package/dist/cjs/createTokens.native.cjs +1 -1
  15. package/dist/cjs/createTokens.native.js +1 -1
  16. package/dist/cjs/createTokens.native.js.map +1 -1
  17. package/dist/cjs/createVariable.cjs +0 -10
  18. package/dist/cjs/createVariable.native.cjs +0 -10
  19. package/dist/cjs/createVariable.native.js +0 -10
  20. package/dist/cjs/createVariable.native.js.map +1 -1
  21. package/dist/cjs/dom/html.cjs +147 -99
  22. package/dist/cjs/dom/htmlRuntime.native.cjs +6 -2
  23. package/dist/cjs/dom/htmlRuntime.native.js +6 -2
  24. package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
  25. package/dist/cjs/dom/primitives.native.cjs +16 -13
  26. package/dist/cjs/dom/primitives.native.js +16 -13
  27. package/dist/cjs/dom/primitives.native.js.map +1 -1
  28. package/dist/cjs/helpers/borderComponents.cjs +62 -0
  29. package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
  30. package/dist/cjs/helpers/borderComponents.native.js +84 -0
  31. package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
  32. package/dist/cjs/helpers/componentDisplayName.cjs +1 -11
  33. package/dist/cjs/helpers/componentDisplayName.native.cjs +1 -11
  34. package/dist/cjs/helpers/componentDisplayName.native.js +1 -11
  35. package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -1
  36. package/dist/cjs/helpers/createDesignSystem.cjs +0 -2
  37. package/dist/cjs/helpers/createStyledContext.cjs +10 -18
  38. package/dist/cjs/helpers/createStyledContext.native.cjs +14 -18
  39. package/dist/cjs/helpers/createStyledContext.native.js +14 -18
  40. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  41. package/dist/cjs/helpers/formatDiagnostic.cjs +8 -10
  42. package/dist/cjs/helpers/formatDiagnostic.native.cjs +8 -10
  43. package/dist/cjs/helpers/formatDiagnostic.native.js +8 -10
  44. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  45. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +133 -114
  46. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +11 -3
  47. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +11 -3
  48. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  49. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +13 -1
  50. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +15 -1
  51. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +15 -1
  52. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
  53. package/dist/cjs/helpers/getDynamicVal.cjs +5 -1
  54. package/dist/cjs/helpers/getDynamicVal.native.cjs +5 -1
  55. package/dist/cjs/helpers/getDynamicVal.native.js +5 -1
  56. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  57. package/dist/cjs/helpers/getSplitStyles.cjs +1063 -2168
  58. package/dist/cjs/helpers/getSplitStyles.native.cjs +1115 -2515
  59. package/dist/cjs/helpers/getSplitStyles.native.js +1115 -2515
  60. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  61. package/dist/cjs/helpers/grammarConfig.cjs +163 -1
  62. package/dist/cjs/helpers/grammarConfig.native.cjs +186 -1
  63. package/dist/cjs/helpers/grammarConfig.native.js +186 -1
  64. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  65. package/dist/cjs/helpers/insertStyleRule.cjs +5 -1
  66. package/dist/cjs/helpers/insertStyleRule.native.cjs +7 -1
  67. package/dist/cjs/helpers/insertStyleRule.native.js +7 -1
  68. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  69. package/dist/cjs/helpers/log.cjs +9 -8
  70. package/dist/cjs/helpers/log.native.cjs +9 -8
  71. package/dist/cjs/helpers/log.native.js +9 -8
  72. package/dist/cjs/helpers/log.native.js.map +1 -1
  73. package/dist/cjs/helpers/mergeVariants.cjs +44 -13
  74. package/dist/cjs/helpers/mergeVariants.native.cjs +79 -14
  75. package/dist/cjs/helpers/mergeVariants.native.js +79 -14
  76. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  77. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  78. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  79. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  80. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  81. package/dist/cjs/helpers/nativeStyleEngine.cjs +34 -14
  82. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +36 -14
  83. package/dist/cjs/helpers/nativeStyleEngine.native.js +36 -14
  84. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
  85. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +7 -8
  86. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +9 -8
  87. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +9 -8
  88. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  89. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +25 -56
  90. package/dist/cjs/helpers/parseBorderShorthand.native.js +25 -56
  91. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  92. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +9 -49
  93. package/dist/cjs/helpers/parseOutlineShorthand.native.js +9 -49
  94. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  95. package/dist/cjs/helpers/resolveSafeArea.cjs +35 -100
  96. package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
  97. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +67 -0
  98. package/dist/cjs/helpers/resolveVariantStyle.native.js +69 -0
  99. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
  100. package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
  101. package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
  102. package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
  103. package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
  104. package/dist/cjs/helpers/{getDefaultProps.native.cjs → styleStaticConfig.cjs} +7 -8
  105. package/dist/cjs/helpers/{getDefaultProps.native.js → styleStaticConfig.native.cjs} +7 -8
  106. package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
  107. package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
  108. package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
  109. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
  110. package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
  111. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
  112. package/dist/cjs/helpers/styledDynamic.cjs +160 -0
  113. package/dist/cjs/helpers/styledDynamic.native.cjs +195 -0
  114. package/dist/cjs/helpers/styledDynamic.native.js +197 -0
  115. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
  116. package/dist/cjs/helpers/tokenCategories.cjs +12 -74
  117. package/dist/cjs/helpers/tokenCategories.native.cjs +12 -76
  118. package/dist/cjs/helpers/tokenCategories.native.js +12 -76
  119. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  120. package/dist/cjs/helpers/variableValue.cjs +17 -12
  121. package/dist/cjs/helpers/variableValue.native.cjs +46 -23
  122. package/dist/cjs/helpers/variableValue.native.js +46 -23
  123. package/dist/cjs/helpers/variableValue.native.js.map +1 -1
  124. package/dist/cjs/helpers/warnOnce.cjs +5 -4
  125. package/dist/cjs/helpers/warnOnce.native.cjs +6 -4
  126. package/dist/cjs/helpers/warnOnce.native.js +6 -4
  127. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  128. package/dist/cjs/hooks/useAnimationDriver.cjs +2 -2
  129. package/dist/cjs/hooks/useAnimationDriver.native.cjs +2 -2
  130. package/dist/cjs/hooks/useAnimationDriver.native.js +2 -2
  131. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
  132. package/dist/cjs/hooks/useComponentState.cjs +41 -82
  133. package/dist/cjs/hooks/useComponentState.native.cjs +45 -84
  134. package/dist/cjs/hooks/useComponentState.native.js +45 -84
  135. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  136. package/dist/cjs/hooks/useMedia.cjs +2 -2
  137. package/dist/cjs/hooks/useMedia.native.cjs +2 -2
  138. package/dist/cjs/hooks/useMedia.native.js +2 -2
  139. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  140. package/dist/cjs/hooks/useSplitStyles.cjs +2 -2
  141. package/dist/cjs/hooks/useSplitStyles.native.cjs +2 -2
  142. package/dist/cjs/hooks/useSplitStyles.native.js +2 -2
  143. package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -1
  144. package/dist/cjs/{helpers/getDefaultProps.cjs → hooks/useStyle.cjs} +10 -4
  145. package/dist/cjs/{helpers/directStyleCSS.native.js → hooks/useStyle.native.cjs} +16 -6
  146. package/dist/cjs/hooks/useStyle.native.js +34 -0
  147. package/dist/cjs/hooks/useStyle.native.js.map +1 -0
  148. package/dist/cjs/hooks/useThemeState.cjs +25 -90
  149. package/dist/cjs/hooks/useThemeState.native.cjs +34 -94
  150. package/dist/cjs/hooks/useThemeState.native.js +34 -94
  151. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  152. package/dist/cjs/index.cjs +9 -12
  153. package/dist/cjs/index.native.cjs +9 -12
  154. package/dist/cjs/index.native.js +9 -12
  155. package/dist/cjs/index.native.js.map +1 -1
  156. package/dist/cjs/internal-runtime.cjs +8 -7
  157. package/dist/cjs/internal-runtime.native.cjs +8 -7
  158. package/dist/cjs/internal-runtime.native.js +8 -7
  159. package/dist/cjs/internal-runtime.native.js.map +1 -1
  160. package/dist/cjs/static-resolve.cjs +8 -7
  161. package/dist/cjs/static-resolve.native.cjs +8 -7
  162. package/dist/cjs/static-resolve.native.js +8 -7
  163. package/dist/cjs/static-resolve.native.js.map +1 -1
  164. package/dist/cjs/style.cjs +91 -0
  165. package/dist/cjs/style.native.cjs +98 -0
  166. package/dist/cjs/style.native.js +100 -0
  167. package/dist/cjs/style.native.js.map +1 -0
  168. package/dist/cjs/styled.cjs +15 -62
  169. package/dist/cjs/styled.native.cjs +15 -64
  170. package/dist/cjs/styled.native.js +15 -64
  171. package/dist/cjs/styled.native.js.map +1 -1
  172. package/dist/cjs/types.cjs +4 -22
  173. package/dist/cjs/types.native.cjs +4 -22
  174. package/dist/cjs/types.native.js +4 -22
  175. package/dist/cjs/types.native.js.map +1 -1
  176. package/dist/cjs/views/TamaguiProvider.cjs +1 -2
  177. package/dist/cjs/views/TamaguiProvider.native.cjs +1 -2
  178. package/dist/cjs/views/TamaguiProvider.native.js +1 -2
  179. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  180. package/dist/cjs/views/Text.cjs +21 -14
  181. package/dist/cjs/views/Text.native.cjs +5 -2
  182. package/dist/cjs/views/Text.native.js +5 -2
  183. package/dist/cjs/views/Text.native.js.map +1 -1
  184. package/dist/cjs/views/Theme.cjs +2 -2
  185. package/dist/cjs/views/Theme.native.cjs +2 -2
  186. package/dist/cjs/views/Theme.native.js +2 -2
  187. package/dist/cjs/views/Theme.native.js.map +1 -1
  188. package/dist/cjs/views/ThemeDebug.cjs +1 -4
  189. package/dist/cjs/views/View.cjs +4 -2
  190. package/dist/cjs/views/View.native.cjs +4 -2
  191. package/dist/cjs/views/View.native.js +4 -2
  192. package/dist/cjs/views/View.native.js.map +1 -1
  193. package/dist/esm/config.mjs +1 -1
  194. package/dist/esm/config.mjs.map +1 -1
  195. package/dist/esm/config.native.js +1 -1
  196. package/dist/esm/config.native.js.map +1 -1
  197. package/dist/esm/createComponent.mjs +41 -20
  198. package/dist/esm/createComponent.mjs.map +1 -1
  199. package/dist/esm/createComponent.native.js +43 -22
  200. package/dist/esm/createComponent.native.js.map +1 -1
  201. package/dist/esm/createStyledHOC.mjs +55 -5
  202. package/dist/esm/createStyledHOC.mjs.map +1 -1
  203. package/dist/esm/createStyledHOC.native.js +56 -5
  204. package/dist/esm/createStyledHOC.native.js.map +1 -1
  205. package/dist/esm/createTokens.mjs +1 -1
  206. package/dist/esm/createTokens.mjs.map +1 -1
  207. package/dist/esm/createTokens.native.js +1 -1
  208. package/dist/esm/createTokens.native.js.map +1 -1
  209. package/dist/esm/createVariable.mjs +1 -9
  210. package/dist/esm/createVariable.mjs.map +1 -1
  211. package/dist/esm/createVariable.native.js +1 -9
  212. package/dist/esm/createVariable.native.js.map +1 -1
  213. package/dist/esm/dom/html.mjs +147 -99
  214. package/dist/esm/dom/html.mjs.map +1 -1
  215. package/dist/esm/dom/htmlRuntime.native.js +7 -3
  216. package/dist/esm/dom/htmlRuntime.native.js.map +1 -1
  217. package/dist/esm/dom/primitives.native.js +16 -13
  218. package/dist/esm/dom/primitives.native.js.map +1 -1
  219. package/dist/esm/helpers/borderComponents.mjs +37 -0
  220. package/dist/esm/helpers/borderComponents.mjs.map +1 -0
  221. package/dist/esm/helpers/borderComponents.native.js +55 -0
  222. package/dist/esm/helpers/borderComponents.native.js.map +1 -0
  223. package/dist/esm/helpers/componentDisplayName.mjs +1 -8
  224. package/dist/esm/helpers/componentDisplayName.mjs.map +1 -1
  225. package/dist/esm/helpers/componentDisplayName.native.js +1 -8
  226. package/dist/esm/helpers/componentDisplayName.native.js.map +1 -1
  227. package/dist/esm/helpers/createDesignSystem.mjs +0 -2
  228. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  229. package/dist/esm/helpers/createStyledContext.mjs +10 -18
  230. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  231. package/dist/esm/helpers/createStyledContext.native.js +14 -18
  232. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  233. package/dist/esm/helpers/formatDiagnostic.mjs +8 -10
  234. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
  235. package/dist/esm/helpers/formatDiagnostic.native.js +8 -10
  236. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  237. package/dist/esm/helpers/getCSSStylesAtomic.mjs +131 -114
  238. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  239. package/dist/esm/helpers/getCSSStylesAtomic.native.js +7 -4
  240. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  241. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +8 -1
  242. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -1
  243. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +10 -1
  244. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
  245. package/dist/esm/helpers/getDynamicVal.mjs +5 -1
  246. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  247. package/dist/esm/helpers/getDynamicVal.native.js +5 -1
  248. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  249. package/dist/esm/helpers/getSplitStyles.mjs +1052 -2151
  250. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  251. package/dist/esm/helpers/getSplitStyles.native.js +1090 -2481
  252. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  253. package/dist/esm/helpers/grammarConfig.mjs +164 -2
  254. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  255. package/dist/esm/helpers/grammarConfig.native.js +187 -2
  256. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  257. package/dist/esm/helpers/insertStyleRule.mjs +5 -2
  258. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  259. package/dist/esm/helpers/insertStyleRule.native.js +7 -2
  260. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  261. package/dist/esm/helpers/log.mjs +9 -8
  262. package/dist/esm/helpers/log.mjs.map +1 -1
  263. package/dist/esm/helpers/log.native.js +9 -8
  264. package/dist/esm/helpers/log.native.js.map +1 -1
  265. package/dist/esm/helpers/mergeVariants.mjs +44 -13
  266. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  267. package/dist/esm/helpers/mergeVariants.native.js +79 -14
  268. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  269. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  270. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  271. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  272. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  273. package/dist/esm/helpers/nativeStyleEngine.mjs +34 -15
  274. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
  275. package/dist/esm/helpers/nativeStyleEngine.native.js +36 -15
  276. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
  277. package/dist/esm/helpers/normalizeValueWithProperty.mjs +7 -8
  278. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  279. package/dist/esm/helpers/normalizeValueWithProperty.native.js +9 -8
  280. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  281. package/dist/esm/helpers/parseBorderShorthand.native.js +23 -56
  282. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  283. package/dist/esm/helpers/parseOutlineShorthand.native.js +10 -49
  284. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  285. package/dist/esm/helpers/resolveSafeArea.mjs +35 -97
  286. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  287. package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
  288. package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
  289. package/dist/esm/helpers/resolveVariantStyle.native.js +46 -0
  290. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
  291. package/dist/esm/helpers/splitStyleProps.mjs +27 -0
  292. package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
  293. package/dist/esm/helpers/splitStyleProps.native.js +28 -0
  294. package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
  295. package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
  296. package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
  297. package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
  298. package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
  299. package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
  300. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
  301. package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
  302. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
  303. package/dist/esm/helpers/styledDynamic.mjs +136 -0
  304. package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
  305. package/dist/esm/helpers/styledDynamic.native.js +169 -0
  306. package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
  307. package/dist/esm/helpers/tokenCategories.mjs +12 -72
  308. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  309. package/dist/esm/helpers/tokenCategories.native.js +12 -74
  310. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  311. package/dist/esm/helpers/variableValue.mjs +17 -12
  312. package/dist/esm/helpers/variableValue.mjs.map +1 -1
  313. package/dist/esm/helpers/variableValue.native.js +46 -23
  314. package/dist/esm/helpers/variableValue.native.js.map +1 -1
  315. package/dist/esm/helpers/warnOnce.mjs +5 -4
  316. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  317. package/dist/esm/helpers/warnOnce.native.js +6 -4
  318. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  319. package/dist/esm/hooks/useAnimationDriver.mjs +2 -2
  320. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
  321. package/dist/esm/hooks/useAnimationDriver.native.js +2 -2
  322. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
  323. package/dist/esm/hooks/useComponentState.mjs +41 -82
  324. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  325. package/dist/esm/hooks/useComponentState.native.js +45 -84
  326. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  327. package/dist/esm/hooks/useMedia.mjs +2 -2
  328. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  329. package/dist/esm/hooks/useMedia.native.js +2 -2
  330. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  331. package/dist/esm/hooks/useSplitStyles.mjs +2 -2
  332. package/dist/esm/hooks/useSplitStyles.mjs.map +1 -1
  333. package/dist/esm/hooks/useSplitStyles.native.js +2 -2
  334. package/dist/esm/hooks/useSplitStyles.native.js.map +1 -1
  335. package/dist/esm/hooks/useStyle.mjs +11 -0
  336. package/dist/esm/hooks/useStyle.mjs.map +1 -0
  337. package/dist/esm/hooks/useStyle.native.js +11 -0
  338. package/dist/esm/hooks/useStyle.native.js.map +1 -0
  339. package/dist/esm/hooks/useThemeState.mjs +25 -90
  340. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  341. package/dist/esm/hooks/useThemeState.native.js +34 -94
  342. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  343. package/dist/esm/index.js +8 -8
  344. package/dist/esm/index.mjs +8 -8
  345. package/dist/esm/index.native.js +8 -8
  346. package/dist/esm/internal-runtime.mjs +8 -7
  347. package/dist/esm/internal-runtime.mjs.map +1 -1
  348. package/dist/esm/internal-runtime.native.js +8 -7
  349. package/dist/esm/internal-runtime.native.js.map +1 -1
  350. package/dist/esm/static-resolve.mjs +11 -9
  351. package/dist/esm/static-resolve.mjs.map +1 -1
  352. package/dist/esm/static-resolve.native.js +11 -9
  353. package/dist/esm/static-resolve.native.js.map +1 -1
  354. package/dist/esm/style.mjs +58 -0
  355. package/dist/esm/style.mjs.map +1 -0
  356. package/dist/esm/style.native.js +63 -0
  357. package/dist/esm/style.native.js.map +1 -0
  358. package/dist/esm/styled.mjs +17 -62
  359. package/dist/esm/styled.mjs.map +1 -1
  360. package/dist/esm/styled.native.js +17 -64
  361. package/dist/esm/styled.native.js.map +1 -1
  362. package/dist/esm/types.mjs +3 -21
  363. package/dist/esm/types.mjs.map +1 -1
  364. package/dist/esm/types.native.js +3 -21
  365. package/dist/esm/types.native.js.map +1 -1
  366. package/dist/esm/views/TamaguiProvider.mjs +1 -2
  367. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  368. package/dist/esm/views/TamaguiProvider.native.js +1 -2
  369. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  370. package/dist/esm/views/Text.mjs +21 -14
  371. package/dist/esm/views/Text.mjs.map +1 -1
  372. package/dist/esm/views/Text.native.js +4 -2
  373. package/dist/esm/views/Text.native.js.map +1 -1
  374. package/dist/esm/views/Theme.mjs +2 -2
  375. package/dist/esm/views/Theme.mjs.map +1 -1
  376. package/dist/esm/views/Theme.native.js +2 -2
  377. package/dist/esm/views/Theme.native.js.map +1 -1
  378. package/dist/esm/views/ThemeDebug.mjs +1 -4
  379. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  380. package/dist/esm/views/View.mjs +4 -2
  381. package/dist/esm/views/View.mjs.map +1 -1
  382. package/dist/esm/views/View.native.js +4 -2
  383. package/dist/esm/views/View.native.js.map +1 -1
  384. package/package.json +15 -15
  385. package/src/config.ts +1 -1
  386. package/src/createComponent.tsx +62 -31
  387. package/src/createStyledHOC.tsx +56 -9
  388. package/src/createTokens.ts +1 -1
  389. package/src/createVariable.ts +0 -10
  390. package/src/dom/html.tsx +778 -877
  391. package/src/dom/htmlRuntime.native.tsx +7 -3
  392. package/src/dom/primitives.native.tsx +30 -39
  393. package/src/helpers/borderComponents.ts +62 -0
  394. package/src/helpers/componentDisplayName.ts +0 -11
  395. package/src/helpers/createDesignSystem.ts +0 -2
  396. package/src/helpers/createStyledContext.tsx +15 -53
  397. package/src/helpers/formatDiagnostic.ts +11 -13
  398. package/src/helpers/getCSSStylesAtomic.native.ts +6 -3
  399. package/src/helpers/getCSSStylesAtomic.ts +197 -206
  400. package/src/helpers/getCSSStylesAtomicCompiled.ts +13 -1
  401. package/src/helpers/getDynamicVal.ts +4 -0
  402. package/src/helpers/getSplitStyles.tsx +2058 -4052
  403. package/src/helpers/grammarConfig.ts +218 -1
  404. package/src/helpers/insertStyleRule.tsx +4 -2
  405. package/src/helpers/log.ts +12 -11
  406. package/src/helpers/mergeVariants.ts +55 -18
  407. package/src/helpers/nativeOnlyProps.ts +0 -1
  408. package/src/helpers/nativeStyleEngine.ts +55 -14
  409. package/src/helpers/normalizeValueWithProperty.ts +10 -12
  410. package/src/helpers/parseBorderShorthand.native.ts +23 -45
  411. package/src/helpers/parseOutlineShorthand.native.ts +9 -40
  412. package/src/helpers/resolveSafeArea.ts +34 -101
  413. package/src/helpers/resolveVariantStyle.ts +77 -0
  414. package/src/helpers/splitStyleProps.ts +166 -0
  415. package/src/helpers/styleFrontend.ts +16 -9
  416. package/src/helpers/styleStaticConfig.ts +21 -0
  417. package/src/helpers/styleStaticConfigCore.ts +110 -0
  418. package/src/helpers/styledDynamic.ts +191 -0
  419. package/src/helpers/tokenCategories.ts +32 -88
  420. package/src/helpers/variableValue.ts +20 -15
  421. package/src/helpers/warnOnce.ts +5 -4
  422. package/src/hooks/useAnimationDriver.ts +6 -2
  423. package/src/hooks/useComponentState.ts +55 -183
  424. package/src/hooks/useMedia.tsx +10 -8
  425. package/src/hooks/useSplitStyles.tsx +17 -2
  426. package/src/hooks/useStyle.ts +10 -0
  427. package/src/hooks/useTheme.tsx +1 -1
  428. package/src/hooks/useThemeState.ts +51 -264
  429. package/src/index.ts +14 -10
  430. package/src/internal-runtime.ts +10 -9
  431. package/src/internalRuntimeTypes.ts +1 -0
  432. package/src/static-resolve.ts +25 -18
  433. package/src/style.ts +97 -0
  434. package/src/styled.tsx +46 -332
  435. package/src/types.tsx +107 -192
  436. package/src/views/TamaguiProvider.tsx +0 -2
  437. package/src/views/Text.tsx +26 -21
  438. package/src/views/Theme.tsx +10 -8
  439. package/src/views/ThemeDebug.tsx +0 -1
  440. package/src/views/View.tsx +6 -7
  441. package/types/createComponent.d.ts.map +1 -1
  442. package/types/createStyledHOC.d.ts.map +1 -1
  443. package/types/createVariable.d.ts +0 -2
  444. package/types/createVariable.d.ts.map +1 -1
  445. package/types/dom/html.d.ts.map +1 -1
  446. package/types/dom/htmlRuntime.native.d.ts.map +1 -1
  447. package/types/dom/primitives.native.d.ts.map +1 -1
  448. package/types/helpers/borderComponents.d.ts +10 -0
  449. package/types/helpers/borderComponents.d.ts.map +1 -0
  450. package/types/helpers/componentDisplayName.d.ts +0 -3
  451. package/types/helpers/componentDisplayName.d.ts.map +1 -1
  452. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  453. package/types/helpers/createStyledContext.d.ts.map +1 -1
  454. package/types/helpers/formatDiagnostic.d.ts.map +1 -1
  455. package/types/helpers/getCSSStylesAtomic.d.ts +25 -22
  456. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  457. package/types/helpers/getCSSStylesAtomic.native.d.ts +5 -0
  458. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  459. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +6 -1
  460. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -1
  461. package/types/helpers/getDynamicVal.d.ts.map +1 -1
  462. package/types/helpers/getSplitStyles.d.ts +9 -11
  463. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  464. package/types/helpers/grammarConfig.d.ts +25 -2
  465. package/types/helpers/grammarConfig.d.ts.map +1 -1
  466. package/types/helpers/insertStyleRule.d.ts +1 -0
  467. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  468. package/types/helpers/log.d.ts.map +1 -1
  469. package/types/helpers/mergeVariants.d.ts.map +1 -1
  470. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  471. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  472. package/types/helpers/nativeStyleEngine.d.ts +6 -0
  473. package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
  474. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  475. package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
  476. package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
  477. package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
  478. package/types/helpers/resolveSafeArea.d.ts +0 -1
  479. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  480. package/types/helpers/resolveVariantStyle.d.ts +3 -0
  481. package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
  482. package/types/helpers/splitStyleProps.d.ts +44 -0
  483. package/types/helpers/splitStyleProps.d.ts.map +1 -0
  484. package/types/helpers/styleFrontend.d.ts +7 -9
  485. package/types/helpers/styleFrontend.d.ts.map +1 -1
  486. package/types/helpers/styleStaticConfig.d.ts +14 -0
  487. package/types/helpers/styleStaticConfig.d.ts.map +1 -0
  488. package/types/helpers/styleStaticConfigCore.d.ts +4 -0
  489. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
  490. package/types/helpers/styledDynamic.d.ts +18 -0
  491. package/types/helpers/styledDynamic.d.ts.map +1 -0
  492. package/types/helpers/tokenCategories.d.ts +0 -1
  493. package/types/helpers/tokenCategories.d.ts.map +1 -1
  494. package/types/helpers/variableValue.d.ts.map +1 -1
  495. package/types/helpers/warnOnce.d.ts.map +1 -1
  496. package/types/helpers/webPropsToSkip.native.d.ts +68 -68
  497. package/types/hooks/useAnimationDriver.d.ts.map +1 -1
  498. package/types/hooks/useComponentState.d.ts.map +1 -1
  499. package/types/hooks/useMedia.d.ts.map +1 -1
  500. package/types/hooks/useSplitStyles.d.ts.map +1 -1
  501. package/types/hooks/useStyle.d.ts +4 -0
  502. package/types/hooks/useStyle.d.ts.map +1 -0
  503. package/types/hooks/useThemeState.d.ts +1 -11
  504. package/types/hooks/useThemeState.d.ts.map +1 -1
  505. package/types/index.d.ts +8 -8
  506. package/types/index.d.ts.map +1 -1
  507. package/types/internal-runtime.d.ts.map +1 -1
  508. package/types/internalRuntimeTypes.d.ts +1 -1
  509. package/types/internalRuntimeTypes.d.ts.map +1 -1
  510. package/types/static-resolve.d.ts +2 -2
  511. package/types/static-resolve.d.ts.map +1 -1
  512. package/types/style.d.ts +18 -0
  513. package/types/style.d.ts.map +1 -0
  514. package/types/styled.d.ts +12 -48
  515. package/types/styled.d.ts.map +1 -1
  516. package/types/types.d.ts +75 -60
  517. package/types/types.d.ts.map +1 -1
  518. package/types/views/TamaguiProvider.d.ts +1 -1
  519. package/types/views/TamaguiProvider.d.ts.map +1 -1
  520. package/types/views/Text.d.ts.map +1 -1
  521. package/types/views/Theme.d.ts.map +1 -1
  522. package/types/views/ThemeDebug.d.ts.map +1 -1
  523. package/types/views/View.d.ts.map +1 -1
  524. package/dist/cjs/helpers/directStyleCSS.cjs +0 -348
  525. package/dist/cjs/helpers/directStyleCSS.native.cjs +0 -20
  526. package/dist/cjs/helpers/directStyleCSS.native.js.map +0 -1
  527. package/dist/cjs/helpers/directStyleCSSCompiled.cjs +0 -40
  528. package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +0 -46
  529. package/dist/cjs/helpers/directStyleCSSCompiled.native.js +0 -48
  530. package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +0 -1
  531. package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
  532. package/dist/cjs/helpers/getVariantExtras.cjs +0 -91
  533. package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -94
  534. package/dist/cjs/helpers/getVariantExtras.native.js +0 -96
  535. package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
  536. package/dist/cjs/helpers/themeable.cjs +0 -92
  537. package/dist/cjs/helpers/themeable.native.cjs +0 -95
  538. package/dist/cjs/helpers/themeable.native.js +0 -97
  539. package/dist/cjs/helpers/themeable.native.js.map +0 -1
  540. package/dist/cjs/hooks/useProps.cjs +0 -129
  541. package/dist/cjs/hooks/useProps.native.cjs +0 -135
  542. package/dist/cjs/hooks/useProps.native.js +0 -137
  543. package/dist/cjs/hooks/useProps.native.js.map +0 -1
  544. package/dist/esm/helpers/directStyleCSS.mjs +0 -320
  545. package/dist/esm/helpers/directStyleCSS.mjs.map +0 -1
  546. package/dist/esm/helpers/directStyleCSS.native.js +0 -1
  547. package/dist/esm/helpers/directStyleCSSCompiled.mjs +0 -11
  548. package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +0 -1
  549. package/dist/esm/helpers/directStyleCSSCompiled.native.js +0 -15
  550. package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +0 -1
  551. package/dist/esm/helpers/getDefaultProps.mjs +0 -4
  552. package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
  553. package/dist/esm/helpers/getDefaultProps.native.js +0 -6
  554. package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
  555. package/dist/esm/helpers/getVariantExtras.mjs +0 -69
  556. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  557. package/dist/esm/helpers/getVariantExtras.native.js +0 -70
  558. package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
  559. package/dist/esm/helpers/themeable.mjs +0 -67
  560. package/dist/esm/helpers/themeable.mjs.map +0 -1
  561. package/dist/esm/helpers/themeable.native.js +0 -68
  562. package/dist/esm/helpers/themeable.native.js.map +0 -1
  563. package/dist/esm/hooks/useProps.mjs +0 -100
  564. package/dist/esm/hooks/useProps.mjs.map +0 -1
  565. package/dist/esm/hooks/useProps.native.js +0 -104
  566. package/dist/esm/hooks/useProps.native.js.map +0 -1
  567. package/src/helpers/directStyleCSS.native.ts +0 -1
  568. package/src/helpers/directStyleCSS.ts +0 -534
  569. package/src/helpers/directStyleCSSCompiled.ts +0 -32
  570. package/src/helpers/getDefaultProps.ts +0 -3
  571. package/src/helpers/getVariantExtras.tsx +0 -95
  572. package/src/helpers/themeable.tsx +0 -96
  573. package/src/hooks/useProps.tsx +0 -186
  574. package/types/helpers/directStyleCSS.d.ts +0 -28
  575. package/types/helpers/directStyleCSS.d.ts.map +0 -1
  576. package/types/helpers/directStyleCSS.native.d.ts +0 -2
  577. package/types/helpers/directStyleCSS.native.d.ts.map +0 -1
  578. package/types/helpers/directStyleCSSCompiled.d.ts +0 -10
  579. package/types/helpers/directStyleCSSCompiled.d.ts.map +0 -1
  580. package/types/helpers/getDefaultProps.d.ts +0 -3
  581. package/types/helpers/getDefaultProps.d.ts.map +0 -1
  582. package/types/helpers/getVariantExtras.d.ts +0 -4
  583. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  584. package/types/helpers/themeable.d.ts +0 -3
  585. package/types/helpers/themeable.d.ts.map +0 -1
  586. package/types/hooks/useProps.d.ts +0 -39
  587. package/types/hooks/useProps.d.ts.map +0 -1
@@ -1,6 +1,12 @@
1
+ import { platformMatches } from "@tamagui/constants";
1
2
  import { simpleHash } from "@tamagui/helpers";
2
- import { compileModifierVocabulary, configRevisionSymbol } from "@tamagui/style-grammar/runtime";
3
+ import { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from "@tamagui/style-grammar/runtime";
4
+ import { classifyBorderComponents, splitComponents } from "./borderComponents.mjs";
3
5
  import { mediaObjectToString } from "./mediaObjectToString.mjs";
6
+ import { getTokenCategoryForProperty } from "./tokenCategories.mjs";
7
+ import { expandSafeAreaValue } from "./resolveSafeArea.mjs";
8
+ import { resolveSafeAreaVariable } from "./resolveSafeAreaVariable.mjs";
9
+ import { resolveStyleStaticConfig } from "./styleStaticConfigCore.mjs";
4
10
 
5
11
  function prepareConfigRevision(config) {
6
12
  const target = config;
@@ -30,10 +36,166 @@ function prepareConfigRevision(config) {
30
36
  for (const name of mediaNames) {
31
37
  mediaQueries[name] = mediaObjectToString(media[name]);
32
38
  }
39
+ const conditionModifiers = /* @__PURE__ */ Object.create(null);
40
+ for (const name in modifiers) {
41
+ const code = modifiers[name];
42
+ const kind = code & 7;
43
+ const rank = code >> 3;
44
+ conditionModifiers[name] = kind === modifierKindState ? [
45
+ canonicalStateModifierNames[rank],
46
+ kind,
47
+ rank,
48
+ stateModifierSelectors[rank]
49
+ ] : kind === modifierKindMedia ? [
50
+ name,
51
+ kind,
52
+ rank,
53
+ mediaQueries[name]
54
+ ] : kind === modifierKindPlatform ? [
55
+ name,
56
+ kind,
57
+ rank,
58
+ void 0,
59
+ void 0,
60
+ void 0,
61
+ platformMatches(name)
62
+ ] : [
63
+ name,
64
+ kind,
65
+ rank
66
+ ];
67
+ }
68
+ const resolveCondition = (authored) => {
69
+ const cached = conditionModifiers[authored];
70
+ if (cached !== void 0) return cached;
71
+ let result = null;
72
+ if (authored.startsWith("group-")) {
73
+ const slash = authored.indexOf("/");
74
+ const state = authored.slice(6, slash === -1 ? void 0 : slash);
75
+ const code = modifiers[state] || 0;
76
+ const rank = code >> 3;
77
+ const groupName = slash === -1 ? "true" : authored.slice(slash + 1);
78
+ if ((code & 7) === modifierKindState && rank !== 6 && rank !== 7 && (slash === -1 || /^[\w-]+$/.test(groupName))) {
79
+ result = [
80
+ `group-${canonicalStateModifierNames[rank]}${slash === -1 ? "" : authored.slice(slash)}`,
81
+ 5,
82
+ rank,
83
+ stateModifierSelectors[rank],
84
+ groupName,
85
+ canonicalStateModifierNames[rank]
86
+ ];
87
+ }
88
+ } else if (authored.charCodeAt(0) === 64) {
89
+ const slash = authored.indexOf("/");
90
+ const size = authored.slice(1, slash === -1 ? void 0 : slash);
91
+ const containerName = slash === -1 ? "" : authored.slice(slash + 1);
92
+ const code = modifiers[size] || 0;
93
+ const query = mediaQueries[size];
94
+ if (/^[\w-]+$/.test(size) && (slash === -1 || /^[\w-]+$/.test(containerName)) && (code & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {
95
+ result = [
96
+ authored,
97
+ 6,
98
+ code >> 3,
99
+ query,
100
+ size,
101
+ containerName
102
+ ];
103
+ }
104
+ }
105
+ return conditionModifiers[authored] = result;
106
+ };
107
+ const propertyKinds = {
108
+ shadowColor: 1,
109
+ shadowOffset: 2,
110
+ shadowOpacity: 3,
111
+ shadowRadius: 4,
112
+ matrix: 5,
113
+ perspective: 5,
114
+ rotateX: 5,
115
+ rotateY: 5,
116
+ rotateZ: 5,
117
+ scaleZ: 5,
118
+ skewX: 5,
119
+ skewY: 5,
120
+ textShadowColor: 6,
121
+ textShadowOffset: 6,
122
+ textShadowRadius: 6,
123
+ border: 7,
124
+ borderTop: 7,
125
+ borderRight: 7,
126
+ borderBottom: 7,
127
+ borderLeft: 7,
128
+ borderBlock: 7,
129
+ borderInline: 7,
130
+ outline: 7,
131
+ padding: 8,
132
+ paddingBlock: 8,
133
+ paddingInline: 8,
134
+ margin: 8,
135
+ marginBlock: 8,
136
+ marginInline: 8,
137
+ inset: 8,
138
+ insetBlock: 8,
139
+ insetInline: 8,
140
+ borderRadius: 8
141
+ };
142
+ const propertyKind = (property) => propertyKinds[property] || 0;
143
+ const normalizedTransitions = /* @__PURE__ */ new Map();
33
144
  const next = {
34
145
  revision: captured.revision,
35
146
  modifiers,
36
- mediaQueries
147
+ mediaQueries,
148
+ resolveCondition,
149
+ tokenCategory: getTokenCategoryForProperty,
150
+ expandSafeArea: expandSafeAreaValue,
151
+ safeAreaVariable: resolveSafeAreaVariable,
152
+ parseFlatValue,
153
+ styleStaticConfig: (staticConfig, conf) => resolveStyleStaticConfig(staticConfig, conf, captured.revision),
154
+ propertyKind,
155
+ compositeValue: (property, raw, context, resolve) => {
156
+ const kind = propertyKinds[property];
157
+ if (kind < 7) return;
158
+ if (kind === 7) {
159
+ const { width, style, color } = classifyBorderComponents(raw, property === "outline");
160
+ if (style === "none" && !color) return "none";
161
+ const prefix = property === "outline" ? "outline" : "border";
162
+ return [
163
+ width && resolve(context, `${prefix}Width`, width),
164
+ style,
165
+ color && resolve(context, `${prefix}Color`, color)
166
+ ].filter(Boolean).join(" ");
167
+ }
168
+ if (!/\s/.test(raw)) return;
169
+ const parts = splitComponents(raw);
170
+ if (parts.length > 1) {
171
+ let value = "";
172
+ for (const part of parts) {
173
+ value += `${value ? " " : ""}${resolve(context, property, part)}`;
174
+ }
175
+ return value;
176
+ }
177
+ },
178
+ normalizeTransition: (raw) => {
179
+ const known = normalizedTransitions.get(raw);
180
+ if (known !== void 0) return known;
181
+ const out = raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[A-Za-z_][\w-]*/g, (authored, quote, offset) => {
182
+ if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {
183
+ return authored;
184
+ }
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();
190
+ });
191
+ if (normalizedTransitions.size > 2048) normalizedTransitions.clear();
192
+ normalizedTransitions.set(raw, out);
193
+ return out;
194
+ },
195
+ embeddedTokens: (raw, resolve) => raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, (word, quote, offset) => {
196
+ const before = raw.charCodeAt(offset - 1);
197
+ 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
+ })
37
199
  };
38
200
  if (target[configRevisionSymbol] === captured) {
39
201
  target[configRevisionSymbol] = next;
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.js","names":[],"sources":["esm/helpers/grammarConfig.js"],"sourcesContent":["import { simpleHash } from \"@tamagui/helpers\";\nimport {\n compileModifierVocabulary,\n configRevisionSymbol\n} from \"@tamagui/style-grammar/runtime\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\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 next = {\n revision: captured.revision,\n modifiers,\n mediaQueries\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 { 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,6 +1,12 @@
1
+ import { platformMatches } from "@tamagui/constants";
1
2
  import { simpleHash } from "@tamagui/helpers";
2
- import { compileModifierVocabulary, configRevisionSymbol } from "@tamagui/style-grammar/runtime";
3
+ import { canonicalStateModifierNames, compileModifierVocabulary, configRevisionSymbol, isContainerSizeQueryText, modifierKindMedia, modifierKindPlatform, modifierKindState, parseFlatValue, stateModifierSelectors } from "@tamagui/style-grammar/runtime";
4
+ import { classifyBorderComponents, splitComponents } from "./borderComponents.native.js";
3
5
  import { mediaObjectToString } from "./mediaObjectToString.native.js";
6
+ import { getTokenCategoryForProperty } from "./tokenCategories.native.js";
7
+ import { expandSafeAreaValue } from "./resolveSafeArea.native.js";
8
+ import { resolveSafeAreaVariable } from "./resolveSafeAreaVariable.native.js";
9
+ import { resolveStyleStaticConfig } from "./styleStaticConfigCore.native.js";
4
10
 
5
11
  function prepareConfigRevision(config) {
6
12
  var target = config;
@@ -47,10 +53,189 @@ function prepareConfigRevision(config) {
47
53
  }
48
54
  }
49
55
  }
56
+ var conditionModifiers = /* @__PURE__ */ Object.create(null);
57
+ for (var name1 in modifiers) {
58
+ var code = modifiers[name1];
59
+ var kind = code & 7;
60
+ var rank = code >> 3;
61
+ conditionModifiers[name1] = kind === modifierKindState ? [
62
+ canonicalStateModifierNames[rank],
63
+ kind,
64
+ rank,
65
+ stateModifierSelectors[rank]
66
+ ] : kind === modifierKindMedia ? [
67
+ name1,
68
+ kind,
69
+ rank,
70
+ mediaQueries[name1]
71
+ ] : kind === modifierKindPlatform ? [
72
+ name1,
73
+ kind,
74
+ rank,
75
+ void 0,
76
+ void 0,
77
+ void 0,
78
+ platformMatches(name1)
79
+ ] : [
80
+ name1,
81
+ kind,
82
+ rank
83
+ ];
84
+ }
85
+ var resolveCondition = function(authored) {
86
+ var cached = conditionModifiers[authored];
87
+ if (cached !== void 0) return cached;
88
+ var result = null;
89
+ if (authored.startsWith("group-")) {
90
+ var slash = authored.indexOf("/");
91
+ var state = authored.slice(6, slash === -1 ? void 0 : slash);
92
+ var code2 = modifiers[state] || 0;
93
+ var rank2 = code2 >> 3;
94
+ var groupName = slash === -1 ? "true" : authored.slice(slash + 1);
95
+ if ((code2 & 7) === modifierKindState && rank2 !== 6 && rank2 !== 7 && (slash === -1 || /^[\w-]+$/.test(groupName))) {
96
+ result = [
97
+ `group-${canonicalStateModifierNames[rank2]}${slash === -1 ? "" : authored.slice(slash)}`,
98
+ 5,
99
+ rank2,
100
+ stateModifierSelectors[rank2],
101
+ groupName,
102
+ canonicalStateModifierNames[rank2]
103
+ ];
104
+ }
105
+ } else if (authored.charCodeAt(0) === 64) {
106
+ var slash1 = authored.indexOf("/");
107
+ var size = authored.slice(1, slash1 === -1 ? void 0 : slash1);
108
+ var containerName = slash1 === -1 ? "" : authored.slice(slash1 + 1);
109
+ var code1 = modifiers[size] || 0;
110
+ var query = mediaQueries[size];
111
+ if (/^[\w-]+$/.test(size) && (slash1 === -1 || /^[\w-]+$/.test(containerName)) && (code1 & 7) === modifierKindMedia && isContainerSizeQueryText(query)) {
112
+ result = [
113
+ authored,
114
+ 6,
115
+ code1 >> 3,
116
+ query,
117
+ size,
118
+ containerName
119
+ ];
120
+ }
121
+ }
122
+ return conditionModifiers[authored] = result;
123
+ };
124
+ var propertyKinds = {
125
+ shadowColor: 1,
126
+ shadowOffset: 2,
127
+ shadowOpacity: 3,
128
+ shadowRadius: 4,
129
+ matrix: 5,
130
+ perspective: 5,
131
+ rotateX: 5,
132
+ rotateY: 5,
133
+ rotateZ: 5,
134
+ scaleZ: 5,
135
+ skewX: 5,
136
+ skewY: 5,
137
+ textShadowColor: 6,
138
+ textShadowOffset: 6,
139
+ textShadowRadius: 6,
140
+ border: 7,
141
+ borderTop: 7,
142
+ borderRight: 7,
143
+ borderBottom: 7,
144
+ borderLeft: 7,
145
+ borderBlock: 7,
146
+ borderInline: 7,
147
+ outline: 7,
148
+ padding: 8,
149
+ paddingBlock: 8,
150
+ paddingInline: 8,
151
+ margin: 8,
152
+ marginBlock: 8,
153
+ marginInline: 8,
154
+ inset: 8,
155
+ insetBlock: 8,
156
+ insetInline: 8,
157
+ borderRadius: 8
158
+ };
159
+ var propertyKind = function(property) {
160
+ return propertyKinds[property] || 0;
161
+ };
162
+ var normalizedTransitions = /* @__PURE__ */ new Map();
50
163
  var next = {
51
164
  revision: captured.revision,
52
165
  modifiers,
53
- mediaQueries
166
+ mediaQueries,
167
+ resolveCondition,
168
+ tokenCategory: getTokenCategoryForProperty,
169
+ expandSafeArea: expandSafeAreaValue,
170
+ safeAreaVariable: resolveSafeAreaVariable,
171
+ parseFlatValue,
172
+ styleStaticConfig: function(staticConfig, conf) {
173
+ return resolveStyleStaticConfig(staticConfig, conf, captured.revision);
174
+ },
175
+ propertyKind,
176
+ compositeValue: function(property, raw, context, resolve) {
177
+ var kind2 = propertyKinds[property];
178
+ if (kind2 < 7) return;
179
+ if (kind2 === 7) {
180
+ var { width, style, color } = classifyBorderComponents(raw, property === "outline");
181
+ if (style === "none" && !color) return "none";
182
+ var prefix = property === "outline" ? "outline" : "border";
183
+ return [
184
+ width && resolve(context, `${prefix}Width`, width),
185
+ style,
186
+ color && resolve(context, `${prefix}Color`, color)
187
+ ].filter(Boolean).join(" ");
188
+ }
189
+ if (!/\s/.test(raw)) return;
190
+ var parts = splitComponents(raw);
191
+ if (parts.length > 1) {
192
+ var value = "";
193
+ var _iteratorNormalCompletion2 = true, _didIteratorError2 = false, _iteratorError2 = void 0;
194
+ try {
195
+ for (var _iterator2 = parts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
196
+ var part = _step2.value;
197
+ value += `${value ? " " : ""}${resolve(context, property, part)}`;
198
+ }
199
+ } catch (err) {
200
+ _didIteratorError2 = true;
201
+ _iteratorError2 = err;
202
+ } finally {
203
+ try {
204
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
205
+ _iterator2.return();
206
+ }
207
+ } finally {
208
+ if (_didIteratorError2) {
209
+ throw _iteratorError2;
210
+ }
211
+ }
212
+ }
213
+ return value;
214
+ }
215
+ },
216
+ normalizeTransition: function(raw) {
217
+ var known = normalizedTransitions.get(raw);
218
+ if (known !== void 0) return known;
219
+ var out = raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[A-Za-z_][\w-]*/g, function(authored, quote, offset) {
220
+ if (quote || raw.charCodeAt(offset + authored.length) === 40 || raw.charCodeAt(offset - 1) === 45 && raw.charCodeAt(offset - 2) === 45) {
221
+ return authored;
222
+ }
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();
228
+ });
229
+ if (normalizedTransitions.size > 2048) normalizedTransitions.clear();
230
+ normalizedTransitions.set(raw, out);
231
+ return out;
232
+ },
233
+ embeddedTokens: function(raw, resolve) {
234
+ return raw.replace(/\/\*[\s\S]*?\*\/|(["'])(?:\\.|(?!\1)[^\\])*\1|[$A-Za-z_][\w.$-]*(?:\/\d+)?/g, function(word, quote, offset) {
235
+ var before = raw.charCodeAt(offset - 1);
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
+ });
238
+ }
54
239
  };
55
240
  if (target[configRevisionSymbol] === captured) {
56
241
  target[configRevisionSymbol] = next;
@@ -1 +1 @@
1
- {"version":3,"file":"grammarConfig.native.js","names":[],"sources":["esm/helpers/grammarConfig.native.js"],"sourcesContent":["import { simpleHash } from \"@tamagui/helpers\";\nimport { compileModifierVocabulary, configRevisionSymbol } from \"@tamagui/style-grammar/runtime\";\nimport { mediaObjectToString } from \"./mediaObjectToString\";\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 next = {\n revision: captured.revision,\n modifiers,\n mediaQueries\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 { 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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"}
@@ -6,7 +6,9 @@ const scannedCache = /* @__PURE__ */ new WeakMap();
6
6
  const totalSelectorsInserted = /* @__PURE__ */ new Map();
7
7
  const allSelectors = {};
8
8
  const allRules = {};
9
+ const allRuleSets = {};
9
10
  const getAllSelectors = () => allSelectors;
11
+ const getRulesForIdentifier = (identifier) => allRuleSets[identifier];
10
12
  let sortedRules = [];
11
13
  let sortedRulesStale = true;
12
14
  const getAllRules = () => {
@@ -207,6 +209,7 @@ function stopAccumulatingRules() {
207
209
  function updateRules(identifier, rules) {
208
210
  if (!process.env.TAMAGUI_DID_OUTPUT_CSS && trackAllRules) {
209
211
  allRules[identifier] = rules.join(" ");
212
+ allRuleSets[identifier] = rules;
210
213
  sortedRulesStale = true;
211
214
  }
212
215
  return true;
@@ -241,7 +244,7 @@ function insertStyleRules(rulesToInsert) {
241
244
  try {
242
245
  for (const rule of rules) sheet.insertRule(rule, sheet.cssRules.length);
243
246
  } catch (err) {
244
- if (process.env.NODE_ENV === "production") {
247
+ if (process.env.NODE_ENV === "development") {
245
248
  const rule = rules[0] || "";
246
249
  const selectorEnd = rule.indexOf("{");
247
250
  const owner = "ownerNode" in sheet ? sheet.ownerNode : null;
@@ -264,5 +267,5 @@ function shouldInsertStyleRules(identifier) {
264
267
  return total < maxToInsert;
265
268
  }
266
269
 
267
- export { getAllRules, getAllSelectors, getThemeNameFromSelector, insertStyleRules, scanAllSheets, setNonce, shouldInsertStyleRules, stopAccumulatingRules, updateRules, wrapStyleRules };
270
+ export { getAllRules, getAllSelectors, getRulesForIdentifier, getThemeNameFromSelector, insertStyleRules, scanAllSheets, setNonce, shouldInsertStyleRules, stopAccumulatingRules, updateRules, wrapStyleRules };
268
271
  //# sourceMappingURL=insertStyleRule.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertStyleRule.js","names":[],"sources":["esm/helpers/insertStyleRule.js"],"sourcesContent":["import { StyleObjectIdentifier, StyleObjectRules } from \"@tamagui/helpers\";\nimport { createVariable } from \"../createVariable\";\nimport { formatDiagnostic } from \"./formatDiagnostic\";\n\nconst scannedCache = /* @__PURE__ */ new WeakMap();\nconst totalSelectorsInserted = /* @__PURE__ */ new Map();\nconst allSelectors = {};\nconst allRules = {};\nconst getAllSelectors = () => allSelectors;\nlet sortedRules = [];\nlet sortedRulesStale = true;\nconst getAllRules = () => {\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n\t\tif (sortedRulesStale) {\n\t\t\tsortedRules = Object.keys(allRules).sort().map((key) => allRules[key]);\n\t\t\tsortedRulesStale = false;\n\t\t}\n\t\treturn sortedRules;\n\t}\n\treturn [];\n};\nfunction wrapStyleRules(css) {\n\tconst layer = process.env.TAMAGUI_CSS_LAYER;\n\treturn layer && css ? `@layer ${layer} {\n${css}\n}` : css;\n}\nlet lastScannedSheets = null;\nfunction scanAllSheets(collectThemes = false, tokens) {\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS || collectThemes) {\n\t\tif (process.env.NODE_ENV === \"test\") return;\n\t\tif (typeof document === \"undefined\") return;\n\t\tlet themes;\n\t\tconst sheets = document.styleSheets || [];\n\t\tconst prev = lastScannedSheets;\n\t\tconst current = new Set(sheets);\n\t\tfor (const sheet2 of current) if (sheet2) {\n\t\t\tconst out = updateSheetStyles(sheet2, false, collectThemes, tokens);\n\t\t\tif (out) themes = out;\n\t\t}\n\t\tlastScannedSheets = current;\n\t\tif (prev) {\n\t\t\tfor (const sheet2 of prev) if (sheet2 && !current.has(sheet2)) updateSheetStyles(sheet2, true);\n\t\t}\n\t\treturn themes;\n\t}\n}\nfunction trackInsertedStyle(id) {\n\tconst next = (totalSelectorsInserted.get(id) || 0) + 1;\n\ttotalSelectorsInserted.set(id, next);\n\treturn next;\n}\nconst bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES;\nconst bailAfter = bailAfterEnv ? +bailAfterEnv : 8e3;\nfunction updateSheetStyles(sheet2, remove = false, collectThemes = false, tokens) {\n\tlet rules;\n\ttry {\n\t\tif (!sheet2.cssRules) return;\n\t\trules = flattenCSSRules(sheet2.cssRules);\n\t} catch {\n\t\treturn;\n\t}\n\tconst firstSelector = getTamaguiSelector(rules[0], collectThemes)?.[0];\n\tconst lastSelector = getTamaguiSelector(rules[rules.length - 1], collectThemes)?.[0];\n\tconst cacheKey = `${rules.length}${firstSelector}${lastSelector}`;\n\tconst lastScanned = scannedCache.get(sheet2);\n\tif (!remove) {\n\t\tif (lastScanned === cacheKey) return;\n\t}\n\tconst len = rules.length;\n\tlet fails = 0;\n\tlet dedupedThemes;\n\tconst nameToTheme = {};\n\tfor (let i = 0; i < len; i++) {\n\t\tconst rule = rules[i];\n\t\tif (!(rule instanceof CSSStyleRule)) continue;\n\t\tconst response = getTamaguiSelector(rule, collectThemes);\n\t\tif (response) fails = 0;\n\t\telse {\n\t\t\tfails++;\n\t\t\tif (fails > bailAfter) return;\n\t\t\tcontinue;\n\t\t}\n\t\tconst [identifier, cssRule, isTheme] = response;\n\t\tif (isTheme) {\n\t\t\tconst deduped = addThemesFromCSS(cssRule, tokens);\n\t\t\tif (deduped) {\n\t\t\t\tfor (const name of deduped.names) if (nameToTheme[name]) {\n\t\t\t\t\tObject.apply(nameToTheme[name], deduped.theme);\n\t\t\t\t\tdeduped.names = deduped.names.filter((x) => x !== name);\n\t\t\t\t} else nameToTheme[name] = deduped.theme;\n\t\t\t\tdedupedThemes ||= [];\n\t\t\t\tdedupedThemes.push(deduped);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t}\n\tscannedCache.set(sheet2, cacheKey);\n\treturn dedupedThemes;\n}\nfunction flattenCSSRules(rules, output = []) {\n\tfor (let index = 0; index < rules.length; index++) {\n\t\tconst rule = rules[index];\n\t\tif (rule instanceof CSSStyleRule) {\n\t\t\toutput.push(rule);\n\t\t\tcontinue;\n\t\t}\n\t\tif (\"cssRules\" in rule) {\n\t\t\tconst nested = rule.cssRules;\n\t\t\tif (nested) flattenCSSRules(nested, output);\n\t\t}\n\t}\n\treturn output;\n}\nlet colorVarToVal;\nlet rootComputedStyle = null;\nfunction addThemesFromCSS(cssStyleRule, tokens) {\n\tconst selectors = cssStyleRule.selectorText.split(\",\");\n\tif (!selectors.length) return;\n\tif (tokens?.color && !colorVarToVal) {\n\t\tcolorVarToVal = {};\n\t\tfor (const key in tokens.color) {\n\t\t\tconst token = tokens.color[key];\n\t\t\tif (token) colorVarToVal[token.name] = token.val;\n\t\t}\n\t}\n\tconst rules = (cssStyleRule.cssText || \"\").slice(cssStyleRule.selectorText.length + 2, -1).split(\";\");\n\tconst values = {};\n\tfor (const rule of rules) {\n\t\tconst sepI = rule.indexOf(\":\");\n\t\tif (sepI === -1) continue;\n\t\tconst varIndex = rule.indexOf(\"--\");\n\t\tlet key = rule.slice(varIndex === -1 ? 0 : varIndex + 2, sepI);\n\t\tif (process.env.TAMAGUI_CSS_VARIABLE_PREFIX) key = key.replace(process.env.TAMAGUI_CSS_VARIABLE_PREFIX, \"\");\n\t\tconst val = rule.slice(sepI + 2);\n\t\tlet value;\n\t\tif (val[0] === \"v\" && val.startsWith(\"var(\")) {\n\t\t\tconst varName = val.slice(6, -1);\n\t\t\tconst tokenVal = colorVarToVal?.[varName];\n\t\t\tif (tokenVal) value = tokenVal;\n\t\t\telse {\n\t\t\t\trootComputedStyle ||= getComputedStyle(document.body);\n\t\t\t\tvalue = rootComputedStyle.getPropertyValue(\"--\" + varName);\n\t\t\t}\n\t\t} else value = val;\n\t\tvalues[key] = createVariable({\n\t\t\tkey,\n\t\t\tname: key,\n\t\t\tval: value\n\t\t}, true);\n\t}\n\tconst names = /* @__PURE__ */ new Set();\n\tfor (const selector of selectors) {\n\t\tconst themeName = getThemeNameFromSelector(selector);\n\t\tif (themeName) names.add(themeName);\n\t}\n\treturn {\n\t\tnames: [...names],\n\t\ttheme: values\n\t};\n}\nfunction getThemeNameFromSelector(selector) {\n\tif (selector === \" .tm_xxt\") return;\n\tconst lastThemeSelectorIndex = selector.lastIndexOf(\".t_\");\n\tif (lastThemeSelectorIndex === -1) return;\n\tconst name = selector.slice(lastThemeSelectorIndex + 3).match(/^[\\w-]+/)?.[0];\n\tif (!name) return;\n\tconst schemeChar = selector[lastThemeSelectorIndex - 5];\n\tconst scheme = schemeChar === \"d\" ? \"dark\" : schemeChar === \"i\" ? \"light\" : \"\";\n\tconst themeName = scheme && scheme !== name ? `${scheme}_${name}` : name;\n\tif (themeName === \"light_dark\" || themeName === \"dark_light\") return;\n\treturn themeName;\n}\nconst tamaguiSelectorRegex = /\\.tm_xxt/;\nfunction getTamaguiSelector(rule, collectThemes = false) {\n\tif (rule instanceof CSSStyleRule) {\n\t\tconst text = rule.selectorText;\n\t\tif (text[0] === \":\" && text[1] === \"r\" && tamaguiSelectorRegex.test(text)) {\n\t\t\tconst id = getIdentifierFromTamaguiSelector(text.replace(tamaguiSelectorRegex, \"\"));\n\t\t\treturn collectThemes ? [\n\t\t\t\tid,\n\t\t\t\trule,\n\t\t\t\ttrue\n\t\t\t] : [id, rule];\n\t\t}\n\t} else if (rule instanceof CSSMediaRule) {\n\t\tif (rule.cssRules.length > 1) return;\n\t\treturn getTamaguiSelector(rule.cssRules[0]);\n\t}\n}\nconst getIdentifierFromTamaguiSelector = (selector) => {\n\tconst dotIndex = selector.indexOf(\":\");\n\tif (dotIndex > -1) return selector.slice(7, dotIndex);\n\treturn selector.slice(7);\n};\nlet sheet = null;\nlet mountedProviders = 0;\nlet trackAllRules = true;\nfunction stopAccumulatingRules() {\n\tmountedProviders++;\n\ttrackAllRules = false;\n\treturn () => {\n\t\tmountedProviders--;\n\t\ttrackAllRules = mountedProviders === 0;\n\t};\n}\nfunction updateRules(identifier, rules) {\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS && trackAllRules) {\n\t\tallRules[identifier] = rules.join(\" \");\n\t\tsortedRulesStale = true;\n\t}\n\treturn true;\n}\nlet nonce = \"\";\nfunction setNonce(_) {\n\tnonce = _;\n}\nfunction insertStyleRules(rulesToInsert) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS || false) return;\n\tif (!sheet && document.head) {\n\t\tconst styleTag = document.createElement(\"style\");\n\t\tstyleTag.id = \"_tamagui-styles\";\n\t\tif (nonce) styleTag.nonce = nonce;\n\t\tconst rootSheet = document.head.appendChild(styleTag).sheet;\n\t\tconst layer = process.env.TAMAGUI_CSS_LAYER;\n\t\tif (rootSheet && layer) {\n\t\t\trootSheet.insertRule(`@layer ${layer} {}`, rootSheet.cssRules.length);\n\t\t\tconst layerRule = rootSheet.cssRules[rootSheet.cssRules.length - 1];\n\t\t\tsheet = \"cssRules\" in layerRule && \"insertRule\" in layerRule ? layerRule : rootSheet;\n\t\t} else sheet = rootSheet;\n\t}\n\tif (!sheet) return;\n\tfor (const key in rulesToInsert) {\n\t\tconst styleObject = rulesToInsert[key];\n\t\tconst identifier = styleObject[StyleObjectIdentifier];\n\t\tif (!shouldInsertStyleRules(identifier)) continue;\n\t\tconst rules = styleObject[StyleObjectRules];\n\t\tallSelectors[identifier] = rules.join(\"\\n\");\n\t\ttrackInsertedStyle(identifier);\n\t\tupdateRules(identifier, rules);\n\t\ttry {\n\t\t\tfor (const rule of rules) sheet.insertRule(rule, sheet.cssRules.length);\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV === \"production\") {\n\t\t\t\tconst rule = rules[0] || \"\";\n\t\t\t\tconst selectorEnd = rule.indexOf(\"{\");\n\t\t\t\tconst owner = \"ownerNode\" in sheet ? sheet.ownerNode : null;\n\t\t\t\tconsole.error(formatDiagnostic(\"TAMAGUI_STYLE_INSERT\", \"insertStyleRules\", \"the stylesheet rejected a generated rule\", \"Fix or remove the invalid style declaration\", \"identifier,selector,target\", {\n\t\t\t\t\tidentifier,\n\t\t\t\t\tselector: (selectorEnd === -1 ? rule : rule.slice(0, selectorEnd)).trim(),\n\t\t\t\t\ttarget: owner ? `${owner.nodeName.toLowerCase()}${owner.id ? `#${owner.id}` : \"\"}` : sheet.constructor?.name || \"CSSStyleSheet\"\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n}\nconst maxToInsert = process.env.TAMAGUI_INSERT_SELECTOR_TRIES ? +process.env.TAMAGUI_INSERT_SELECTOR_TRIES : 1;\nfunction shouldInsertStyleRules(identifier) {\n\tif (process.env.IS_STATIC === \"is_static\") return true;\n\tconst total = totalSelectorsInserted.get(identifier) || 0;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10)) console.warn(`Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the \"disableClassName\" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher`);\n\t}\n\treturn total < maxToInsert;\n}\n\nexport { getAllRules, getAllSelectors, getThemeNameFromSelector, insertStyleRules, scanAllSheets, setNonce, shouldInsertStyleRules, stopAccumulatingRules, updateRules, wrapStyleRules };"],"mappings":"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"}
1
+ {"version":3,"file":"insertStyleRule.js","names":[],"sources":["esm/helpers/insertStyleRule.js"],"sourcesContent":["import { StyleObjectIdentifier, StyleObjectRules } from \"@tamagui/helpers\";\nimport { createVariable } from \"../createVariable\";\nimport { formatDiagnostic } from \"./formatDiagnostic\";\n\nconst scannedCache = /* @__PURE__ */ new WeakMap();\nconst totalSelectorsInserted = /* @__PURE__ */ new Map();\nconst allSelectors = {};\nconst allRules = {};\nconst allRuleSets = {};\nconst getAllSelectors = () => allSelectors;\nconst getRulesForIdentifier = (identifier) => allRuleSets[identifier];\nlet sortedRules = [];\nlet sortedRulesStale = true;\nconst getAllRules = () => {\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS) {\n\t\tif (sortedRulesStale) {\n\t\t\tsortedRules = Object.keys(allRules).sort().map((key) => allRules[key]);\n\t\t\tsortedRulesStale = false;\n\t\t}\n\t\treturn sortedRules;\n\t}\n\treturn [];\n};\nfunction wrapStyleRules(css) {\n\tconst layer = process.env.TAMAGUI_CSS_LAYER;\n\treturn layer && css ? `@layer ${layer} {\n${css}\n}` : css;\n}\nlet lastScannedSheets = null;\nfunction scanAllSheets(collectThemes = false, tokens) {\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS || collectThemes) {\n\t\tif (process.env.NODE_ENV === \"test\") return;\n\t\tif (typeof document === \"undefined\") return;\n\t\tlet themes;\n\t\tconst sheets = document.styleSheets || [];\n\t\tconst prev = lastScannedSheets;\n\t\tconst current = new Set(sheets);\n\t\tfor (const sheet2 of current) if (sheet2) {\n\t\t\tconst out = updateSheetStyles(sheet2, false, collectThemes, tokens);\n\t\t\tif (out) themes = out;\n\t\t}\n\t\tlastScannedSheets = current;\n\t\tif (prev) {\n\t\t\tfor (const sheet2 of prev) if (sheet2 && !current.has(sheet2)) updateSheetStyles(sheet2, true);\n\t\t}\n\t\treturn themes;\n\t}\n}\nfunction trackInsertedStyle(id) {\n\tconst next = (totalSelectorsInserted.get(id) || 0) + 1;\n\ttotalSelectorsInserted.set(id, next);\n\treturn next;\n}\nconst bailAfterEnv = process.env.TAMAGUI_BAIL_AFTER_SCANNING_X_CSS_RULES;\nconst bailAfter = bailAfterEnv ? +bailAfterEnv : 8e3;\nfunction updateSheetStyles(sheet2, remove = false, collectThemes = false, tokens) {\n\tlet rules;\n\ttry {\n\t\tif (!sheet2.cssRules) return;\n\t\trules = flattenCSSRules(sheet2.cssRules);\n\t} catch {\n\t\treturn;\n\t}\n\tconst firstSelector = getTamaguiSelector(rules[0], collectThemes)?.[0];\n\tconst lastSelector = getTamaguiSelector(rules[rules.length - 1], collectThemes)?.[0];\n\tconst cacheKey = `${rules.length}${firstSelector}${lastSelector}`;\n\tconst lastScanned = scannedCache.get(sheet2);\n\tif (!remove) {\n\t\tif (lastScanned === cacheKey) return;\n\t}\n\tconst len = rules.length;\n\tlet fails = 0;\n\tlet dedupedThemes;\n\tconst nameToTheme = {};\n\tfor (let i = 0; i < len; i++) {\n\t\tconst rule = rules[i];\n\t\tif (!(rule instanceof CSSStyleRule)) continue;\n\t\tconst response = getTamaguiSelector(rule, collectThemes);\n\t\tif (response) fails = 0;\n\t\telse {\n\t\t\tfails++;\n\t\t\tif (fails > bailAfter) return;\n\t\t\tcontinue;\n\t\t}\n\t\tconst [identifier, cssRule, isTheme] = response;\n\t\tif (isTheme) {\n\t\t\tconst deduped = addThemesFromCSS(cssRule, tokens);\n\t\t\tif (deduped) {\n\t\t\t\tfor (const name of deduped.names) if (nameToTheme[name]) {\n\t\t\t\t\tObject.apply(nameToTheme[name], deduped.theme);\n\t\t\t\t\tdeduped.names = deduped.names.filter((x) => x !== name);\n\t\t\t\t} else nameToTheme[name] = deduped.theme;\n\t\t\t\tdedupedThemes ||= [];\n\t\t\t\tdedupedThemes.push(deduped);\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\t}\n\tscannedCache.set(sheet2, cacheKey);\n\treturn dedupedThemes;\n}\nfunction flattenCSSRules(rules, output = []) {\n\tfor (let index = 0; index < rules.length; index++) {\n\t\tconst rule = rules[index];\n\t\tif (rule instanceof CSSStyleRule) {\n\t\t\toutput.push(rule);\n\t\t\tcontinue;\n\t\t}\n\t\tif (\"cssRules\" in rule) {\n\t\t\tconst nested = rule.cssRules;\n\t\t\tif (nested) flattenCSSRules(nested, output);\n\t\t}\n\t}\n\treturn output;\n}\nlet colorVarToVal;\nlet rootComputedStyle = null;\nfunction addThemesFromCSS(cssStyleRule, tokens) {\n\tconst selectors = cssStyleRule.selectorText.split(\",\");\n\tif (!selectors.length) return;\n\tif (tokens?.color && !colorVarToVal) {\n\t\tcolorVarToVal = {};\n\t\tfor (const key in tokens.color) {\n\t\t\tconst token = tokens.color[key];\n\t\t\tif (token) colorVarToVal[token.name] = token.val;\n\t\t}\n\t}\n\tconst rules = (cssStyleRule.cssText || \"\").slice(cssStyleRule.selectorText.length + 2, -1).split(\";\");\n\tconst values = {};\n\tfor (const rule of rules) {\n\t\tconst sepI = rule.indexOf(\":\");\n\t\tif (sepI === -1) continue;\n\t\tconst varIndex = rule.indexOf(\"--\");\n\t\tlet key = rule.slice(varIndex === -1 ? 0 : varIndex + 2, sepI);\n\t\tif (process.env.TAMAGUI_CSS_VARIABLE_PREFIX) key = key.replace(process.env.TAMAGUI_CSS_VARIABLE_PREFIX, \"\");\n\t\tconst val = rule.slice(sepI + 2);\n\t\tlet value;\n\t\tif (val[0] === \"v\" && val.startsWith(\"var(\")) {\n\t\t\tconst varName = val.slice(6, -1);\n\t\t\tconst tokenVal = colorVarToVal?.[varName];\n\t\t\tif (tokenVal) value = tokenVal;\n\t\t\telse {\n\t\t\t\trootComputedStyle ||= getComputedStyle(document.body);\n\t\t\t\tvalue = rootComputedStyle.getPropertyValue(\"--\" + varName);\n\t\t\t}\n\t\t} else value = val;\n\t\tvalues[key] = createVariable({\n\t\t\tkey,\n\t\t\tname: key,\n\t\t\tval: value\n\t\t}, true);\n\t}\n\tconst names = /* @__PURE__ */ new Set();\n\tfor (const selector of selectors) {\n\t\tconst themeName = getThemeNameFromSelector(selector);\n\t\tif (themeName) names.add(themeName);\n\t}\n\treturn {\n\t\tnames: [...names],\n\t\ttheme: values\n\t};\n}\nfunction getThemeNameFromSelector(selector) {\n\tif (selector === \" .tm_xxt\") return;\n\tconst lastThemeSelectorIndex = selector.lastIndexOf(\".t_\");\n\tif (lastThemeSelectorIndex === -1) return;\n\tconst name = selector.slice(lastThemeSelectorIndex + 3).match(/^[\\w-]+/)?.[0];\n\tif (!name) return;\n\tconst schemeChar = selector[lastThemeSelectorIndex - 5];\n\tconst scheme = schemeChar === \"d\" ? \"dark\" : schemeChar === \"i\" ? \"light\" : \"\";\n\tconst themeName = scheme && scheme !== name ? `${scheme}_${name}` : name;\n\tif (themeName === \"light_dark\" || themeName === \"dark_light\") return;\n\treturn themeName;\n}\nconst tamaguiSelectorRegex = /\\.tm_xxt/;\nfunction getTamaguiSelector(rule, collectThemes = false) {\n\tif (rule instanceof CSSStyleRule) {\n\t\tconst text = rule.selectorText;\n\t\tif (text[0] === \":\" && text[1] === \"r\" && tamaguiSelectorRegex.test(text)) {\n\t\t\tconst id = getIdentifierFromTamaguiSelector(text.replace(tamaguiSelectorRegex, \"\"));\n\t\t\treturn collectThemes ? [\n\t\t\t\tid,\n\t\t\t\trule,\n\t\t\t\ttrue\n\t\t\t] : [id, rule];\n\t\t}\n\t} else if (rule instanceof CSSMediaRule) {\n\t\tif (rule.cssRules.length > 1) return;\n\t\treturn getTamaguiSelector(rule.cssRules[0]);\n\t}\n}\nconst getIdentifierFromTamaguiSelector = (selector) => {\n\tconst dotIndex = selector.indexOf(\":\");\n\tif (dotIndex > -1) return selector.slice(7, dotIndex);\n\treturn selector.slice(7);\n};\nlet sheet = null;\nlet mountedProviders = 0;\nlet trackAllRules = true;\nfunction stopAccumulatingRules() {\n\tmountedProviders++;\n\ttrackAllRules = false;\n\treturn () => {\n\t\tmountedProviders--;\n\t\ttrackAllRules = mountedProviders === 0;\n\t};\n}\nfunction updateRules(identifier, rules) {\n\tif (!process.env.TAMAGUI_DID_OUTPUT_CSS && trackAllRules) {\n\t\tallRules[identifier] = rules.join(\" \");\n\t\tallRuleSets[identifier] = rules;\n\t\tsortedRulesStale = true;\n\t}\n\treturn true;\n}\nlet nonce = \"\";\nfunction setNonce(_) {\n\tnonce = _;\n}\nfunction insertStyleRules(rulesToInsert) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS || false) return;\n\tif (!sheet && document.head) {\n\t\tconst styleTag = document.createElement(\"style\");\n\t\tstyleTag.id = \"_tamagui-styles\";\n\t\tif (nonce) styleTag.nonce = nonce;\n\t\tconst rootSheet = document.head.appendChild(styleTag).sheet;\n\t\tconst layer = process.env.TAMAGUI_CSS_LAYER;\n\t\tif (rootSheet && layer) {\n\t\t\trootSheet.insertRule(`@layer ${layer} {}`, rootSheet.cssRules.length);\n\t\t\tconst layerRule = rootSheet.cssRules[rootSheet.cssRules.length - 1];\n\t\t\tsheet = \"cssRules\" in layerRule && \"insertRule\" in layerRule ? layerRule : rootSheet;\n\t\t} else sheet = rootSheet;\n\t}\n\tif (!sheet) return;\n\tfor (const key in rulesToInsert) {\n\t\tconst styleObject = rulesToInsert[key];\n\t\tconst identifier = styleObject[StyleObjectIdentifier];\n\t\tif (!shouldInsertStyleRules(identifier)) continue;\n\t\tconst rules = styleObject[StyleObjectRules];\n\t\tallSelectors[identifier] = rules.join(\"\\n\");\n\t\ttrackInsertedStyle(identifier);\n\t\tupdateRules(identifier, rules);\n\t\ttry {\n\t\t\tfor (const rule of rules) sheet.insertRule(rule, sheet.cssRules.length);\n\t\t} catch (err) {\n\t\t\tif (process.env.NODE_ENV === \"development\") {\n\t\t\t\tconst rule = rules[0] || \"\";\n\t\t\t\tconst selectorEnd = rule.indexOf(\"{\");\n\t\t\t\tconst owner = \"ownerNode\" in sheet ? sheet.ownerNode : null;\n\t\t\t\tconsole.error(formatDiagnostic(\"TAMAGUI_STYLE_INSERT\", \"insertStyleRules\", \"the stylesheet rejected a generated rule\", \"Fix or remove the invalid style declaration\", \"identifier,selector,target\", {\n\t\t\t\t\tidentifier,\n\t\t\t\t\tselector: (selectorEnd === -1 ? rule : rule.slice(0, selectorEnd)).trim(),\n\t\t\t\t\ttarget: owner ? `${owner.nodeName.toLowerCase()}${owner.id ? `#${owner.id}` : \"\"}` : sheet.constructor?.name || \"CSSStyleSheet\"\n\t\t\t\t}));\n\t\t\t}\n\t\t}\n\t}\n}\nconst maxToInsert = process.env.TAMAGUI_INSERT_SELECTOR_TRIES ? +process.env.TAMAGUI_INSERT_SELECTOR_TRIES : 1;\nfunction shouldInsertStyleRules(identifier) {\n\tif (process.env.IS_STATIC === \"is_static\") return true;\n\tconst total = totalSelectorsInserted.get(identifier) || 0;\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10)) console.warn(`Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the \"disableClassName\" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher`);\n\t}\n\treturn total < maxToInsert;\n}\n\nexport { getAllRules, getAllSelectors, getRulesForIdentifier, getThemeNameFromSelector, insertStyleRules, scanAllSheets, setNonce, shouldInsertStyleRules, stopAccumulatingRules, updateRules, wrapStyleRules };"],"mappings":"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"}