@tamagui/web 3.0.0-beta.831.1 → 3.0.0-beta.889.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 (474) hide show
  1. package/dist/cjs/createComponent.cjs +12 -1
  2. package/dist/cjs/createComponent.native.cjs +12 -1
  3. package/dist/cjs/createComponent.native.js +12 -1
  4. package/dist/cjs/createComponent.native.js.map +1 -1
  5. package/dist/cjs/createStyledHOC.cjs +1 -1
  6. package/dist/cjs/createStyledHOC.native.cjs +1 -1
  7. package/dist/cjs/createStyledHOC.native.js +1 -1
  8. package/dist/cjs/createStyledHOC.native.js.map +1 -1
  9. package/dist/cjs/createVariable.cjs +0 -10
  10. package/dist/cjs/createVariable.native.cjs +0 -10
  11. package/dist/cjs/createVariable.native.js +0 -10
  12. package/dist/cjs/createVariable.native.js.map +1 -1
  13. package/dist/cjs/helpers/borderComponents.cjs +62 -0
  14. package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
  15. package/dist/cjs/helpers/borderComponents.native.js +84 -0
  16. package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
  17. package/dist/cjs/helpers/createDesignSystem.cjs +0 -2
  18. package/dist/cjs/helpers/createStyledContext.cjs +10 -18
  19. package/dist/cjs/helpers/createStyledContext.native.cjs +14 -18
  20. package/dist/cjs/helpers/createStyledContext.native.js +14 -18
  21. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  22. package/dist/cjs/helpers/formatDiagnostic.cjs +6 -6
  23. package/dist/cjs/helpers/formatDiagnostic.native.cjs +6 -6
  24. package/dist/cjs/helpers/formatDiagnostic.native.js +6 -6
  25. package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
  26. package/dist/cjs/helpers/getCSSStylesAtomic.cjs +128 -109
  27. package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +11 -3
  28. package/dist/cjs/helpers/getCSSStylesAtomic.native.js +11 -3
  29. package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
  30. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +13 -1
  31. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +15 -1
  32. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +15 -1
  33. package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
  34. package/dist/cjs/helpers/getDynamicVal.cjs +5 -1
  35. package/dist/cjs/helpers/getDynamicVal.native.cjs +5 -1
  36. package/dist/cjs/helpers/getDynamicVal.native.js +5 -1
  37. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  38. package/dist/cjs/helpers/getSplitStyles.cjs +1042 -1715
  39. package/dist/cjs/helpers/getSplitStyles.native.cjs +1081 -1887
  40. package/dist/cjs/helpers/getSplitStyles.native.js +1081 -1887
  41. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  42. package/dist/cjs/helpers/grammarConfig.cjs +163 -1
  43. package/dist/cjs/helpers/grammarConfig.native.cjs +186 -1
  44. package/dist/cjs/helpers/grammarConfig.native.js +186 -1
  45. package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
  46. package/dist/cjs/helpers/insertStyleRule.cjs +5 -1
  47. package/dist/cjs/helpers/insertStyleRule.native.cjs +7 -1
  48. package/dist/cjs/helpers/insertStyleRule.native.js +7 -1
  49. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  50. package/dist/cjs/helpers/log.cjs +9 -8
  51. package/dist/cjs/helpers/log.native.cjs +9 -8
  52. package/dist/cjs/helpers/log.native.js +9 -8
  53. package/dist/cjs/helpers/log.native.js.map +1 -1
  54. package/dist/cjs/helpers/mergeVariants.cjs +44 -13
  55. package/dist/cjs/helpers/mergeVariants.native.cjs +79 -14
  56. package/dist/cjs/helpers/mergeVariants.native.js +79 -14
  57. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  58. package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
  59. package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
  60. package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
  61. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  62. package/dist/cjs/helpers/nativeStyleEngine.cjs +34 -14
  63. package/dist/cjs/helpers/nativeStyleEngine.native.cjs +36 -14
  64. package/dist/cjs/helpers/nativeStyleEngine.native.js +36 -14
  65. package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
  66. package/dist/cjs/helpers/normalizeValueWithProperty.cjs +7 -8
  67. package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +9 -8
  68. package/dist/cjs/helpers/normalizeValueWithProperty.native.js +9 -8
  69. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  70. package/dist/cjs/helpers/parseBorderShorthand.native.cjs +25 -56
  71. package/dist/cjs/helpers/parseBorderShorthand.native.js +25 -56
  72. package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
  73. package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +9 -49
  74. package/dist/cjs/helpers/parseOutlineShorthand.native.js +9 -49
  75. package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
  76. package/dist/cjs/helpers/resolveSafeArea.cjs +35 -100
  77. package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
  78. package/dist/cjs/helpers/resolveVariantStyle.native.cjs +67 -0
  79. package/dist/cjs/helpers/resolveVariantStyle.native.js +69 -0
  80. package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
  81. package/dist/cjs/helpers/styleStaticConfig.cjs +1 -50
  82. package/dist/cjs/helpers/styleStaticConfig.native.cjs +1 -51
  83. package/dist/cjs/helpers/styleStaticConfig.native.js +1 -51
  84. package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -1
  85. package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
  86. package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
  87. package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
  88. package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
  89. package/dist/cjs/helpers/styledDynamic.cjs +160 -0
  90. package/dist/cjs/helpers/styledDynamic.native.cjs +195 -0
  91. package/dist/cjs/helpers/styledDynamic.native.js +197 -0
  92. package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
  93. package/dist/cjs/helpers/tokenCategories.cjs +15 -38
  94. package/dist/cjs/helpers/tokenCategories.native.cjs +15 -40
  95. package/dist/cjs/helpers/tokenCategories.native.js +15 -40
  96. package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
  97. package/dist/cjs/helpers/variableValue.cjs +17 -12
  98. package/dist/cjs/helpers/variableValue.native.cjs +46 -23
  99. package/dist/cjs/helpers/variableValue.native.js +46 -23
  100. package/dist/cjs/helpers/variableValue.native.js.map +1 -1
  101. package/dist/cjs/helpers/warnOnce.cjs +5 -4
  102. package/dist/cjs/helpers/warnOnce.native.cjs +6 -4
  103. package/dist/cjs/helpers/warnOnce.native.js +6 -4
  104. package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
  105. package/dist/cjs/hooks/useAnimationDriver.cjs +2 -2
  106. package/dist/cjs/hooks/useAnimationDriver.native.cjs +2 -2
  107. package/dist/cjs/hooks/useAnimationDriver.native.js +2 -2
  108. package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
  109. package/dist/cjs/hooks/useComponentState.cjs +41 -82
  110. package/dist/cjs/hooks/useComponentState.native.cjs +45 -84
  111. package/dist/cjs/hooks/useComponentState.native.js +45 -84
  112. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  113. package/dist/cjs/hooks/useMedia.cjs +2 -2
  114. package/dist/cjs/hooks/useMedia.native.cjs +2 -2
  115. package/dist/cjs/hooks/useMedia.native.js +2 -2
  116. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  117. package/dist/cjs/{helpers/directStyleCSS.native.js → hooks/useStyle.cjs} +16 -8
  118. package/dist/cjs/{helpers/directStyleCSS.native.cjs → hooks/useStyle.native.cjs} +16 -4
  119. package/dist/cjs/hooks/useStyle.native.js +34 -0
  120. package/dist/cjs/hooks/useStyle.native.js.map +1 -0
  121. package/dist/cjs/hooks/useThemeState.cjs +25 -90
  122. package/dist/cjs/hooks/useThemeState.native.cjs +34 -94
  123. package/dist/cjs/hooks/useThemeState.native.js +34 -94
  124. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  125. package/dist/cjs/index.cjs +6 -3
  126. package/dist/cjs/index.native.cjs +6 -3
  127. package/dist/cjs/index.native.js +6 -3
  128. package/dist/cjs/index.native.js.map +1 -1
  129. package/dist/cjs/static-resolve.cjs +2 -2
  130. package/dist/cjs/static-resolve.native.cjs +2 -2
  131. package/dist/cjs/static-resolve.native.js +2 -2
  132. package/dist/cjs/static-resolve.native.js.map +1 -1
  133. package/dist/cjs/style.cjs +91 -0
  134. package/dist/cjs/style.native.cjs +98 -0
  135. package/dist/cjs/style.native.js +100 -0
  136. package/dist/cjs/style.native.js.map +1 -0
  137. package/dist/cjs/styled.cjs +11 -6
  138. package/dist/cjs/styled.native.cjs +11 -6
  139. package/dist/cjs/styled.native.js +11 -6
  140. package/dist/cjs/styled.native.js.map +1 -1
  141. package/dist/cjs/types.cjs +6 -4
  142. package/dist/cjs/types.native.cjs +6 -4
  143. package/dist/cjs/types.native.js +6 -4
  144. package/dist/cjs/types.native.js.map +1 -1
  145. package/dist/cjs/views/TamaguiProvider.cjs +1 -2
  146. package/dist/cjs/views/TamaguiProvider.native.cjs +1 -2
  147. package/dist/cjs/views/TamaguiProvider.native.js +1 -2
  148. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  149. package/dist/cjs/views/Text.cjs +17 -12
  150. package/dist/cjs/views/Text.native.cjs +1 -0
  151. package/dist/cjs/views/Text.native.js +1 -0
  152. package/dist/cjs/views/Text.native.js.map +1 -1
  153. package/dist/cjs/views/Theme.cjs +3 -3
  154. package/dist/cjs/views/Theme.native.cjs +3 -3
  155. package/dist/cjs/views/Theme.native.js +3 -3
  156. package/dist/cjs/views/Theme.native.js.map +1 -1
  157. package/dist/cjs/views/ThemeDebug.cjs +1 -4
  158. package/dist/esm/createComponent.mjs +12 -1
  159. package/dist/esm/createComponent.mjs.map +1 -1
  160. package/dist/esm/createComponent.native.js +12 -1
  161. package/dist/esm/createComponent.native.js.map +1 -1
  162. package/dist/esm/createStyledHOC.mjs +1 -1
  163. package/dist/esm/createStyledHOC.mjs.map +1 -1
  164. package/dist/esm/createStyledHOC.native.js +1 -1
  165. package/dist/esm/createStyledHOC.native.js.map +1 -1
  166. package/dist/esm/createVariable.mjs +1 -9
  167. package/dist/esm/createVariable.mjs.map +1 -1
  168. package/dist/esm/createVariable.native.js +1 -9
  169. package/dist/esm/createVariable.native.js.map +1 -1
  170. package/dist/esm/helpers/borderComponents.mjs +37 -0
  171. package/dist/esm/helpers/borderComponents.mjs.map +1 -0
  172. package/dist/esm/helpers/borderComponents.native.js +55 -0
  173. package/dist/esm/helpers/borderComponents.native.js.map +1 -0
  174. package/dist/esm/helpers/createDesignSystem.mjs +0 -2
  175. package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
  176. package/dist/esm/helpers/createStyledContext.mjs +10 -18
  177. package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
  178. package/dist/esm/helpers/createStyledContext.native.js +14 -18
  179. package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
  180. package/dist/esm/helpers/formatDiagnostic.mjs +6 -6
  181. package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
  182. package/dist/esm/helpers/formatDiagnostic.native.js +6 -6
  183. package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
  184. package/dist/esm/helpers/getCSSStylesAtomic.mjs +126 -109
  185. package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
  186. package/dist/esm/helpers/getCSSStylesAtomic.native.js +7 -4
  187. package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
  188. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +8 -1
  189. package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -1
  190. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +10 -1
  191. package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -1
  192. package/dist/esm/helpers/getDynamicVal.mjs +5 -1
  193. package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
  194. package/dist/esm/helpers/getDynamicVal.native.js +5 -1
  195. package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
  196. package/dist/esm/helpers/getSplitStyles.mjs +1034 -1705
  197. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  198. package/dist/esm/helpers/getSplitStyles.native.js +1071 -1871
  199. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  200. package/dist/esm/helpers/grammarConfig.mjs +164 -2
  201. package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
  202. package/dist/esm/helpers/grammarConfig.native.js +187 -2
  203. package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
  204. package/dist/esm/helpers/insertStyleRule.mjs +5 -2
  205. package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
  206. package/dist/esm/helpers/insertStyleRule.native.js +7 -2
  207. package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
  208. package/dist/esm/helpers/log.mjs +9 -8
  209. package/dist/esm/helpers/log.mjs.map +1 -1
  210. package/dist/esm/helpers/log.native.js +9 -8
  211. package/dist/esm/helpers/log.native.js.map +1 -1
  212. package/dist/esm/helpers/mergeVariants.mjs +44 -13
  213. package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
  214. package/dist/esm/helpers/mergeVariants.native.js +79 -14
  215. package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
  216. package/dist/esm/helpers/nativeOnlyProps.mjs +0 -1
  217. package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
  218. package/dist/esm/helpers/nativeOnlyProps.native.js +0 -1
  219. package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
  220. package/dist/esm/helpers/nativeStyleEngine.mjs +34 -15
  221. package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
  222. package/dist/esm/helpers/nativeStyleEngine.native.js +36 -15
  223. package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
  224. package/dist/esm/helpers/normalizeValueWithProperty.mjs +7 -8
  225. package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
  226. package/dist/esm/helpers/normalizeValueWithProperty.native.js +9 -8
  227. package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
  228. package/dist/esm/helpers/parseBorderShorthand.native.js +23 -56
  229. package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
  230. package/dist/esm/helpers/parseOutlineShorthand.native.js +10 -49
  231. package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
  232. package/dist/esm/helpers/resolveSafeArea.mjs +35 -97
  233. package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
  234. package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
  235. package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
  236. package/dist/esm/helpers/resolveVariantStyle.native.js +46 -0
  237. package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
  238. package/dist/esm/helpers/styleStaticConfig.mjs +1 -50
  239. package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -1
  240. package/dist/esm/helpers/styleStaticConfig.native.js +1 -51
  241. package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -1
  242. package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
  243. package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
  244. package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
  245. package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
  246. package/dist/esm/helpers/styledDynamic.mjs +136 -0
  247. package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
  248. package/dist/esm/helpers/styledDynamic.native.js +169 -0
  249. package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
  250. package/dist/esm/helpers/tokenCategories.mjs +15 -36
  251. package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
  252. package/dist/esm/helpers/tokenCategories.native.js +15 -38
  253. package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
  254. package/dist/esm/helpers/variableValue.mjs +17 -12
  255. package/dist/esm/helpers/variableValue.mjs.map +1 -1
  256. package/dist/esm/helpers/variableValue.native.js +46 -23
  257. package/dist/esm/helpers/variableValue.native.js.map +1 -1
  258. package/dist/esm/helpers/warnOnce.mjs +5 -4
  259. package/dist/esm/helpers/warnOnce.mjs.map +1 -1
  260. package/dist/esm/helpers/warnOnce.native.js +6 -4
  261. package/dist/esm/helpers/warnOnce.native.js.map +1 -1
  262. package/dist/esm/hooks/useAnimationDriver.mjs +2 -2
  263. package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
  264. package/dist/esm/hooks/useAnimationDriver.native.js +2 -2
  265. package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
  266. package/dist/esm/hooks/useComponentState.mjs +41 -82
  267. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  268. package/dist/esm/hooks/useComponentState.native.js +45 -84
  269. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  270. package/dist/esm/hooks/useMedia.mjs +2 -2
  271. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  272. package/dist/esm/hooks/useMedia.native.js +2 -2
  273. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  274. package/dist/esm/hooks/useStyle.mjs +11 -0
  275. package/dist/esm/hooks/useStyle.mjs.map +1 -0
  276. package/dist/esm/hooks/useStyle.native.js +11 -0
  277. package/dist/esm/hooks/useStyle.native.js.map +1 -0
  278. package/dist/esm/hooks/useThemeState.mjs +25 -90
  279. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  280. package/dist/esm/hooks/useThemeState.native.js +34 -94
  281. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  282. package/dist/esm/index.js +6 -4
  283. package/dist/esm/index.mjs +6 -4
  284. package/dist/esm/index.native.js +6 -4
  285. package/dist/esm/static-resolve.mjs +3 -3
  286. package/dist/esm/static-resolve.mjs.map +1 -1
  287. package/dist/esm/static-resolve.native.js +3 -3
  288. package/dist/esm/static-resolve.native.js.map +1 -1
  289. package/dist/esm/style.mjs +58 -0
  290. package/dist/esm/style.mjs.map +1 -0
  291. package/dist/esm/style.native.js +63 -0
  292. package/dist/esm/style.native.js.map +1 -0
  293. package/dist/esm/styled.mjs +12 -6
  294. package/dist/esm/styled.mjs.map +1 -1
  295. package/dist/esm/styled.native.js +12 -6
  296. package/dist/esm/styled.native.js.map +1 -1
  297. package/dist/esm/types.mjs +3 -4
  298. package/dist/esm/types.mjs.map +1 -1
  299. package/dist/esm/types.native.js +3 -4
  300. package/dist/esm/types.native.js.map +1 -1
  301. package/dist/esm/views/TamaguiProvider.mjs +1 -2
  302. package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
  303. package/dist/esm/views/TamaguiProvider.native.js +1 -2
  304. package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
  305. package/dist/esm/views/Text.mjs +17 -12
  306. package/dist/esm/views/Text.mjs.map +1 -1
  307. package/dist/esm/views/Theme.mjs +3 -3
  308. package/dist/esm/views/Theme.mjs.map +1 -1
  309. package/dist/esm/views/Theme.native.js +3 -3
  310. package/dist/esm/views/Theme.native.js.map +1 -1
  311. package/dist/esm/views/ThemeDebug.mjs +1 -4
  312. package/dist/esm/views/ThemeDebug.mjs.map +1 -1
  313. package/package.json +15 -15
  314. package/src/createComponent.tsx +21 -1
  315. package/src/createStyledHOC.tsx +4 -2
  316. package/src/createVariable.ts +0 -10
  317. package/src/helpers/borderComponents.ts +62 -0
  318. package/src/helpers/createDesignSystem.ts +0 -2
  319. package/src/helpers/createStyledContext.tsx +15 -53
  320. package/src/helpers/formatDiagnostic.ts +9 -9
  321. package/src/helpers/getCSSStylesAtomic.native.ts +6 -3
  322. package/src/helpers/getCSSStylesAtomic.ts +192 -207
  323. package/src/helpers/getCSSStylesAtomicCompiled.ts +13 -1
  324. package/src/helpers/getDynamicVal.ts +4 -0
  325. package/src/helpers/getSplitStyles.tsx +2080 -3270
  326. package/src/helpers/grammarConfig.ts +218 -1
  327. package/src/helpers/insertStyleRule.tsx +4 -2
  328. package/src/helpers/log.ts +12 -11
  329. package/src/helpers/mergeVariants.ts +55 -18
  330. package/src/helpers/nativeOnlyProps.ts +0 -1
  331. package/src/helpers/nativeStyleEngine.ts +55 -14
  332. package/src/helpers/normalizeValueWithProperty.ts +10 -12
  333. package/src/helpers/parseBorderShorthand.native.ts +23 -45
  334. package/src/helpers/parseOutlineShorthand.native.ts +9 -40
  335. package/src/helpers/resolveSafeArea.ts +34 -101
  336. package/src/helpers/resolveVariantStyle.ts +77 -0
  337. package/src/helpers/styleFrontend.ts +8 -5
  338. package/src/helpers/styleStaticConfig.ts +5 -72
  339. package/src/helpers/styleStaticConfigCore.ts +110 -0
  340. package/src/helpers/styledDynamic.ts +191 -0
  341. package/src/helpers/tokenCategories.ts +40 -65
  342. package/src/helpers/variableValue.ts +20 -15
  343. package/src/helpers/warnOnce.ts +5 -4
  344. package/src/hooks/useAnimationDriver.ts +6 -2
  345. package/src/hooks/useComponentState.ts +55 -183
  346. package/src/hooks/useMedia.tsx +10 -8
  347. package/src/hooks/useStyle.ts +10 -0
  348. package/src/hooks/useThemeState.ts +51 -264
  349. package/src/index.ts +6 -6
  350. package/src/internalRuntimeTypes.ts +1 -0
  351. package/src/static-resolve.ts +7 -4
  352. package/src/style.ts +97 -0
  353. package/src/styled.tsx +39 -68
  354. package/src/types.tsx +105 -169
  355. package/src/views/TamaguiProvider.tsx +0 -2
  356. package/src/views/Text.tsx +20 -14
  357. package/src/views/Theme.tsx +13 -9
  358. package/src/views/ThemeDebug.tsx +0 -1
  359. package/types/createComponent.d.ts.map +1 -1
  360. package/types/createStyledHOC.d.ts +1 -1
  361. package/types/createStyledHOC.d.ts.map +1 -1
  362. package/types/createVariable.d.ts +0 -2
  363. package/types/createVariable.d.ts.map +1 -1
  364. package/types/helpers/borderComponents.d.ts +10 -0
  365. package/types/helpers/borderComponents.d.ts.map +1 -0
  366. package/types/helpers/createDesignSystem.d.ts.map +1 -1
  367. package/types/helpers/createStyledContext.d.ts.map +1 -1
  368. package/types/helpers/getCSSStylesAtomic.d.ts +20 -19
  369. package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
  370. package/types/helpers/getCSSStylesAtomic.native.d.ts +5 -0
  371. package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
  372. package/types/helpers/getCSSStylesAtomicCompiled.d.ts +6 -1
  373. package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -1
  374. package/types/helpers/getDynamicVal.d.ts.map +1 -1
  375. package/types/helpers/getSplitStyles.d.ts +3 -5
  376. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  377. package/types/helpers/grammarConfig.d.ts +25 -2
  378. package/types/helpers/grammarConfig.d.ts.map +1 -1
  379. package/types/helpers/insertStyleRule.d.ts +1 -0
  380. package/types/helpers/insertStyleRule.d.ts.map +1 -1
  381. package/types/helpers/log.d.ts.map +1 -1
  382. package/types/helpers/mergeVariants.d.ts.map +1 -1
  383. package/types/helpers/nativeOnlyProps.d.ts +0 -1
  384. package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
  385. package/types/helpers/nativeStyleEngine.d.ts +6 -0
  386. package/types/helpers/nativeStyleEngine.d.ts.map +1 -1
  387. package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
  388. package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
  389. package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
  390. package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
  391. package/types/helpers/resolveSafeArea.d.ts +0 -1
  392. package/types/helpers/resolveSafeArea.d.ts.map +1 -1
  393. package/types/helpers/resolveVariantStyle.d.ts +3 -0
  394. package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
  395. package/types/helpers/styleFrontend.d.ts +3 -5
  396. package/types/helpers/styleFrontend.d.ts.map +1 -1
  397. package/types/helpers/styleStaticConfig.d.ts +4 -9
  398. package/types/helpers/styleStaticConfig.d.ts.map +1 -1
  399. package/types/helpers/styleStaticConfigCore.d.ts +4 -0
  400. package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
  401. package/types/helpers/styledDynamic.d.ts +18 -0
  402. package/types/helpers/styledDynamic.d.ts.map +1 -0
  403. package/types/helpers/tokenCategories.d.ts +0 -1
  404. package/types/helpers/tokenCategories.d.ts.map +1 -1
  405. package/types/helpers/variableValue.d.ts.map +1 -1
  406. package/types/helpers/warnOnce.d.ts.map +1 -1
  407. package/types/helpers/webPropsToSkip.native.d.ts +68 -68
  408. package/types/hooks/useAnimationDriver.d.ts.map +1 -1
  409. package/types/hooks/useComponentState.d.ts.map +1 -1
  410. package/types/hooks/useMedia.d.ts.map +1 -1
  411. package/types/hooks/useStyle.d.ts +4 -0
  412. package/types/hooks/useStyle.d.ts.map +1 -0
  413. package/types/hooks/useThemeState.d.ts +1 -11
  414. package/types/hooks/useThemeState.d.ts.map +1 -1
  415. package/types/index.d.ts +6 -4
  416. package/types/index.d.ts.map +1 -1
  417. package/types/internalRuntimeTypes.d.ts +1 -1
  418. package/types/internalRuntimeTypes.d.ts.map +1 -1
  419. package/types/static-resolve.d.ts.map +1 -1
  420. package/types/style.d.ts +18 -0
  421. package/types/style.d.ts.map +1 -0
  422. package/types/styled.d.ts +10 -10
  423. package/types/styled.d.ts.map +1 -1
  424. package/types/types.d.ts +74 -49
  425. package/types/types.d.ts.map +1 -1
  426. package/types/views/TamaguiProvider.d.ts +1 -1
  427. package/types/views/TamaguiProvider.d.ts.map +1 -1
  428. package/types/views/Text.d.ts.map +1 -1
  429. package/types/views/Theme.d.ts.map +1 -1
  430. package/types/views/ThemeDebug.d.ts.map +1 -1
  431. package/dist/cjs/helpers/directStyleCSS.cjs +0 -345
  432. package/dist/cjs/helpers/directStyleCSS.native.js.map +0 -1
  433. package/dist/cjs/helpers/directStyleCSSCompiled.cjs +0 -40
  434. package/dist/cjs/helpers/directStyleCSSCompiled.native.cjs +0 -46
  435. package/dist/cjs/helpers/directStyleCSSCompiled.native.js +0 -48
  436. package/dist/cjs/helpers/directStyleCSSCompiled.native.js.map +0 -1
  437. package/dist/cjs/helpers/getVariantExtras.cjs +0 -91
  438. package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -94
  439. package/dist/cjs/helpers/getVariantExtras.native.js +0 -96
  440. package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
  441. package/dist/cjs/helpers/variantResolvers.cjs +0 -87
  442. package/dist/cjs/helpers/variantResolvers.native.cjs +0 -140
  443. package/dist/cjs/helpers/variantResolvers.native.js +0 -142
  444. package/dist/cjs/helpers/variantResolvers.native.js.map +0 -1
  445. package/dist/esm/helpers/directStyleCSS.mjs +0 -317
  446. package/dist/esm/helpers/directStyleCSS.mjs.map +0 -1
  447. package/dist/esm/helpers/directStyleCSS.native.js +0 -1
  448. package/dist/esm/helpers/directStyleCSSCompiled.mjs +0 -11
  449. package/dist/esm/helpers/directStyleCSSCompiled.mjs.map +0 -1
  450. package/dist/esm/helpers/directStyleCSSCompiled.native.js +0 -15
  451. package/dist/esm/helpers/directStyleCSSCompiled.native.js.map +0 -1
  452. package/dist/esm/helpers/getVariantExtras.mjs +0 -69
  453. package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
  454. package/dist/esm/helpers/getVariantExtras.native.js +0 -70
  455. package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
  456. package/dist/esm/helpers/variantResolvers.mjs +0 -65
  457. package/dist/esm/helpers/variantResolvers.mjs.map +0 -1
  458. package/dist/esm/helpers/variantResolvers.native.js +0 -116
  459. package/dist/esm/helpers/variantResolvers.native.js.map +0 -1
  460. package/src/helpers/directStyleCSS.native.ts +0 -1
  461. package/src/helpers/directStyleCSS.ts +0 -513
  462. package/src/helpers/directStyleCSSCompiled.ts +0 -32
  463. package/src/helpers/getVariantExtras.tsx +0 -95
  464. package/src/helpers/variantResolvers.ts +0 -121
  465. package/types/helpers/directStyleCSS.d.ts +0 -28
  466. package/types/helpers/directStyleCSS.d.ts.map +0 -1
  467. package/types/helpers/directStyleCSS.native.d.ts +0 -2
  468. package/types/helpers/directStyleCSS.native.d.ts.map +0 -1
  469. package/types/helpers/directStyleCSSCompiled.d.ts +0 -10
  470. package/types/helpers/directStyleCSSCompiled.d.ts.map +0 -1
  471. package/types/helpers/getVariantExtras.d.ts +0 -4
  472. package/types/helpers/getVariantExtras.d.ts.map +0 -1
  473. package/types/helpers/variantResolvers.d.ts +0 -9
  474. package/types/helpers/variantResolvers.d.ts.map +0 -1
@@ -1,10 +1,86 @@
1
- import { cssShorthandLonghands, simpleHash } from "@tamagui/helpers";
1
+ import { StyleObjectIdentifier, StyleObjectRules, cssShorthandLonghands, simpleHash } from "@tamagui/helpers";
2
2
  import { getConfigMaybe } from "../config.mjs";
3
3
  import { getConfigRevisionState } from "./grammarConfig.mjs";
4
+ import { shouldInsertStyleRules, updateRules } from "./insertStyleRule.mjs";
4
5
  import { normalizeValueWithProperty } from "./normalizeValueWithProperty.mjs";
5
6
  import { styleToCSS, styleToCSS as styleToCSS2 } from "./styleToCSS.mjs";
6
7
  import { transformsToString } from "./transformsToString.mjs";
7
8
 
9
+ const canGenerateCSS = !process.env.TAMAGUI_DID_OUTPUT_CSS;
10
+ function directStyleSignature(property, value, conditionKey = "") {
11
+ return "" + property + "" + conditionKey + "" + String(value);
12
+ }
13
+ function getShortProp(key) {
14
+ let short = "";
15
+ for (let i = 0; i < key.length; i++) {
16
+ const code = key.charCodeAt(i);
17
+ if ((i === 0 || code >= 65 && code <= 90 || key.charCodeAt(i - 1) === 45) && (code >= 65 && code <= 90 || code >= 97 && code <= 122)) short += key[i].toLowerCase();
18
+ }
19
+ return short || "x";
20
+ }
21
+ function registerAtomicSlot(state, atomicKey, entries) {
22
+ let signature = "";
23
+ for (let index = 0; index < entries.length; index++) {
24
+ const entry = entries[index];
25
+ let value = entry[1];
26
+ if (entry[0] === "transform" && Array.isArray(value)) value = transformsToString(value);
27
+ entry[1] = normalizeValueWithProperty(value, entry[0]);
28
+ signature += directStyleSignature(entry[0], entry[1], `${entry[3]}${entry[7] >> 5}`);
29
+ }
30
+ const built = buildAtomicSlotCSS(atomicKey, entries, signature);
31
+ if (!built) return;
32
+ let styleObjectProperty = entries[0][0];
33
+ for (let index = 1; index < entries.length; index++) if (entries[index][0] !== styleObjectProperty) {
34
+ styleObjectProperty = atomicKey;
35
+ break;
36
+ }
37
+ const styleObject = built[3] ||= [
38
+ styleObjectProperty,
39
+ built[2],
40
+ built[0],
41
+ void 0,
42
+ built[1]
43
+ ];
44
+ (state.flatAtomics ||= /* @__PURE__ */ new Map()).set(atomicKey, styleObject);
45
+ state.classNames[atomicKey] = built[0];
46
+ }
47
+ function flushDirectStyles(state, clear = false) {
48
+ if (!canGenerateCSS) {
49
+ if (clear) state.flatAtomics = void 0;
50
+ return;
51
+ }
52
+ const direct = state;
53
+ const atomics = direct.flatAtomics;
54
+ if (!atomics) return;
55
+ for (const styleObject of atomics.values()) {
56
+ const identifier = styleObject[StyleObjectIdentifier];
57
+ if (shouldInsertStyleRules(identifier)) {
58
+ const rules = styleObject[StyleObjectRules].slice();
59
+ styleObject[StyleObjectRules] = rules;
60
+ updateRules(identifier, rules);
61
+ state.flatRulesToInsert[identifier] = styleObject;
62
+ }
63
+ }
64
+ if (clear) direct.flatAtomics = void 0;
65
+ }
66
+ function addComposition(state, property) {
67
+ if (!canGenerateCSS || state.classNames[property]) return;
68
+ const isTranslate = property === "translate";
69
+ const identifier = isTranslate ? "_t-compose" : "_s-compose";
70
+ const value = isTranslate ? "var(--t-x, 0px) var(--t-y, 0px)" : "var(--t-scale-x, 1) var(--t-scale-y, 1)";
71
+ const rules = [`:where(.${identifier}){${isTranslate ? "--t-x:0px;--t-y:0px" : "--t-scale-x:1;--t-scale-y:1"}}`, `.${identifier}{${property}:${value}}`];
72
+ if (shouldInsertStyleRules(identifier)) {
73
+ updateRules(identifier, rules);
74
+ state.flatRulesToInsert[identifier] = [
75
+ property,
76
+ value,
77
+ identifier,
78
+ void 0,
79
+ rules
80
+ ];
81
+ }
82
+ state.classNames[property] = identifier;
83
+ }
8
84
  function getCSSStylesAtomic(style) {
9
85
  if (process.env.TAMAGUI_DID_OUTPUT_CSS) return [];
10
86
  styleToCSS(style);
@@ -13,9 +89,7 @@ function getCSSStylesAtomic(style) {
13
89
  if (key === "$$css") continue;
14
90
  const val = style[key];
15
91
  const so = getStyleObject(val, key);
16
- if (so) {
17
- out.push(so);
18
- }
92
+ if (so) out.push(so);
19
93
  }
20
94
  return out;
21
95
  }
@@ -27,27 +101,12 @@ let conf = null;
27
101
  let confRevision = 0;
28
102
  const getStyleObject = (val, key, condition = "", wrappers, identity, direct = false, identityKey = key, classRepetitions = 1) => {
29
103
  if (val == null) return;
30
- if (key === "transform" && Array.isArray(val)) {
31
- val = transformsToString(val);
32
- }
104
+ if (key === "transform" && Array.isArray(val)) val = transformsToString(val);
33
105
  const value = normalizeValueWithProperty(val, key);
34
- const nextConf = syncAtomicConfig();
106
+ syncAtomicConfig();
35
107
  const rawValue = typeof value === "string" ? value : `${value}`;
36
108
  const hash = simpleHash(identity ?? rawValue, direct ? "strict" : 10) || "0";
37
- let shortProp;
38
- if (direct) {
39
- shortProp = "";
40
- for (let index = 0; index < identityKey.length; index++) {
41
- const code = identityKey.charCodeAt(index);
42
- if ((index === 0 || code >= 65 && code <= 90 || identityKey.charCodeAt(index - 1) === 45) && (code >= 65 && code <= 90 || code >= 97 && code <= 122)) {
43
- shortProp += identityKey[index].toLowerCase();
44
- }
45
- }
46
- shortProp ||= "x";
47
- } else {
48
- shortProp = conf?.inverseShorthands[key] || key;
49
- }
50
- let identifier = `_${shortProp}-${hash}`;
109
+ let identifier = `_${direct ? getShortProp(identityKey) : conf?.inverseShorthands[key] || key}-${hash}`;
51
110
  if (key === "pointerEvents" && !condition) {
52
111
  if (value === "box-none") identifier = "_pe-boxnone";
53
112
  else if (value === "box-only") identifier = "_pe-boxonly";
@@ -62,26 +121,7 @@ const getStyleObject = (val, key, condition = "", wrappers, identity, direct = f
62
121
  ];
63
122
  };
64
123
  const slotIdentities = /* @__PURE__ */ new Map();
65
- let slotIdentitiesSize = 0;
66
- const rawSlotIdentities = /* @__PURE__ */ new Map();
67
- let rawSlotIdentitiesSize = 0;
68
- function probeRawSlotIdentity(property, raw) {
69
- syncAtomicConfig();
70
- return rawSlotIdentities.get(property)?.get(raw);
71
- }
72
- function storeRawSlotIdentity(property, raw, identity) {
73
- if (rawSlotIdentitiesSize > 1e4) {
74
- rawSlotIdentities.clear();
75
- rawSlotIdentitiesSize = 0;
76
- }
77
- let byRaw = rawSlotIdentities.get(property);
78
- if (!byRaw) {
79
- byRaw = /* @__PURE__ */ new Map();
80
- rawSlotIdentities.set(property, byRaw);
81
- }
82
- byRaw.set(raw, identity);
83
- rawSlotIdentitiesSize++;
84
- }
124
+ let slotIdentityCount = 0;
85
125
  function syncAtomicConfig() {
86
126
  const nextConf = getConfigMaybe();
87
127
  const nextRevision = nextConf ? getConfigRevisionState(nextConf).revision : 0;
@@ -89,32 +129,18 @@ function syncAtomicConfig() {
89
129
  conf = nextConf;
90
130
  confRevision = nextRevision;
91
131
  slotIdentities.clear();
92
- slotIdentitiesSize = 0;
93
- rawSlotIdentities.clear();
94
- rawSlotIdentitiesSize = 0;
132
+ slotIdentityCount = 0;
95
133
  }
96
- return nextConf;
97
- }
98
- function slotClassRepetitions(atomicKey, condition) {
99
- const base = atomicKey === "containerName" || atomicKey === "containerType" ? condition ? Math.max(2, 1 + (Math.floor(condition / 256) >>> 23 & 7) + (Math.floor(condition / 256) >>> 26) * 6 - (condition >>> 5 & 7)) : 2 : condition ? 1 + (Math.floor(condition / 256) >>> 23 & 7) + (Math.floor(condition / 256) >>> 26) * 6 - (condition >>> 5 & 7) : 1;
100
- return base;
101
134
  }
102
135
  function buildAtomicSlotCSS(atomicKey, entries, signature) {
103
136
  if (process.env.TAMAGUI_DID_OUTPUT_CSS) return;
104
137
  syncAtomicConfig();
105
- let byKey = slotIdentities.get(atomicKey);
106
- const known = byKey?.get(signature);
138
+ let bySignature = slotIdentities.get(atomicKey);
139
+ if (!bySignature) slotIdentities.set(atomicKey, bySignature = /* @__PURE__ */ new Map());
140
+ const known = bySignature.get(signature);
107
141
  if (known) return known;
108
142
  const hash = simpleHash(signature, "strict") || "0";
109
- let shortProp = "";
110
- for (let index = 0; index < atomicKey.length; index++) {
111
- const code = atomicKey.charCodeAt(index);
112
- if ((index === 0 || code >= 65 && code <= 90 || atomicKey.charCodeAt(index - 1) === 45) && (code >= 65 && code <= 90 || code >= 97 && code <= 122)) {
113
- shortProp += atomicKey[index].toLowerCase();
114
- }
115
- }
116
- shortProp ||= "x";
117
- let identifier = `_${shortProp}-${hash}`;
143
+ let identifier = `_${getShortProp(atomicKey)}-${hash}`;
118
144
  if (atomicKey === "pointerEvents" && entries.length === 1 && !entries[0][2]) {
119
145
  const value = entries[0][1];
120
146
  if (value === "box-none") identifier = "_pe-boxnone";
@@ -122,10 +148,15 @@ function buildAtomicSlotCSS(atomicKey, entries, signature) {
122
148
  }
123
149
  const rules = [];
124
150
  let lastValue;
151
+ let layered = false;
152
+ for (let index = 1; index < entries.length; index++) if (entries[index][0] !== entries[0][0]) {
153
+ layered = true;
154
+ break;
155
+ }
125
156
  for (const entry of entries) {
126
157
  const value = entry[1];
127
158
  lastValue = value;
128
- const entryRules = createAtomicRules(identifier, entry[0], value, entry[4], entry[5], 2, slotClassRepetitions(atomicKey, entry[2]), entry[6], entry[7]);
159
+ const entryRules = createAtomicRules(identifier, entry[0], value, entry[4], entry[5], 2, Math.max(layered ? 1 + (entry[7] >> 5) : 1, atomicKey === "containerName" || atomicKey === "containerType" ? 2 : 1));
129
160
  for (const rule of entryRules) rules.push(rule);
130
161
  }
131
162
  const built = [
@@ -133,27 +164,15 @@ function buildAtomicSlotCSS(atomicKey, entries, signature) {
133
164
  rules,
134
165
  lastValue
135
166
  ];
136
- if (slotIdentitiesSize > 1e4) {
167
+ if (slotIdentityCount > 1e4) {
137
168
  slotIdentities.clear();
138
- slotIdentitiesSize = 0;
139
- byKey = void 0;
140
- }
141
- if (!byKey) {
142
- byKey = /* @__PURE__ */ new Map();
143
- slotIdentities.set(atomicKey, byKey);
169
+ slotIdentityCount = 0;
170
+ slotIdentities.set(atomicKey, bySignature = /* @__PURE__ */ new Map());
144
171
  }
145
- byKey.set(signature, built);
146
- slotIdentitiesSize++;
172
+ slotIdentityCount++;
173
+ bySignature.set(signature, built);
147
174
  return built;
148
175
  }
149
- function createDeclarationBlock(style, important = false, trailingSemicolon = true) {
150
- let next = "";
151
- for (let index = 0; index < style.length; index++) {
152
- const [key, value] = style[index];
153
- next += `${hyphenateStyleName(key)}:${value}${important ? " !important" : ""}${trailingSemicolon || index < style.length - 1 ? ";" : ""}`;
154
- }
155
- return `{${next}}`;
156
- }
157
176
  const hcache = {};
158
177
  const toHyphenLower = (match) => `-${match.toLowerCase()}`;
159
178
  const hyphenateStyleName = (key) => {
@@ -162,59 +181,57 @@ const hyphenateStyleName = (key) => {
162
181
  hcache[key] = val;
163
182
  return val;
164
183
  };
165
- function createAtomicRules(identifier, property, value, condition = "", wrappers, direct = false, classRepetitions = 1, wrapperStart = 0, wrapperCount = wrappers?.length || 0) {
184
+ function declaration(key, value, important = false) {
185
+ return `${hyphenateStyleName(key)}:${value}${important ? " !important" : ""};`;
186
+ }
187
+ function createAtomicRules(identifier, property, value, condition = "", wrappers, direct = false, classRepetitions = 1) {
166
188
  const repetitions = direct && classRepetitions > 1 ? classRepetitions : !direct && property in cssShorthandLonghands ? 2 : 1;
167
- const cls = `.${identifier}`.repeat(repetitions);
168
- const selector = `${cls}${condition}`;
189
+ const selector = `${`.${identifier}`.repeat(repetitions)}${condition}`;
169
190
  let rules = [];
170
191
  switch (property) {
171
- case "placeholderTextColor": {
172
- const block = createDeclarationBlock([["color", value], ["opacity", 1]], false);
173
- rules.push(`${selector}::placeholder${block}`);
192
+ case "placeholderTextColor":
193
+ rules.push(`${selector}::placeholder{${declaration("color", value)}${declaration("opacity", 1)}}`);
194
+ break;
195
+ case "selectionColor":
196
+ rules.push(`${selector}::selection{${declaration("backgroundColor", value)}}`);
197
+ break;
198
+ case "cursorColor":
199
+ case "selectionHandleColor":
200
+ rules.push(`${selector}{${declaration("caretColor", value)}}`);
174
201
  break;
175
- }
176
202
  case "backgroundClip":
177
203
  case "userSelect": {
178
- const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`;
179
- const webkitProperty = `Webkit${propertyCapitalized}`;
180
- const block = createDeclarationBlock([[property, value], [webkitProperty, value]], false);
181
- rules.push(`${selector}${block}`);
204
+ const webkitProperty = `Webkit${`${property[0].toUpperCase()}${property.slice(1)}`}`;
205
+ rules.push(`${selector}{${declaration(property, value)}${declaration(webkitProperty, value)}}`);
182
206
  break;
183
207
  }
184
208
  case "pointerEvents": {
185
209
  if (direct) {
186
210
  const subject = value === "none" || value === "box-none" ? "none" : "auto";
187
211
  const children = value === "none" || value === "box-only" ? "none" : "auto";
188
- rules.push(`${selector}${createDeclarationBlock([["pointerEvents", subject]], false, false)}`, `${selector}>*${createDeclarationBlock([["pointerEvents", children]], false, false)}`);
212
+ rules.push(`${selector}{pointer-events:${subject}}`, `${selector}>*{pointer-events:${children}}`);
189
213
  break;
190
214
  }
191
215
  let finalValue = value;
192
- if (value === "auto" || value === "box-only") {
193
- finalValue = "auto";
194
- } else if (value === "none" || value === "box-none") {
195
- finalValue = "none";
196
- }
197
- const block = createDeclarationBlock([["pointerEvents", finalValue]], true);
198
- rules.push(`${selector}${block}`);
216
+ if (value === "auto" || value === "box-only") finalValue = "auto";
217
+ else if (value === "none" || value === "box-none") finalValue = "none";
218
+ rules.push(`${selector}{${declaration("pointerEvents", finalValue, true)}}`);
199
219
  break;
200
220
  }
201
221
  default: {
202
- const block = createDeclarationBlock([[property, value]], false, !direct);
203
- rules.push(`${selector}${block}`);
222
+ let output = declaration(property, value);
223
+ if (direct) output = output.slice(0, -1);
224
+ rules.push(`${selector}{${output}}`);
204
225
  break;
205
226
  }
206
227
  }
207
- if (wrappers && wrapperCount) {
208
- for (let ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) {
209
- let rule = rules[ruleIndex];
210
- for (let index = wrapperStart + wrapperCount - 1; index >= wrapperStart; index--) {
211
- rule = `${wrappers[index]} {${rule}}`;
212
- }
213
- rules[ruleIndex] = rule;
214
- }
228
+ if (wrappers) for (let ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) {
229
+ let rule = rules[ruleIndex];
230
+ for (let index = wrappers.length - 1; index >= 0; index--) rule = `${wrappers[index]} {${rule}}`;
231
+ rules[ruleIndex] = rule;
215
232
  }
216
233
  return rules;
217
234
  }
218
235
 
219
- export { buildAtomicSlotCSS, getCSSStyleAtomic, getCSSStylesAtomic, probeRawSlotIdentity, storeRawSlotIdentity, styleToCSS2 as styleToCSS };
236
+ export { addComposition, buildAtomicSlotCSS, canGenerateCSS, flushDirectStyles, getCSSStyleAtomic, getCSSStylesAtomic, registerAtomicSlot, styleToCSS2 as styleToCSS };
220
237
  //# sourceMappingURL=getCSSStylesAtomic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCSSStylesAtomic.js","names":[],"sources":["esm/helpers/getCSSStylesAtomic.js"],"sourcesContent":["import { cssShorthandLonghands, simpleHash } from \"@tamagui/helpers\";\nimport { getConfigMaybe } from \"../config\";\nimport { getConfigRevisionState } from \"./grammarConfig\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty\";\nimport { styleToCSS } from \"./styleToCSS\";\nimport { transformsToString } from \"./transformsToString\";\nimport { styleToCSS as styleToCSS2 } from \"./styleToCSS\";\nfunction getCSSStylesAtomic(style) {\n if (process.env.TAMAGUI_DID_OUTPUT_CSS) return [];\n styleToCSS(style);\n const out = [];\n for (const key in style) {\n if (key === \"$$css\") continue;\n const val = style[key];\n const so = getStyleObject(val, key);\n if (so) {\n out.push(so);\n }\n }\n return out;\n}\nfunction getCSSStyleAtomic(key, val, condition = \"\", wrappers, identity, direct = false, identityKey = key, classRepetitions = 1) {\n if (process.env.TAMAGUI_DID_OUTPUT_CSS) return;\n return getStyleObject(\n val,\n key,\n condition,\n wrappers,\n identity,\n direct,\n identityKey,\n classRepetitions\n );\n}\nlet conf = null;\nlet confRevision = 0;\nconst getStyleObject = (val, key, condition = \"\", wrappers, identity, direct = false, identityKey = key, classRepetitions = 1) => {\n if (val == null) return;\n if (key === \"transform\" && Array.isArray(val)) {\n val = transformsToString(val);\n }\n const value = normalizeValueWithProperty(val, key);\n const nextConf = syncAtomicConfig();\n const rawValue = typeof value === \"string\" ? value : `${value}`;\n const hash = simpleHash(identity ?? rawValue, direct ? \"strict\" : 10) || \"0\";\n let shortProp;\n if (direct) {\n shortProp = \"\";\n for (let index = 0; index < identityKey.length; index++) {\n const code = identityKey.charCodeAt(index);\n if ((index === 0 || code >= 65 && code <= 90 || identityKey.charCodeAt(index - 1) === 45) && (code >= 65 && code <= 90 || code >= 97 && code <= 122)) {\n shortProp += identityKey[index].toLowerCase();\n }\n }\n shortProp ||= \"x\";\n } else {\n shortProp = conf?.inverseShorthands[key] || key;\n }\n let identifier = `_${shortProp}-${hash}`;\n if (key === \"pointerEvents\" && !condition) {\n if (value === \"box-none\") identifier = \"_pe-boxnone\";\n else if (value === \"box-only\") identifier = \"_pe-boxonly\";\n }\n const rules = createAtomicRules(\n identifier,\n key,\n value,\n condition,\n wrappers,\n direct,\n classRepetitions\n );\n return [\n // array for performance\n key,\n value,\n identifier,\n void 0,\n rules\n ];\n};\nconst slotIdentities = /* @__PURE__ */ new Map();\nlet slotIdentitiesSize = 0;\nconst rawSlotIdentities = /* @__PURE__ */ new Map();\nlet rawSlotIdentitiesSize = 0;\nfunction probeRawSlotIdentity(property, raw) {\n syncAtomicConfig();\n return rawSlotIdentities.get(property)?.get(raw);\n}\nfunction storeRawSlotIdentity(property, raw, identity) {\n if (rawSlotIdentitiesSize > 1e4) {\n rawSlotIdentities.clear();\n rawSlotIdentitiesSize = 0;\n }\n let byRaw = rawSlotIdentities.get(property);\n if (!byRaw) {\n byRaw = /* @__PURE__ */ new Map();\n rawSlotIdentities.set(property, byRaw);\n }\n byRaw.set(raw, identity);\n rawSlotIdentitiesSize++;\n}\nfunction syncAtomicConfig() {\n const nextConf = getConfigMaybe();\n const nextRevision = nextConf ? getConfigRevisionState(nextConf).revision : 0;\n if (nextConf !== conf || nextRevision !== confRevision) {\n conf = nextConf;\n confRevision = nextRevision;\n slotIdentities.clear();\n slotIdentitiesSize = 0;\n rawSlotIdentities.clear();\n rawSlotIdentitiesSize = 0;\n }\n return nextConf;\n}\nfunction slotClassRepetitions(atomicKey, condition) {\n const base = atomicKey === \"containerName\" || atomicKey === \"containerType\" ? condition ? Math.max(\n 2,\n 1 + (Math.floor(condition / 256) >>> 23 & 7) + (Math.floor(condition / 256) >>> 26) * 6 - (condition >>> 5 & 7)\n ) : 2 : condition ? 1 + (Math.floor(condition / 256) >>> 23 & 7) + (Math.floor(condition / 256) >>> 26) * 6 - (condition >>> 5 & 7) : 1;\n return base;\n}\nfunction buildAtomicSlotCSS(atomicKey, entries, signature) {\n if (process.env.TAMAGUI_DID_OUTPUT_CSS) return;\n syncAtomicConfig();\n let byKey = slotIdentities.get(atomicKey);\n const known = byKey?.get(signature);\n if (known) return known;\n const hash = simpleHash(signature, \"strict\") || \"0\";\n let shortProp = \"\";\n for (let index = 0; index < atomicKey.length; index++) {\n const code = atomicKey.charCodeAt(index);\n if ((index === 0 || code >= 65 && code <= 90 || atomicKey.charCodeAt(index - 1) === 45) && (code >= 65 && code <= 90 || code >= 97 && code <= 122)) {\n shortProp += atomicKey[index].toLowerCase();\n }\n }\n shortProp ||= \"x\";\n let identifier = `_${shortProp}-${hash}`;\n if (atomicKey === \"pointerEvents\" && entries.length === 1 && !entries[0][2]) {\n const value = entries[0][1];\n if (value === \"box-none\") identifier = \"_pe-boxnone\";\n else if (value === \"box-only\") identifier = \"_pe-boxonly\";\n }\n const rules = [];\n let lastValue;\n for (const entry of entries) {\n const value = entry[1];\n lastValue = value;\n const entryRules = createAtomicRules(\n identifier,\n entry[0],\n value,\n entry[4],\n entry[5],\n 2,\n slotClassRepetitions(atomicKey, entry[2]),\n entry[6],\n entry[7]\n );\n for (const rule of entryRules) rules.push(rule);\n }\n const built = [identifier, rules, lastValue];\n if (slotIdentitiesSize > 1e4) {\n slotIdentities.clear();\n slotIdentitiesSize = 0;\n byKey = void 0;\n }\n if (!byKey) {\n byKey = /* @__PURE__ */ new Map();\n slotIdentities.set(atomicKey, byKey);\n }\n byKey.set(signature, built);\n slotIdentitiesSize++;\n return built;\n}\nfunction createDeclarationBlock(style, important = false, trailingSemicolon = true) {\n let next = \"\";\n for (let index = 0; index < style.length; index++) {\n const [key, value] = style[index];\n next += `${hyphenateStyleName(key)}:${value}${important ? \" !important\" : \"\"}${trailingSemicolon || index < style.length - 1 ? \";\" : \"\"}`;\n }\n return `{${next}}`;\n}\nconst hcache = {};\nconst toHyphenLower = (match) => `-${match.toLowerCase()}`;\nconst hyphenateStyleName = (key) => {\n if (key in hcache) return hcache[key];\n const val = key.replace(/[A-Z]/g, toHyphenLower);\n hcache[key] = val;\n return val;\n};\nfunction createAtomicRules(identifier, property, value, condition = \"\", wrappers, direct = false, classRepetitions = 1, wrapperStart = 0, wrapperCount = wrappers?.length || 0) {\n const repetitions = direct && classRepetitions > 1 ? classRepetitions : !direct && property in cssShorthandLonghands ? 2 : 1;\n const cls = `.${identifier}`.repeat(repetitions);\n const selector = `${cls}${condition}`;\n let rules = [];\n switch (property) {\n // Equivalent to using '::placeholder'\n case \"placeholderTextColor\": {\n const block = createDeclarationBlock(\n [\n [\"color\", value],\n [\"opacity\", 1]\n ],\n false\n );\n rules.push(`${selector}::placeholder${block}`);\n break;\n }\n // all webkit prefixed rules\n case \"backgroundClip\":\n case \"userSelect\": {\n const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`;\n const webkitProperty = `Webkit${propertyCapitalized}`;\n const block = createDeclarationBlock(\n [\n [property, value],\n [webkitProperty, value]\n ],\n false\n );\n rules.push(`${selector}${block}`);\n break;\n }\n // Polyfill for additional 'pointer-events' values\n case \"pointerEvents\": {\n if (direct) {\n const subject = value === \"none\" || value === \"box-none\" ? \"none\" : \"auto\";\n const children = value === \"none\" || value === \"box-only\" ? \"none\" : \"auto\";\n rules.push(\n `${selector}${createDeclarationBlock([[\"pointerEvents\", subject]], false, false)}`,\n `${selector}>*${createDeclarationBlock(\n [[\"pointerEvents\", children]],\n false,\n false\n )}`\n );\n break;\n }\n let finalValue = value;\n if (value === \"auto\" || value === \"box-only\") {\n finalValue = \"auto\";\n } else if (value === \"none\" || value === \"box-none\") {\n finalValue = \"none\";\n }\n const block = createDeclarationBlock([[\"pointerEvents\", finalValue]], true);\n rules.push(`${selector}${block}`);\n break;\n }\n default: {\n const block = createDeclarationBlock([[property, value]], false, !direct);\n rules.push(`${selector}${block}`);\n break;\n }\n }\n if (wrappers && wrapperCount) {\n for (let ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) {\n let rule = rules[ruleIndex];\n for (let index = wrapperStart + wrapperCount - 1; index >= wrapperStart; index--) {\n rule = `${wrappers[index]} {${rule}}`;\n }\n rules[ruleIndex] = rule;\n }\n }\n return rules;\n}\nexport {\n buildAtomicSlotCSS,\n getCSSStyleAtomic,\n getCSSStylesAtomic,\n probeRawSlotIdentity,\n storeRawSlotIdentity,\n styleToCSS2 as styleToCSS\n};\n//# sourceMappingURL=getCSSStylesAtomic.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"getCSSStylesAtomic.js","names":[],"sources":["esm/helpers/getCSSStylesAtomic.js"],"sourcesContent":["import { StyleObjectIdentifier, StyleObjectRules, cssShorthandLonghands, simpleHash } from \"@tamagui/helpers\";\nimport { getConfigMaybe } from \"../config\";\nimport { getConfigRevisionState } from \"./grammarConfig\";\nimport { shouldInsertStyleRules, updateRules } from \"./insertStyleRule\";\nimport { normalizeValueWithProperty } from \"./normalizeValueWithProperty\";\nimport { styleToCSS, styleToCSS as styleToCSS2 } from \"./styleToCSS\";\nimport { transformsToString } from \"./transformsToString\";\n\nconst canGenerateCSS = !process.env.TAMAGUI_DID_OUTPUT_CSS;\nfunction directStyleSignature(property, value, conditionKey = \"\") {\n\treturn \"\u001f\" + property + \"\u001f\" + conditionKey + \"\u001e\" + String(value);\n}\nfunction getShortProp(key) {\n\tlet short = \"\";\n\tfor (let i = 0; i < key.length; i++) {\n\t\tconst code = key.charCodeAt(i);\n\t\tif ((i === 0 || code >= 65 && code <= 90 || key.charCodeAt(i - 1) === 45) && (code >= 65 && code <= 90 || code >= 97 && code <= 122)) short += key[i].toLowerCase();\n\t}\n\treturn short || \"x\";\n}\nfunction registerAtomicSlot(state, atomicKey, entries) {\n\tlet signature = \"\";\n\tfor (let index = 0; index < entries.length; index++) {\n\t\tconst entry = entries[index];\n\t\tlet value = entry[1];\n\t\tif (entry[0] === \"transform\" && Array.isArray(value)) value = transformsToString(value);\n\t\tentry[1] = normalizeValueWithProperty(value, entry[0]);\n\t\tsignature += directStyleSignature(entry[0], entry[1], `${entry[3]}\u001d${entry[7] >> 5}`);\n\t}\n\tconst built = buildAtomicSlotCSS(atomicKey, entries, signature);\n\tif (!built) return;\n\tlet styleObjectProperty = entries[0][0];\n\tfor (let index = 1; index < entries.length; index++) if (entries[index][0] !== styleObjectProperty) {\n\t\tstyleObjectProperty = atomicKey;\n\t\tbreak;\n\t}\n\tconst styleObject = built[3] ||= [\n\t\tstyleObjectProperty,\n\t\tbuilt[2],\n\t\tbuilt[0],\n\t\tvoid 0,\n\t\tbuilt[1]\n\t];\n\t(state.flatAtomics ||= /* @__PURE__ */ new Map()).set(atomicKey, styleObject);\n\tstate.classNames[atomicKey] = built[0];\n}\nfunction flushDirectStyles(state, clear = false) {\n\tif (!canGenerateCSS) {\n\t\tif (clear) state.flatAtomics = void 0;\n\t\treturn;\n\t}\n\tconst direct = state;\n\tconst atomics = direct.flatAtomics;\n\tif (!atomics) return;\n\tfor (const styleObject of atomics.values()) {\n\t\tconst identifier = styleObject[StyleObjectIdentifier];\n\t\tif (shouldInsertStyleRules(identifier)) {\n\t\t\tconst rules = styleObject[StyleObjectRules].slice();\n\t\t\tstyleObject[StyleObjectRules] = rules;\n\t\t\tupdateRules(identifier, rules);\n\t\t\tstate.flatRulesToInsert[identifier] = styleObject;\n\t\t}\n\t}\n\tif (clear) direct.flatAtomics = void 0;\n}\nfunction addComposition(state, property) {\n\tif (!canGenerateCSS || state.classNames[property]) return;\n\tconst isTranslate = property === \"translate\";\n\tconst identifier = isTranslate ? \"_t-compose\" : \"_s-compose\";\n\tconst value = isTranslate ? \"var(--t-x, 0px) var(--t-y, 0px)\" : \"var(--t-scale-x, 1) var(--t-scale-y, 1)\";\n\tconst rules = [`:where(.${identifier}){${isTranslate ? \"--t-x:0px;--t-y:0px\" : \"--t-scale-x:1;--t-scale-y:1\"}}`, `.${identifier}{${property}:${value}}`];\n\tif (shouldInsertStyleRules(identifier)) {\n\t\tupdateRules(identifier, rules);\n\t\tstate.flatRulesToInsert[identifier] = [\n\t\t\tproperty,\n\t\t\tvalue,\n\t\t\tidentifier,\n\t\t\tvoid 0,\n\t\t\trules\n\t\t];\n\t}\n\tstate.classNames[property] = identifier;\n}\nfunction getCSSStylesAtomic(style) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) return [];\n\tstyleToCSS(style);\n\tconst out = [];\n\tfor (const key in style) {\n\t\tif (key === \"$$css\") continue;\n\t\tconst val = style[key];\n\t\tconst so = getStyleObject(val, key);\n\t\tif (so) out.push(so);\n\t}\n\treturn out;\n}\nfunction getCSSStyleAtomic(key, val, condition = \"\", wrappers, identity, direct = false, identityKey = key, classRepetitions = 1) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) return;\n\treturn getStyleObject(val, key, condition, wrappers, identity, direct, identityKey, classRepetitions);\n}\nlet conf = null;\nlet confRevision = 0;\nconst getStyleObject = (val, key, condition = \"\", wrappers, identity, direct = false, identityKey = key, classRepetitions = 1) => {\n\tif (val == null) return;\n\tif (key === \"transform\" && Array.isArray(val)) val = transformsToString(val);\n\tconst value = normalizeValueWithProperty(val, key);\n\tsyncAtomicConfig();\n\tconst rawValue = typeof value === \"string\" ? value : `${value}`;\n\tconst hash = simpleHash(identity ?? rawValue, direct ? \"strict\" : 10) || \"0\";\n\tlet identifier = `_${direct ? getShortProp(identityKey) : conf?.inverseShorthands[key] || key}-${hash}`;\n\tif (key === \"pointerEvents\" && !condition) {\n\t\tif (value === \"box-none\") identifier = \"_pe-boxnone\";\n\t\telse if (value === \"box-only\") identifier = \"_pe-boxonly\";\n\t}\n\tconst rules = createAtomicRules(identifier, key, value, condition, wrappers, direct, classRepetitions);\n\treturn [\n\t\tkey,\n\t\tvalue,\n\t\tidentifier,\n\t\tvoid 0,\n\t\trules\n\t];\n};\nconst slotIdentities = /* @__PURE__ */ new Map();\nlet slotIdentityCount = 0;\nfunction syncAtomicConfig() {\n\tconst nextConf = getConfigMaybe();\n\tconst nextRevision = nextConf ? getConfigRevisionState(nextConf).revision : 0;\n\tif (nextConf !== conf || nextRevision !== confRevision) {\n\t\tconf = nextConf;\n\t\tconfRevision = nextRevision;\n\t\tslotIdentities.clear();\n\t\tslotIdentityCount = 0;\n\t}\n}\nfunction buildAtomicSlotCSS(atomicKey, entries, signature) {\n\tif (process.env.TAMAGUI_DID_OUTPUT_CSS) return;\n\tsyncAtomicConfig();\n\tlet bySignature = slotIdentities.get(atomicKey);\n\tif (!bySignature) slotIdentities.set(atomicKey, bySignature = /* @__PURE__ */ new Map());\n\tconst known = bySignature.get(signature);\n\tif (known) return known;\n\tconst hash = simpleHash(signature, \"strict\") || \"0\";\n\tlet identifier = `_${getShortProp(atomicKey)}-${hash}`;\n\tif (atomicKey === \"pointerEvents\" && entries.length === 1 && !entries[0][2]) {\n\t\tconst value = entries[0][1];\n\t\tif (value === \"box-none\") identifier = \"_pe-boxnone\";\n\t\telse if (value === \"box-only\") identifier = \"_pe-boxonly\";\n\t}\n\tconst rules = [];\n\tlet lastValue;\n\tlet layered = false;\n\tfor (let index = 1; index < entries.length; index++) if (entries[index][0] !== entries[0][0]) {\n\t\tlayered = true;\n\t\tbreak;\n\t}\n\tfor (const entry of entries) {\n\t\tconst value = entry[1];\n\t\tlastValue = value;\n\t\tconst entryRules = createAtomicRules(identifier, entry[0], value, entry[4], entry[5], 2, Math.max(layered ? 1 + (entry[7] >> 5) : 1, atomicKey === \"containerName\" || atomicKey === \"containerType\" ? 2 : 1));\n\t\tfor (const rule of entryRules) rules.push(rule);\n\t}\n\tconst built = [\n\t\tidentifier,\n\t\trules,\n\t\tlastValue\n\t];\n\tif (slotIdentityCount > 1e4) {\n\t\tslotIdentities.clear();\n\t\tslotIdentityCount = 0;\n\t\tslotIdentities.set(atomicKey, bySignature = /* @__PURE__ */ new Map());\n\t}\n\tslotIdentityCount++;\n\tbySignature.set(signature, built);\n\treturn built;\n}\nconst hcache = {};\nconst toHyphenLower = (match) => `-${match.toLowerCase()}`;\nconst hyphenateStyleName = (key) => {\n\tif (key in hcache) return hcache[key];\n\tconst val = key.replace(/[A-Z]/g, toHyphenLower);\n\thcache[key] = val;\n\treturn val;\n};\nfunction declaration(key, value, important = false) {\n\treturn `${hyphenateStyleName(key)}:${value}${important ? \" !important\" : \"\"};`;\n}\nfunction createAtomicRules(identifier, property, value, condition = \"\", wrappers, direct = false, classRepetitions = 1) {\n\tconst repetitions = direct && classRepetitions > 1 ? classRepetitions : !direct && property in cssShorthandLonghands ? 2 : 1;\n\tconst selector = `${`.${identifier}`.repeat(repetitions)}${condition}`;\n\tlet rules = [];\n\tswitch (property) {\n\t\tcase \"placeholderTextColor\":\n\t\t\trules.push(`${selector}::placeholder{${declaration(\"color\", value)}${declaration(\"opacity\", 1)}}`);\n\t\t\tbreak;\n\t\tcase \"selectionColor\":\n\t\t\trules.push(`${selector}::selection{${declaration(\"backgroundColor\", value)}}`);\n\t\t\tbreak;\n\t\tcase \"cursorColor\":\n\t\tcase \"selectionHandleColor\":\n\t\t\trules.push(`${selector}{${declaration(\"caretColor\", value)}}`);\n\t\t\tbreak;\n\t\tcase \"backgroundClip\":\n\t\tcase \"userSelect\": {\n\t\t\tconst webkitProperty = `Webkit${`${property[0].toUpperCase()}${property.slice(1)}`}`;\n\t\t\trules.push(`${selector}{${declaration(property, value)}${declaration(webkitProperty, value)}}`);\n\t\t\tbreak;\n\t\t}\n\t\tcase \"pointerEvents\": {\n\t\t\tif (direct) {\n\t\t\t\tconst subject = value === \"none\" || value === \"box-none\" ? \"none\" : \"auto\";\n\t\t\t\tconst children = value === \"none\" || value === \"box-only\" ? \"none\" : \"auto\";\n\t\t\t\trules.push(`${selector}{pointer-events:${subject}}`, `${selector}>*{pointer-events:${children}}`);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlet finalValue = value;\n\t\t\tif (value === \"auto\" || value === \"box-only\") finalValue = \"auto\";\n\t\t\telse if (value === \"none\" || value === \"box-none\") finalValue = \"none\";\n\t\t\trules.push(`${selector}{${declaration(\"pointerEvents\", finalValue, true)}}`);\n\t\t\tbreak;\n\t\t}\n\t\tdefault: {\n\t\t\tlet output = declaration(property, value);\n\t\t\tif (direct) output = output.slice(0, -1);\n\t\t\trules.push(`${selector}{${output}}`);\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (wrappers) for (let ruleIndex = 0; ruleIndex < rules.length; ruleIndex++) {\n\t\tlet rule = rules[ruleIndex];\n\t\tfor (let index = wrappers.length - 1; index >= 0; index--) rule = `${wrappers[index]} {${rule}}`;\n\t\trules[ruleIndex] = rule;\n\t}\n\treturn rules;\n}\n\nexport { addComposition, buildAtomicSlotCSS, canGenerateCSS, flushDirectStyles, getCSSStyleAtomic, getCSSStylesAtomic, registerAtomicSlot, styleToCSS2 as styleToCSS };"],"mappings":"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"}
@@ -1,10 +1,13 @@
1
- var empty = function() {
2
- console.warn("no-op native");
3
- };
1
+ var empty = function() {};
2
+ var canGenerateCSS = false;
3
+ var flushDirectStyles = empty;
4
+ var addComposition = empty;
5
+ var registerAtomicSlot = empty;
6
+ var buildAtomicSlotCSS = empty;
4
7
  var getCSSStylesAtomic = empty;
5
8
  var getCSSStyleAtomic = empty;
6
9
  var getStyleAtomic = empty;
7
10
  var styleToCSS = empty;
8
11
 
9
- export { getCSSStyleAtomic, getCSSStylesAtomic, getStyleAtomic, styleToCSS };
12
+ export { addComposition, buildAtomicSlotCSS, canGenerateCSS, flushDirectStyles, getCSSStyleAtomic, getCSSStylesAtomic, getStyleAtomic, registerAtomicSlot, styleToCSS };
10
13
  //# sourceMappingURL=getCSSStylesAtomic.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCSSStylesAtomic.native.js","names":[],"sources":["esm/helpers/getCSSStylesAtomic.native.js"],"sourcesContent":["var empty = function() {\n console.warn(\"no-op native\");\n};\nvar getCSSStylesAtomic = empty;\nvar getCSSStyleAtomic = empty;\nvar getStyleAtomic = empty;\nvar styleToCSS = empty;\nexport {\n getCSSStyleAtomic,\n getCSSStylesAtomic,\n getStyleAtomic,\n styleToCSS\n};\n//# sourceMappingURL=getCSSStylesAtomic.native.js.map\n"],"mappings":";AAAA,IAAI,QAAQ,WAAW;CACrB,QAAQ,KAAK,cAAc;AAC7B;AACA,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,iBAAiB;AACrB,IAAI,aAAa"}
1
+ {"version":3,"file":"getCSSStylesAtomic.native.js","names":[],"sources":["esm/helpers/getCSSStylesAtomic.native.js"],"sourcesContent":["var empty = function() {\n};\nvar canGenerateCSS = false;\nvar flushDirectStyles = empty;\nvar addComposition = empty;\nvar registerAtomicSlot = empty;\nvar buildAtomicSlotCSS = empty;\nvar getCSSStylesAtomic = empty;\nvar getCSSStyleAtomic = empty;\nvar getStyleAtomic = empty;\nvar styleToCSS = empty;\nexport {\n addComposition,\n buildAtomicSlotCSS,\n canGenerateCSS,\n flushDirectStyles,\n getCSSStyleAtomic,\n getCSSStylesAtomic,\n getStyleAtomic,\n registerAtomicSlot,\n styleToCSS\n};\n//# sourceMappingURL=getCSSStylesAtomic.native.js.map\n"],"mappings":";AAAA,IAAI,QAAQ,WAAW,CACvB;AACA,IAAI,iBAAiB;AACrB,IAAI,oBAAoB;AACxB,IAAI,iBAAiB;AACrB,IAAI,qBAAqB;AACzB,IAAI,qBAAqB;AACzB,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,iBAAiB;AACrB,IAAI,aAAa"}
@@ -1,3 +1,10 @@
1
+ const canGenerateCSS = false;
2
+ function flushDirectStyles(_state, _clear = false) {}
3
+ function addComposition(_state, _property) {}
4
+ function registerAtomicSlot() {}
5
+ function buildAtomicSlotCSS() {
6
+ return void 0;
7
+ }
1
8
  function getCSSStylesAtomic(_style) {
2
9
  return [];
3
10
  }
@@ -5,5 +12,5 @@ function getCSSStyleAtomic() {
5
12
  return void 0;
6
13
  }
7
14
 
8
- export { getCSSStyleAtomic, getCSSStylesAtomic };
15
+ export { addComposition, buildAtomicSlotCSS, canGenerateCSS, flushDirectStyles, getCSSStyleAtomic, getCSSStylesAtomic, registerAtomicSlot };
9
16
  //# sourceMappingURL=getCSSStylesAtomicCompiled.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCSSStylesAtomicCompiled.js","names":[],"sources":["esm/helpers/getCSSStylesAtomicCompiled.js"],"sourcesContent":["function getCSSStylesAtomic(_style) {\n return [];\n}\nfunction getCSSStyleAtomic() {\n return void 0;\n}\nexport {\n getCSSStyleAtomic,\n getCSSStylesAtomic\n};\n//# sourceMappingURL=getCSSStylesAtomicCompiled.js.map\n"],"mappings":";AAAA,SAAS,mBAAmB,QAAQ;CAClC,OAAO,CAAC;AACV;AACA,SAAS,oBAAoB;CAC3B,OAAO,KAAK;AACd"}
1
+ {"version":3,"file":"getCSSStylesAtomicCompiled.js","names":[],"sources":["esm/helpers/getCSSStylesAtomicCompiled.js"],"sourcesContent":["const canGenerateCSS = false;\nfunction flushDirectStyles(_state, _clear = false) {\n}\nfunction addComposition(_state, _property) {\n}\nfunction registerAtomicSlot() {\n}\nfunction buildAtomicSlotCSS() {\n return void 0;\n}\nfunction getCSSStylesAtomic(_style) {\n return [];\n}\nfunction getCSSStyleAtomic() {\n return void 0;\n}\nexport {\n addComposition,\n buildAtomicSlotCSS,\n canGenerateCSS,\n flushDirectStyles,\n getCSSStyleAtomic,\n getCSSStylesAtomic,\n registerAtomicSlot\n};\n//# sourceMappingURL=getCSSStylesAtomicCompiled.js.map\n"],"mappings":";AAAA,MAAM,iBAAiB;AACvB,SAAS,kBAAkB,QAAQ,SAAS,OAAO,CACnD;AACA,SAAS,eAAe,QAAQ,WAAW,CAC3C;AACA,SAAS,qBAAqB,CAC9B;AACA,SAAS,qBAAqB;CAC5B,OAAO,KAAK;AACd;AACA,SAAS,mBAAmB,QAAQ;CAClC,OAAO,CAAC;AACV;AACA,SAAS,oBAAoB;CAC3B,OAAO,KAAK;AACd"}
@@ -1,3 +1,12 @@
1
+ var canGenerateCSS = false;
2
+ function flushDirectStyles(_state) {
3
+ var _clear = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
4
+ }
5
+ function addComposition(_state, _property) {}
6
+ function registerAtomicSlot() {}
7
+ function buildAtomicSlotCSS() {
8
+ return void 0;
9
+ }
1
10
  function getCSSStylesAtomic(_style) {
2
11
  return [];
3
12
  }
@@ -5,5 +14,5 @@ function getCSSStyleAtomic() {
5
14
  return void 0;
6
15
  }
7
16
 
8
- export { getCSSStyleAtomic, getCSSStylesAtomic };
17
+ export { addComposition, buildAtomicSlotCSS, canGenerateCSS, flushDirectStyles, getCSSStyleAtomic, getCSSStylesAtomic, registerAtomicSlot };
9
18
  //# sourceMappingURL=getCSSStylesAtomicCompiled.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCSSStylesAtomicCompiled.native.js","names":[],"sources":["esm/helpers/getCSSStylesAtomicCompiled.native.js"],"sourcesContent":["function getCSSStylesAtomic(_style) {\n return [];\n}\nfunction getCSSStyleAtomic() {\n return void 0;\n}\nexport {\n getCSSStyleAtomic,\n getCSSStylesAtomic\n};\n//# sourceMappingURL=getCSSStylesAtomicCompiled.js.map\n"],"mappings":";AAAA,SAAS,mBAAmB,QAAQ;CAClC,OAAO,CAAC;AACV;AACA,SAAS,oBAAoB;CAC3B,OAAO,KAAK;AACd"}
1
+ {"version":3,"file":"getCSSStylesAtomicCompiled.native.js","names":[],"sources":["esm/helpers/getCSSStylesAtomicCompiled.native.js"],"sourcesContent":["var canGenerateCSS = false;\nfunction flushDirectStyles(_state) {\n var _clear = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;\n}\nfunction addComposition(_state, _property) {\n}\nfunction registerAtomicSlot() {\n}\nfunction buildAtomicSlotCSS() {\n return void 0;\n}\nfunction getCSSStylesAtomic(_style) {\n return [];\n}\nfunction getCSSStyleAtomic() {\n return void 0;\n}\nexport {\n addComposition,\n buildAtomicSlotCSS,\n canGenerateCSS,\n flushDirectStyles,\n getCSSStyleAtomic,\n getCSSStylesAtomic,\n registerAtomicSlot\n};\n//# sourceMappingURL=getCSSStylesAtomicCompiled.js.map\n"],"mappings":";AAAA,IAAI,iBAAiB;AACrB,SAAS,kBAAkB,QAAQ;CACjC,IAAI,SAAS,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;AAChF;AACA,SAAS,eAAe,QAAQ,WAAW,CAC3C;AACA,SAAS,qBAAqB,CAC9B;AACA,SAAS,qBAAqB;CAC5B,OAAO,KAAK;AACd;AACA,SAAS,mBAAmB,QAAQ;CAClC,OAAO,CAAC;AACV;AACA,SAAS,oBAAoB;CAC3B,OAAO,KAAK;AACd"}
@@ -16,7 +16,11 @@ const colorStyleKeys = {
16
16
  textDecorationColor: true,
17
17
  textShadowColor: true,
18
18
  tintColor: true,
19
- outlineColor: true
19
+ outlineColor: true,
20
+ placeholderTextColor: true,
21
+ selectionColor: true,
22
+ cursorColor: true,
23
+ selectionHandleColor: true
20
24
  };
21
25
  function isColorStyleKey(key) {
22
26
  return colorStyleKeys[key] === true;
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicVal.js","names":[],"sources":["esm/helpers/getDynamicVal.js"],"sourcesContent":["function getOppositeScheme(scheme) {\n return scheme === \"dark\" ? \"light\" : \"dark\";\n}\nconst colorStyleKeys = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n borderBlockColor: true,\n borderBlockEndColor: true,\n borderBlockStartColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true,\n tintColor: true,\n outlineColor: true\n};\nfunction isColorStyleKey(key) {\n return colorStyleKeys[key] === true;\n}\nfunction getDynamicVal({\n scheme,\n val,\n oppositeVal\n}) {\n const oppositeScheme = getOppositeScheme(scheme);\n return {\n dynamic: {\n [scheme]: val,\n [oppositeScheme]: oppositeVal\n }\n };\n}\nfunction extractValueFromDynamic(val, scheme) {\n if (val?.[\"dynamic\"]) {\n return val[\"dynamic\"][scheme];\n }\n return val;\n}\nexport {\n extractValueFromDynamic,\n getDynamicVal,\n getOppositeScheme,\n isColorStyleKey\n};\n//# sourceMappingURL=getDynamicVal.js.map\n"],"mappings":";AAAA,SAAS,kBAAkB,QAAQ;CACjC,OAAO,WAAW,SAAS,UAAU;AACvC;AACA,MAAM,iBAAiB;CACrB,iBAAiB;CACjB,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB,kBAAkB;CAClB,qBAAqB;CACrB,uBAAuB;CACvB,OAAO;CACP,aAAa;CACb,qBAAqB;CACrB,iBAAiB;CACjB,WAAW;CACX,cAAc;AAChB;AACA,SAAS,gBAAgB,KAAK;CAC5B,OAAO,eAAe,SAAS;AACjC;AACA,SAAS,cAAc,EACrB,QACA,KACA,eACC;CACD,MAAM,iBAAiB,kBAAkB,MAAM;CAC/C,OAAO,EACL,SAAS;GACN,SAAS;GACT,iBAAiB;CACpB,EACF;AACF;AACA,SAAS,wBAAwB,KAAK,QAAQ;CAC5C,IAAI,MAAM,YAAY;EACpB,OAAO,IAAI,UAAU,CAAC;CACxB;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"getDynamicVal.js","names":[],"sources":["esm/helpers/getDynamicVal.js"],"sourcesContent":["function getOppositeScheme(scheme) {\n return scheme === \"dark\" ? \"light\" : \"dark\";\n}\nconst colorStyleKeys = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n borderBlockColor: true,\n borderBlockEndColor: true,\n borderBlockStartColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true,\n tintColor: true,\n outlineColor: true,\n placeholderTextColor: true,\n selectionColor: true,\n cursorColor: true,\n selectionHandleColor: true\n};\nfunction isColorStyleKey(key) {\n return colorStyleKeys[key] === true;\n}\nfunction getDynamicVal({\n scheme,\n val,\n oppositeVal\n}) {\n const oppositeScheme = getOppositeScheme(scheme);\n return {\n dynamic: {\n [scheme]: val,\n [oppositeScheme]: oppositeVal\n }\n };\n}\nfunction extractValueFromDynamic(val, scheme) {\n if (val?.[\"dynamic\"]) {\n return val[\"dynamic\"][scheme];\n }\n return val;\n}\nexport {\n extractValueFromDynamic,\n getDynamicVal,\n getOppositeScheme,\n isColorStyleKey\n};\n//# sourceMappingURL=getDynamicVal.js.map\n"],"mappings":";AAAA,SAAS,kBAAkB,QAAQ;CACjC,OAAO,WAAW,SAAS,UAAU;AACvC;AACA,MAAM,iBAAiB;CACrB,iBAAiB;CACjB,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB,kBAAkB;CAClB,qBAAqB;CACrB,uBAAuB;CACvB,OAAO;CACP,aAAa;CACb,qBAAqB;CACrB,iBAAiB;CACjB,WAAW;CACX,cAAc;CACd,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb,sBAAsB;AACxB;AACA,SAAS,gBAAgB,KAAK;CAC5B,OAAO,eAAe,SAAS;AACjC;AACA,SAAS,cAAc,EACrB,QACA,KACA,eACC;CACD,MAAM,iBAAiB,kBAAkB,MAAM;CAC/C,OAAO,EACL,SAAS;GACN,SAAS;GACT,iBAAiB;CACpB,EACF;AACF;AACA,SAAS,wBAAwB,KAAK,QAAQ;CAC5C,IAAI,MAAM,YAAY;EACpB,OAAO,IAAI,UAAU,CAAC;CACxB;CACA,OAAO;AACT"}
@@ -16,7 +16,11 @@ var colorStyleKeys = {
16
16
  textDecorationColor: true,
17
17
  textShadowColor: true,
18
18
  tintColor: true,
19
- outlineColor: true
19
+ outlineColor: true,
20
+ placeholderTextColor: true,
21
+ selectionColor: true,
22
+ cursorColor: true,
23
+ selectionHandleColor: true
20
24
  };
21
25
  function isColorStyleKey(key) {
22
26
  return colorStyleKeys[key] === true;
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicVal.native.js","names":[],"sources":["esm/helpers/getDynamicVal.native.js"],"sourcesContent":["function getOppositeScheme(scheme) {\n return scheme === \"dark\" ? \"light\" : \"dark\";\n}\nvar colorStyleKeys = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n borderBlockColor: true,\n borderBlockEndColor: true,\n borderBlockStartColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true,\n tintColor: true,\n outlineColor: true\n};\nfunction isColorStyleKey(key) {\n return colorStyleKeys[key] === true;\n}\nfunction getDynamicVal(param) {\n var { scheme, val, oppositeVal } = param;\n var oppositeScheme = getOppositeScheme(scheme);\n return {\n dynamic: {\n [scheme]: val,\n [oppositeScheme]: oppositeVal\n }\n };\n}\nfunction extractValueFromDynamic(val, scheme) {\n if (val === null || val === void 0 ? void 0 : val[\"dynamic\"]) {\n return val[\"dynamic\"][scheme];\n }\n return val;\n}\nexport {\n extractValueFromDynamic,\n getDynamicVal,\n getOppositeScheme,\n isColorStyleKey\n};\n//# sourceMappingURL=getDynamicVal.js.map\n"],"mappings":";AAAA,SAAS,kBAAkB,QAAQ;CACjC,OAAO,WAAW,SAAS,UAAU;AACvC;AACA,IAAI,iBAAiB;CACnB,iBAAiB;CACjB,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB,kBAAkB;CAClB,qBAAqB;CACrB,uBAAuB;CACvB,OAAO;CACP,aAAa;CACb,qBAAqB;CACrB,iBAAiB;CACjB,WAAW;CACX,cAAc;AAChB;AACA,SAAS,gBAAgB,KAAK;CAC5B,OAAO,eAAe,SAAS;AACjC;AACA,SAAS,cAAc,OAAO;CAC5B,IAAI,EAAE,QAAQ,KAAK,gBAAgB;CACnC,IAAI,iBAAiB,kBAAkB,MAAM;CAC7C,OAAO,EACL,SAAS;GACN,SAAS;GACT,iBAAiB;CACpB,EACF;AACF;AACA,SAAS,wBAAwB,KAAK,QAAQ;CAC5C,IAAI,QAAQ,QAAQ,QAAQ,KAAK,IAAI,KAAK,IAAI,IAAI,YAAY;EAC5D,OAAO,IAAI,UAAU,CAAC;CACxB;CACA,OAAO;AACT"}
1
+ {"version":3,"file":"getDynamicVal.native.js","names":[],"sources":["esm/helpers/getDynamicVal.native.js"],"sourcesContent":["function getOppositeScheme(scheme) {\n return scheme === \"dark\" ? \"light\" : \"dark\";\n}\nvar colorStyleKeys = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n borderBlockColor: true,\n borderBlockEndColor: true,\n borderBlockStartColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true,\n tintColor: true,\n outlineColor: true,\n placeholderTextColor: true,\n selectionColor: true,\n cursorColor: true,\n selectionHandleColor: true\n};\nfunction isColorStyleKey(key) {\n return colorStyleKeys[key] === true;\n}\nfunction getDynamicVal(param) {\n var { scheme, val, oppositeVal } = param;\n var oppositeScheme = getOppositeScheme(scheme);\n return {\n dynamic: {\n [scheme]: val,\n [oppositeScheme]: oppositeVal\n }\n };\n}\nfunction extractValueFromDynamic(val, scheme) {\n if (val === null || val === void 0 ? void 0 : val[\"dynamic\"]) {\n return val[\"dynamic\"][scheme];\n }\n return val;\n}\nexport {\n extractValueFromDynamic,\n getDynamicVal,\n getOppositeScheme,\n isColorStyleKey\n};\n//# sourceMappingURL=getDynamicVal.js.map\n"],"mappings":";AAAA,SAAS,kBAAkB,QAAQ;CACjC,OAAO,WAAW,SAAS,UAAU;AACvC;AACA,IAAI,iBAAiB;CACnB,iBAAiB;CACjB,aAAa;CACb,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB,kBAAkB;CAClB,qBAAqB;CACrB,uBAAuB;CACvB,OAAO;CACP,aAAa;CACb,qBAAqB;CACrB,iBAAiB;CACjB,WAAW;CACX,cAAc;CACd,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb,sBAAsB;AACxB;AACA,SAAS,gBAAgB,KAAK;CAC5B,OAAO,eAAe,SAAS;AACjC;AACA,SAAS,cAAc,OAAO;CAC5B,IAAI,EAAE,QAAQ,KAAK,gBAAgB;CACnC,IAAI,iBAAiB,kBAAkB,MAAM;CAC7C,OAAO,EACL,SAAS;GACN,SAAS;GACT,iBAAiB;CACpB,EACF;AACF;AACA,SAAS,wBAAwB,KAAK,QAAQ;CAC5C,IAAI,QAAQ,QAAQ,QAAQ,KAAK,IAAI,KAAK,IAAI,IAAI,YAAY;EAC5D,OAAO,IAAI,UAAU,CAAC;CACxB;CACA,OAAO;AACT"}