zyzz 0.0.0 → 0.0.3

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 (683) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +380 -0
  3. package/dist/Config.d.ts +170 -0
  4. package/dist/Config.d.ts.map +1 -0
  5. package/dist/Config.js +249 -0
  6. package/dist/Config.js.map +1 -0
  7. package/dist/Props.d.ts +7 -0
  8. package/dist/Props.d.ts.map +1 -0
  9. package/dist/Props.js +3 -0
  10. package/dist/Props.js.map +1 -0
  11. package/dist/Style.d.ts +170 -0
  12. package/dist/Style.d.ts.map +1 -0
  13. package/dist/Style.js +325 -0
  14. package/dist/Style.js.map +1 -0
  15. package/dist/Theme.d.ts +157 -0
  16. package/dist/Theme.d.ts.map +1 -0
  17. package/dist/Theme.js +273 -0
  18. package/dist/Theme.js.map +1 -0
  19. package/dist/babel/NativeEdits.d.ts +8 -0
  20. package/dist/babel/NativeEdits.d.ts.map +1 -0
  21. package/dist/babel/NativeEdits.js +233 -0
  22. package/dist/babel/NativeEdits.js.map +1 -0
  23. package/dist/babel/NativeJsx.d.ts +10 -0
  24. package/dist/babel/NativeJsx.d.ts.map +1 -0
  25. package/dist/babel/NativeJsx.js +204 -0
  26. package/dist/babel/NativeJsx.js.map +1 -0
  27. package/dist/babel/index.d.ts +51 -0
  28. package/dist/babel/index.d.ts.map +1 -0
  29. package/dist/babel/index.js +220 -0
  30. package/dist/babel/index.js.map +1 -0
  31. package/dist/cli/index.d.ts +3 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +178 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/compiler/Graph.d.ts +64 -0
  36. package/dist/compiler/Graph.d.ts.map +1 -0
  37. package/dist/compiler/Graph.js +1111 -0
  38. package/dist/compiler/Graph.js.map +1 -0
  39. package/dist/compiler/Native.d.ts +53 -0
  40. package/dist/compiler/Native.d.ts.map +1 -0
  41. package/dist/compiler/Native.js +617 -0
  42. package/dist/compiler/Native.js.map +1 -0
  43. package/dist/compiler/Source.d.ts +167 -0
  44. package/dist/compiler/Source.d.ts.map +1 -0
  45. package/dist/compiler/Source.js +1012 -0
  46. package/dist/compiler/Source.js.map +1 -0
  47. package/dist/compiler/Transform.d.ts +57 -0
  48. package/dist/compiler/Transform.d.ts.map +1 -0
  49. package/dist/compiler/Transform.js +886 -0
  50. package/dist/compiler/Transform.js.map +1 -0
  51. package/dist/compiler/index.d.ts +13 -0
  52. package/dist/compiler/index.d.ts.map +1 -0
  53. package/dist/compiler/index.js +13 -0
  54. package/dist/compiler/index.js.map +1 -0
  55. package/dist/compiler/internal/Applications.d.ts +35 -0
  56. package/dist/compiler/internal/Applications.d.ts.map +1 -0
  57. package/dist/compiler/internal/Applications.js +248 -0
  58. package/dist/compiler/internal/Applications.js.map +1 -0
  59. package/dist/compiler/internal/AtRules.d.ts +8 -0
  60. package/dist/compiler/internal/AtRules.d.ts.map +1 -0
  61. package/dist/compiler/internal/AtRules.js +180 -0
  62. package/dist/compiler/internal/AtRules.js.map +1 -0
  63. package/dist/compiler/internal/Catalogs.d.ts +19 -0
  64. package/dist/compiler/internal/Catalogs.d.ts.map +1 -0
  65. package/dist/compiler/internal/Catalogs.js +68 -0
  66. package/dist/compiler/internal/Catalogs.js.map +1 -0
  67. package/dist/compiler/internal/ColorProfiles.d.ts +3 -0
  68. package/dist/compiler/internal/ColorProfiles.d.ts.map +1 -0
  69. package/dist/compiler/internal/ColorProfiles.js +84 -0
  70. package/dist/compiler/internal/ColorProfiles.js.map +1 -0
  71. package/dist/compiler/internal/CompositionBindings.d.ts +16 -0
  72. package/dist/compiler/internal/CompositionBindings.d.ts.map +1 -0
  73. package/dist/compiler/internal/CompositionBindings.js +89 -0
  74. package/dist/compiler/internal/CompositionBindings.js.map +1 -0
  75. package/dist/compiler/internal/Compositions.d.ts +32 -0
  76. package/dist/compiler/internal/Compositions.d.ts.map +1 -0
  77. package/dist/compiler/internal/Compositions.js +464 -0
  78. package/dist/compiler/internal/Compositions.js.map +1 -0
  79. package/dist/compiler/internal/Configurations.d.ts +21 -0
  80. package/dist/compiler/internal/Configurations.d.ts.map +1 -0
  81. package/dist/compiler/internal/Configurations.js +171 -0
  82. package/dist/compiler/internal/Configurations.js.map +1 -0
  83. package/dist/compiler/internal/Contract.d.ts +27 -0
  84. package/dist/compiler/internal/Contract.d.ts.map +1 -0
  85. package/dist/compiler/internal/Contract.js +607 -0
  86. package/dist/compiler/internal/Contract.js.map +1 -0
  87. package/dist/compiler/internal/Contributions.d.ts +54 -0
  88. package/dist/compiler/internal/Contributions.d.ts.map +1 -0
  89. package/dist/compiler/internal/Contributions.js +1109 -0
  90. package/dist/compiler/internal/Contributions.js.map +1 -0
  91. package/dist/compiler/internal/Descriptors.d.ts +15 -0
  92. package/dist/compiler/internal/Descriptors.d.ts.map +1 -0
  93. package/dist/compiler/internal/Descriptors.js +183 -0
  94. package/dist/compiler/internal/Descriptors.js.map +1 -0
  95. package/dist/compiler/internal/Dynamic.d.ts +14 -0
  96. package/dist/compiler/internal/Dynamic.d.ts.map +1 -0
  97. package/dist/compiler/internal/Dynamic.js +172 -0
  98. package/dist/compiler/internal/Dynamic.js.map +1 -0
  99. package/dist/compiler/internal/Edits.d.ts +12 -0
  100. package/dist/compiler/internal/Edits.d.ts.map +1 -0
  101. package/dist/compiler/internal/Edits.js +5 -0
  102. package/dist/compiler/internal/Edits.js.map +1 -0
  103. package/dist/compiler/internal/Expression.d.ts +12 -0
  104. package/dist/compiler/internal/Expression.d.ts.map +1 -0
  105. package/dist/compiler/internal/Expression.js +98 -0
  106. package/dist/compiler/internal/Expression.js.map +1 -0
  107. package/dist/compiler/internal/Functions.d.ts +5 -0
  108. package/dist/compiler/internal/Functions.d.ts.map +1 -0
  109. package/dist/compiler/internal/Functions.js +191 -0
  110. package/dist/compiler/internal/Functions.js.map +1 -0
  111. package/dist/compiler/internal/Identifiers.d.ts +9 -0
  112. package/dist/compiler/internal/Identifiers.d.ts.map +1 -0
  113. package/dist/compiler/internal/Identifiers.js +106 -0
  114. package/dist/compiler/internal/Identifiers.js.map +1 -0
  115. package/dist/compiler/internal/Keyframes.d.ts +5 -0
  116. package/dist/compiler/internal/Keyframes.d.ts.map +1 -0
  117. package/dist/compiler/internal/Keyframes.js +51 -0
  118. package/dist/compiler/internal/Keyframes.js.map +1 -0
  119. package/dist/compiler/internal/Namespaces.d.ts +17 -0
  120. package/dist/compiler/internal/Namespaces.d.ts.map +1 -0
  121. package/dist/compiler/internal/Namespaces.js +265 -0
  122. package/dist/compiler/internal/Namespaces.js.map +1 -0
  123. package/dist/compiler/internal/NativeBindings.d.ts +74 -0
  124. package/dist/compiler/internal/NativeBindings.d.ts.map +1 -0
  125. package/dist/compiler/internal/NativeBindings.js +117 -0
  126. package/dist/compiler/internal/NativeBindings.js.map +1 -0
  127. package/dist/compiler/internal/PackedStyles.d.ts +35 -0
  128. package/dist/compiler/internal/PackedStyles.d.ts.map +1 -0
  129. package/dist/compiler/internal/PackedStyles.js +345 -0
  130. package/dist/compiler/internal/PackedStyles.js.map +1 -0
  131. package/dist/compiler/internal/Properties.d.ts +5 -0
  132. package/dist/compiler/internal/Properties.d.ts.map +1 -0
  133. package/dist/compiler/internal/Properties.js +82 -0
  134. package/dist/compiler/internal/Properties.js.map +1 -0
  135. package/dist/compiler/internal/RecipeConditions.d.ts +41 -0
  136. package/dist/compiler/internal/RecipeConditions.d.ts.map +1 -0
  137. package/dist/compiler/internal/RecipeConditions.js +82 -0
  138. package/dist/compiler/internal/RecipeConditions.js.map +1 -0
  139. package/dist/compiler/internal/RecipePayloads.d.ts +31 -0
  140. package/dist/compiler/internal/RecipePayloads.d.ts.map +1 -0
  141. package/dist/compiler/internal/RecipePayloads.js +99 -0
  142. package/dist/compiler/internal/RecipePayloads.js.map +1 -0
  143. package/dist/compiler/internal/Recipes.d.ts +32 -0
  144. package/dist/compiler/internal/Recipes.d.ts.map +1 -0
  145. package/dist/compiler/internal/Recipes.js +339 -0
  146. package/dist/compiler/internal/Recipes.js.map +1 -0
  147. package/dist/compiler/internal/Relative.d.ts +19 -0
  148. package/dist/compiler/internal/Relative.d.ts.map +1 -0
  149. package/dist/compiler/internal/Relative.js +62 -0
  150. package/dist/compiler/internal/Relative.js.map +1 -0
  151. package/dist/compiler/internal/Scope.d.ts +10 -0
  152. package/dist/compiler/internal/Scope.d.ts.map +1 -0
  153. package/dist/compiler/internal/Scope.js +28 -0
  154. package/dist/compiler/internal/Scope.js.map +1 -0
  155. package/dist/compiler/internal/Selectors.d.ts +12 -0
  156. package/dist/compiler/internal/Selectors.d.ts.map +1 -0
  157. package/dist/compiler/internal/Selectors.js +265 -0
  158. package/dist/compiler/internal/Selectors.js.map +1 -0
  159. package/dist/compiler/internal/Static.d.ts +39 -0
  160. package/dist/compiler/internal/Static.d.ts.map +1 -0
  161. package/dist/compiler/internal/Static.js +532 -0
  162. package/dist/compiler/internal/Static.js.map +1 -0
  163. package/dist/compiler/internal/Stylesheets.d.ts +47 -0
  164. package/dist/compiler/internal/Stylesheets.d.ts.map +1 -0
  165. package/dist/compiler/internal/Stylesheets.js +272 -0
  166. package/dist/compiler/internal/Stylesheets.js.map +1 -0
  167. package/dist/compiler/internal/Syntax.d.ts +17 -0
  168. package/dist/compiler/internal/Syntax.d.ts.map +1 -0
  169. package/dist/compiler/internal/Syntax.js +19 -0
  170. package/dist/compiler/internal/Syntax.js.map +1 -0
  171. package/dist/compiler/internal/Themes.d.ts +158 -0
  172. package/dist/compiler/internal/Themes.d.ts.map +1 -0
  173. package/dist/compiler/internal/Themes.js +1169 -0
  174. package/dist/compiler/internal/Themes.js.map +1 -0
  175. package/dist/compiler/internal/Variables.d.ts +31 -0
  176. package/dist/compiler/internal/Variables.d.ts.map +1 -0
  177. package/dist/compiler/internal/Variables.js +376 -0
  178. package/dist/compiler/internal/Variables.js.map +1 -0
  179. package/dist/compiler/internal/ViewTransitions.d.ts +3 -0
  180. package/dist/compiler/internal/ViewTransitions.d.ts.map +1 -0
  181. package/dist/compiler/internal/ViewTransitions.js +68 -0
  182. package/dist/compiler/internal/ViewTransitions.js.map +1 -0
  183. package/dist/cx.d.ts +18 -0
  184. package/dist/cx.d.ts.map +1 -0
  185. package/dist/cx.js +60 -0
  186. package/dist/cx.js.map +1 -0
  187. package/dist/default.d.ts +3225 -0
  188. package/dist/default.d.ts.map +1 -0
  189. package/dist/default.js +547 -0
  190. package/dist/default.js.map +7 -0
  191. package/dist/default.js.zyzz.json +1 -0
  192. package/dist/index.d.ts +21 -0
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +19 -0
  195. package/dist/index.js.map +1 -0
  196. package/dist/internal/Authoring.d.ts +26 -0
  197. package/dist/internal/Authoring.d.ts.map +1 -0
  198. package/dist/internal/Authoring.js +134 -0
  199. package/dist/internal/Authoring.js.map +1 -0
  200. package/dist/internal/Binding.d.ts +64 -0
  201. package/dist/internal/Binding.d.ts.map +1 -0
  202. package/dist/internal/Binding.js +27 -0
  203. package/dist/internal/Binding.js.map +1 -0
  204. package/dist/internal/BindingDomains.d.ts +11 -0
  205. package/dist/internal/BindingDomains.d.ts.map +1 -0
  206. package/dist/internal/BindingDomains.js +459 -0
  207. package/dist/internal/BindingDomains.js.map +1 -0
  208. package/dist/internal/Cascade.d.ts +45 -0
  209. package/dist/internal/Cascade.d.ts.map +1 -0
  210. package/dist/internal/Cascade.js +165 -0
  211. package/dist/internal/Cascade.js.map +1 -0
  212. package/dist/internal/Compound.d.ts +132 -0
  213. package/dist/internal/Compound.d.ts.map +1 -0
  214. package/dist/internal/Compound.js +2 -0
  215. package/dist/internal/Compound.js.map +1 -0
  216. package/dist/internal/Condition.d.ts +33 -0
  217. package/dist/internal/Condition.d.ts.map +1 -0
  218. package/dist/internal/Condition.js +180 -0
  219. package/dist/internal/Condition.js.map +1 -0
  220. package/dist/internal/Corner.d.ts +9 -0
  221. package/dist/internal/Corner.d.ts.map +1 -0
  222. package/dist/internal/Corner.js +14 -0
  223. package/dist/internal/Corner.js.map +1 -0
  224. package/dist/internal/FunctionSyntax.d.ts +27 -0
  225. package/dist/internal/FunctionSyntax.d.ts.map +1 -0
  226. package/dist/internal/FunctionSyntax.js +91 -0
  227. package/dist/internal/FunctionSyntax.js.map +1 -0
  228. package/dist/internal/FunctionValue.d.ts +19 -0
  229. package/dist/internal/FunctionValue.d.ts.map +1 -0
  230. package/dist/internal/FunctionValue.js +2 -0
  231. package/dist/internal/FunctionValue.js.map +1 -0
  232. package/dist/internal/Geometry.d.ts +8 -0
  233. package/dist/internal/Geometry.d.ts.map +1 -0
  234. package/dist/internal/Geometry.js +2 -0
  235. package/dist/internal/Geometry.js.map +1 -0
  236. package/dist/internal/Grid.d.ts +15 -0
  237. package/dist/internal/Grid.d.ts.map +1 -0
  238. package/dist/internal/Grid.js +2 -0
  239. package/dist/internal/Grid.js.map +1 -0
  240. package/dist/internal/Identifier.d.ts +15 -0
  241. package/dist/internal/Identifier.d.ts.map +1 -0
  242. package/dist/internal/Identifier.js +2 -0
  243. package/dist/internal/Identifier.js.map +1 -0
  244. package/dist/internal/Identity.d.ts +16 -0
  245. package/dist/internal/Identity.d.ts.map +1 -0
  246. package/dist/internal/Identity.js +78 -0
  247. package/dist/internal/Identity.js.map +1 -0
  248. package/dist/internal/Lexical.d.ts +89 -0
  249. package/dist/internal/Lexical.d.ts.map +1 -0
  250. package/dist/internal/Lexical.js +15 -0
  251. package/dist/internal/Lexical.js.map +1 -0
  252. package/dist/internal/Literal.d.ts +3459 -0
  253. package/dist/internal/Literal.d.ts.map +1 -0
  254. package/dist/internal/Literal.js +3371 -0
  255. package/dist/internal/Literal.js.map +1 -0
  256. package/dist/internal/NativeProperties.d.ts +596 -0
  257. package/dist/internal/NativeProperties.d.ts.map +1 -0
  258. package/dist/internal/NativeProperties.js +2 -0
  259. package/dist/internal/NativeProperties.js.map +1 -0
  260. package/dist/internal/Numeric.d.ts +23 -0
  261. package/dist/internal/Numeric.d.ts.map +1 -0
  262. package/dist/internal/Numeric.js +2 -0
  263. package/dist/internal/Numeric.js.map +1 -0
  264. package/dist/internal/Query.d.ts +15 -0
  265. package/dist/internal/Query.d.ts.map +1 -0
  266. package/dist/internal/Query.js +58 -0
  267. package/dist/internal/Query.js.map +1 -0
  268. package/dist/internal/Recipe.d.ts +17 -0
  269. package/dist/internal/Recipe.d.ts.map +1 -0
  270. package/dist/internal/Recipe.js +2 -0
  271. package/dist/internal/Recipe.js.map +1 -0
  272. package/dist/internal/RuleReference.d.ts +23 -0
  273. package/dist/internal/RuleReference.d.ts.map +1 -0
  274. package/dist/internal/RuleReference.js +65 -0
  275. package/dist/internal/RuleReference.js.map +1 -0
  276. package/dist/internal/Scheme.d.ts +12 -0
  277. package/dist/internal/Scheme.d.ts.map +1 -0
  278. package/dist/internal/Scheme.js +16 -0
  279. package/dist/internal/Scheme.js.map +1 -0
  280. package/dist/internal/Shorthands.d.ts +20 -0
  281. package/dist/internal/Shorthands.d.ts.map +1 -0
  282. package/dist/internal/Shorthands.js +50 -0
  283. package/dist/internal/Shorthands.js.map +1 -0
  284. package/dist/internal/Targets.d.ts +43 -0
  285. package/dist/internal/Targets.d.ts.map +1 -0
  286. package/dist/internal/Targets.js +60 -0
  287. package/dist/internal/Targets.js.map +1 -0
  288. package/dist/internal/Token.d.ts +104 -0
  289. package/dist/internal/Token.d.ts.map +1 -0
  290. package/dist/internal/Token.js +162 -0
  291. package/dist/internal/Token.js.map +1 -0
  292. package/dist/internal/Tuple.d.ts +23 -0
  293. package/dist/internal/Tuple.d.ts.map +1 -0
  294. package/dist/internal/Tuple.js +2 -0
  295. package/dist/internal/Tuple.js.map +1 -0
  296. package/dist/internal/Typography.d.ts +23 -0
  297. package/dist/internal/Typography.d.ts.map +1 -0
  298. package/dist/internal/Typography.js +18 -0
  299. package/dist/internal/Typography.js.map +1 -0
  300. package/dist/internal/Value.d.ts +74 -0
  301. package/dist/internal/Value.d.ts.map +1 -0
  302. package/dist/internal/Value.js +60 -0
  303. package/dist/internal/Value.js.map +1 -0
  304. package/dist/metro/Graph.d.ts +8 -0
  305. package/dist/metro/Graph.d.ts.map +1 -0
  306. package/dist/metro/Graph.js +63 -0
  307. package/dist/metro/Graph.js.map +1 -0
  308. package/dist/metro/Watch.d.ts +21 -0
  309. package/dist/metro/Watch.d.ts.map +1 -0
  310. package/dist/metro/Watch.js +51 -0
  311. package/dist/metro/Watch.js.map +1 -0
  312. package/dist/metro/index.d.ts +30 -0
  313. package/dist/metro/index.d.ts.map +1 -0
  314. package/dist/metro/index.js +52 -0
  315. package/dist/metro/index.js.map +1 -0
  316. package/dist/metro/transformer.d.ts +21 -0
  317. package/dist/metro/transformer.d.ts.map +1 -0
  318. package/dist/metro/transformer.js +71 -0
  319. package/dist/metro/transformer.js.map +1 -0
  320. package/dist/next/index.d.ts +18 -0
  321. package/dist/next/index.d.ts.map +1 -0
  322. package/dist/next/index.js +92 -0
  323. package/dist/next/index.js.map +1 -0
  324. package/dist/next/loader.d.ts +16 -0
  325. package/dist/next/loader.d.ts.map +1 -0
  326. package/dist/next/loader.js +282 -0
  327. package/dist/next/loader.js.map +1 -0
  328. package/dist/node/Host.d.ts +80 -0
  329. package/dist/node/Host.d.ts.map +1 -0
  330. package/dist/node/Host.js +882 -0
  331. package/dist/node/Host.js.map +1 -0
  332. package/dist/node/index.d.ts +7 -0
  333. package/dist/node/index.d.ts.map +1 -0
  334. package/dist/node/index.js +7 -0
  335. package/dist/node/index.js.map +1 -0
  336. package/dist/react-native/Host.d.ts +76 -0
  337. package/dist/react-native/Host.d.ts.map +1 -0
  338. package/dist/react-native/Host.js +209 -0
  339. package/dist/react-native/Host.js.map +1 -0
  340. package/dist/react-native/StyleSheet.d.ts +226 -0
  341. package/dist/react-native/StyleSheet.d.ts.map +1 -0
  342. package/dist/react-native/StyleSheet.js +606 -0
  343. package/dist/react-native/StyleSheet.js.map +1 -0
  344. package/dist/react-native/Variants.d.ts +38 -0
  345. package/dist/react-native/Variants.d.ts.map +1 -0
  346. package/dist/react-native/Variants.js +66 -0
  347. package/dist/react-native/Variants.js.map +1 -0
  348. package/dist/react-native/index.d.ts +8 -0
  349. package/dist/react-native/index.d.ts.map +1 -0
  350. package/dist/react-native/index.js +8 -0
  351. package/dist/react-native/index.js.map +1 -0
  352. package/dist/react-native/internal/Color.d.ts +7 -0
  353. package/dist/react-native/internal/Color.d.ts.map +1 -0
  354. package/dist/react-native/internal/Color.js +93 -0
  355. package/dist/react-native/internal/Color.js.map +1 -0
  356. package/dist/react-native/internal/NativeSchema.d.ts +5138 -0
  357. package/dist/react-native/internal/NativeSchema.d.ts.map +1 -0
  358. package/dist/react-native/internal/NativeSchema.js +3097 -0
  359. package/dist/react-native/internal/NativeSchema.js.map +1 -0
  360. package/dist/react-native/internal/Scalar.d.ts +95 -0
  361. package/dist/react-native/internal/Scalar.d.ts.map +1 -0
  362. package/dist/react-native/internal/Scalar.js +199 -0
  363. package/dist/react-native/internal/Scalar.js.map +1 -0
  364. package/dist/react-native/internal/Values.d.ts +5 -0
  365. package/dist/react-native/internal/Values.d.ts.map +1 -0
  366. package/dist/react-native/internal/Values.js +65 -0
  367. package/dist/react-native/internal/Values.js.map +1 -0
  368. package/dist/react-native/react.d.ts +22 -0
  369. package/dist/react-native/react.d.ts.map +1 -0
  370. package/dist/react-native/react.js +26 -0
  371. package/dist/react-native/react.js.map +1 -0
  372. package/dist/reset.css +244 -0
  373. package/dist/runtime/Appearance.d.ts +55 -0
  374. package/dist/runtime/Appearance.d.ts.map +1 -0
  375. package/dist/runtime/Appearance.js +84 -0
  376. package/dist/runtime/Appearance.js.map +1 -0
  377. package/dist/runtime/Composition.d.ts +46 -0
  378. package/dist/runtime/Composition.d.ts.map +1 -0
  379. package/dist/runtime/Composition.js +52 -0
  380. package/dist/runtime/Composition.js.map +1 -0
  381. package/dist/runtime/CompositionHtml.d.ts +15 -0
  382. package/dist/runtime/CompositionHtml.d.ts.map +1 -0
  383. package/dist/runtime/CompositionHtml.js +20 -0
  384. package/dist/runtime/CompositionHtml.js.map +1 -0
  385. package/dist/runtime/ConditionalRecipe.d.ts +30 -0
  386. package/dist/runtime/ConditionalRecipe.d.ts.map +1 -0
  387. package/dist/runtime/ConditionalRecipe.js +39 -0
  388. package/dist/runtime/ConditionalRecipe.js.map +1 -0
  389. package/dist/runtime/Dynamic.d.ts +19 -0
  390. package/dist/runtime/Dynamic.d.ts.map +1 -0
  391. package/dist/runtime/Dynamic.js +22 -0
  392. package/dist/runtime/Dynamic.js.map +1 -0
  393. package/dist/runtime/Html.d.ts +32 -0
  394. package/dist/runtime/Html.d.ts.map +1 -0
  395. package/dist/runtime/Html.js +63 -0
  396. package/dist/runtime/Html.js.map +1 -0
  397. package/dist/runtime/Native.d.ts +48 -0
  398. package/dist/runtime/Native.d.ts.map +1 -0
  399. package/dist/runtime/Native.js +78 -0
  400. package/dist/runtime/Native.js.map +1 -0
  401. package/dist/runtime/NativeContext.d.ts +17 -0
  402. package/dist/runtime/NativeContext.d.ts.map +1 -0
  403. package/dist/runtime/NativeContext.js +47 -0
  404. package/dist/runtime/NativeContext.js.map +1 -0
  405. package/dist/runtime/NativeDynamic.d.ts +47 -0
  406. package/dist/runtime/NativeDynamic.d.ts.map +1 -0
  407. package/dist/runtime/NativeDynamic.js +141 -0
  408. package/dist/runtime/NativeDynamic.js.map +1 -0
  409. package/dist/runtime/PayloadRecipe.d.ts +22 -0
  410. package/dist/runtime/PayloadRecipe.d.ts.map +1 -0
  411. package/dist/runtime/PayloadRecipe.js +59 -0
  412. package/dist/runtime/PayloadRecipe.js.map +1 -0
  413. package/dist/runtime/Props.d.ts +21 -0
  414. package/dist/runtime/Props.d.ts.map +1 -0
  415. package/dist/runtime/Props.js +17 -0
  416. package/dist/runtime/Props.js.map +1 -0
  417. package/dist/runtime/Recipe.d.ts +52 -0
  418. package/dist/runtime/Recipe.d.ts.map +1 -0
  419. package/dist/runtime/Recipe.js +30 -0
  420. package/dist/runtime/Recipe.js.map +1 -0
  421. package/dist/runtime/Selection.d.ts +31 -0
  422. package/dist/runtime/Selection.d.ts.map +1 -0
  423. package/dist/runtime/Selection.js +30 -0
  424. package/dist/runtime/Selection.js.map +1 -0
  425. package/dist/runtime/Variable.d.ts +6 -0
  426. package/dist/runtime/Variable.d.ts.map +1 -0
  427. package/dist/runtime/Variable.js +10 -0
  428. package/dist/runtime/Variable.js.map +1 -0
  429. package/dist/runtime/index.d.ts +33 -0
  430. package/dist/runtime/index.d.ts.map +1 -0
  431. package/dist/runtime/index.js +33 -0
  432. package/dist/runtime/index.js.map +1 -0
  433. package/dist/styleFunction.d.ts +72 -0
  434. package/dist/styleFunction.d.ts.map +1 -0
  435. package/dist/styleFunction.js +18 -0
  436. package/dist/styleFunction.js.map +1 -0
  437. package/dist/themes/LICENSE.tailwind +21 -0
  438. package/dist/variable.d.ts +50 -0
  439. package/dist/variable.d.ts.map +1 -0
  440. package/dist/variable.js +20 -0
  441. package/dist/variable.js.map +1 -0
  442. package/dist/variants.d.ts +84 -0
  443. package/dist/variants.d.ts.map +1 -0
  444. package/dist/variants.js +21 -0
  445. package/dist/variants.js.map +1 -0
  446. package/dist/vite/index.d.ts +24 -0
  447. package/dist/vite/index.d.ts.map +1 -0
  448. package/dist/vite/index.js +1089 -0
  449. package/dist/vite/index.js.map +1 -0
  450. package/dist/web/Css.d.ts +81 -0
  451. package/dist/web/Css.d.ts.map +1 -0
  452. package/dist/web/Css.js +593 -0
  453. package/dist/web/Css.js.map +1 -0
  454. package/dist/web/colorProfile.d.ts +28 -0
  455. package/dist/web/colorProfile.d.ts.map +1 -0
  456. package/dist/web/colorProfile.js +8 -0
  457. package/dist/web/colorProfile.js.map +1 -0
  458. package/dist/web/counterStyle.d.ts +48 -0
  459. package/dist/web/counterStyle.d.ts.map +1 -0
  460. package/dist/web/counterStyle.js +8 -0
  461. package/dist/web/counterStyle.js.map +1 -0
  462. package/dist/web/cssFunction.d.ts +80 -0
  463. package/dist/web/cssFunction.d.ts.map +1 -0
  464. package/dist/web/cssFunction.js +18 -0
  465. package/dist/web/cssFunction.js.map +1 -0
  466. package/dist/web/customMedia.d.ts +12 -0
  467. package/dist/web/customMedia.d.ts.map +1 -0
  468. package/dist/web/customMedia.js +7 -0
  469. package/dist/web/customMedia.js.map +1 -0
  470. package/dist/web/fontFace.d.ts +26 -0
  471. package/dist/web/fontFace.d.ts.map +1 -0
  472. package/dist/web/fontFace.js +7 -0
  473. package/dist/web/fontFace.js.map +1 -0
  474. package/dist/web/fontFeatureValues.d.ts +40 -0
  475. package/dist/web/fontFeatureValues.d.ts.map +1 -0
  476. package/dist/web/fontFeatureValues.js +7 -0
  477. package/dist/web/fontFeatureValues.js.map +1 -0
  478. package/dist/web/fontPaletteValues.d.ts +21 -0
  479. package/dist/web/fontPaletteValues.d.ts.map +1 -0
  480. package/dist/web/fontPaletteValues.js +9 -0
  481. package/dist/web/fontPaletteValues.js.map +1 -0
  482. package/dist/web/global.d.ts +19 -0
  483. package/dist/web/global.d.ts.map +1 -0
  484. package/dist/web/global.js +6 -0
  485. package/dist/web/global.js.map +1 -0
  486. package/dist/web/importCss.d.ts +18 -0
  487. package/dist/web/importCss.d.ts.map +1 -0
  488. package/dist/web/importCss.js +7 -0
  489. package/dist/web/importCss.js.map +1 -0
  490. package/dist/web/index.d.ts +22 -0
  491. package/dist/web/index.d.ts.map +1 -0
  492. package/dist/web/index.js +22 -0
  493. package/dist/web/index.js.map +1 -0
  494. package/dist/web/internal/Block.d.ts +18 -0
  495. package/dist/web/internal/Block.d.ts.map +1 -0
  496. package/dist/web/internal/Block.js +13 -0
  497. package/dist/web/internal/Block.js.map +1 -0
  498. package/dist/web/internal/ClassName.d.ts +19 -0
  499. package/dist/web/internal/ClassName.d.ts.map +1 -0
  500. package/dist/web/internal/ClassName.js +77 -0
  501. package/dist/web/internal/ClassName.js.map +1 -0
  502. package/dist/web/internal/Context.d.ts +11 -0
  503. package/dist/web/internal/Context.d.ts.map +1 -0
  504. package/dist/web/internal/Context.js +2 -0
  505. package/dist/web/internal/Context.js.map +1 -0
  506. package/dist/web/internal/Contributions.d.ts +70 -0
  507. package/dist/web/internal/Contributions.d.ts.map +1 -0
  508. package/dist/web/internal/Contributions.js +109 -0
  509. package/dist/web/internal/Contributions.js.map +1 -0
  510. package/dist/web/internal/Namespace.d.ts +13 -0
  511. package/dist/web/internal/Namespace.d.ts.map +1 -0
  512. package/dist/web/internal/Namespace.js +13 -0
  513. package/dist/web/internal/Namespace.js.map +1 -0
  514. package/dist/web/internal/Themes.d.ts +13 -0
  515. package/dist/web/internal/Themes.d.ts.map +1 -0
  516. package/dist/web/internal/Themes.js +96 -0
  517. package/dist/web/internal/Themes.js.map +1 -0
  518. package/dist/web/keyframes.d.ts +14 -0
  519. package/dist/web/keyframes.d.ts.map +1 -0
  520. package/dist/web/keyframes.js +8 -0
  521. package/dist/web/keyframes.js.map +1 -0
  522. package/dist/web/layers.d.ts +4 -0
  523. package/dist/web/layers.d.ts.map +1 -0
  524. package/dist/web/layers.js +7 -0
  525. package/dist/web/layers.js.map +1 -0
  526. package/dist/web/namespace.d.ts +14 -0
  527. package/dist/web/namespace.d.ts.map +1 -0
  528. package/dist/web/namespace.js +7 -0
  529. package/dist/web/namespace.js.map +1 -0
  530. package/dist/web/page.d.ts +38 -0
  531. package/dist/web/page.d.ts.map +1 -0
  532. package/dist/web/page.js +7 -0
  533. package/dist/web/page.js.map +1 -0
  534. package/dist/web/positionTry.d.ts +14 -0
  535. package/dist/web/positionTry.d.ts.map +1 -0
  536. package/dist/web/positionTry.js +9 -0
  537. package/dist/web/positionTry.js.map +1 -0
  538. package/dist/web/property.d.ts +24 -0
  539. package/dist/web/property.d.ts.map +1 -0
  540. package/dist/web/property.js +7 -0
  541. package/dist/web/property.js.map +1 -0
  542. package/dist/web/viewTransition.d.ts +29 -0
  543. package/dist/web/viewTransition.d.ts.map +1 -0
  544. package/dist/web/viewTransition.js +7 -0
  545. package/dist/web/viewTransition.js.map +1 -0
  546. package/package.json +136 -10
  547. package/src/Config.ts +691 -0
  548. package/src/Props.ts +8 -0
  549. package/src/Style.ts +812 -0
  550. package/src/Theme.ts +784 -0
  551. package/src/babel/NativeEdits.ts +273 -0
  552. package/src/babel/NativeJsx.ts +260 -0
  553. package/src/babel/index.ts +332 -0
  554. package/src/cli/index.ts +196 -0
  555. package/src/compiler/Graph.ts +1586 -0
  556. package/src/compiler/Native.ts +801 -0
  557. package/src/compiler/Source.ts +1579 -0
  558. package/src/compiler/Transform.ts +1241 -0
  559. package/src/compiler/index.ts +12 -0
  560. package/src/compiler/internal/Applications.ts +378 -0
  561. package/src/compiler/internal/AtRules.ts +202 -0
  562. package/src/compiler/internal/Catalogs.ts +114 -0
  563. package/src/compiler/internal/ColorProfiles.ts +93 -0
  564. package/src/compiler/internal/CompositionBindings.ts +120 -0
  565. package/src/compiler/internal/Compositions.ts +629 -0
  566. package/src/compiler/internal/Configurations.ts +244 -0
  567. package/src/compiler/internal/Contract.ts +860 -0
  568. package/src/compiler/internal/Contributions.ts +1507 -0
  569. package/src/compiler/internal/Descriptors.ts +238 -0
  570. package/src/compiler/internal/Dynamic.ts +266 -0
  571. package/src/compiler/internal/Edits.ts +13 -0
  572. package/src/compiler/internal/Expression.ts +135 -0
  573. package/src/compiler/internal/Functions.ts +206 -0
  574. package/src/compiler/internal/Identifiers.ts +124 -0
  575. package/src/compiler/internal/Keyframes.ts +62 -0
  576. package/src/compiler/internal/Namespaces.ts +296 -0
  577. package/src/compiler/internal/NativeBindings.ts +151 -0
  578. package/src/compiler/internal/PackedStyles.ts +464 -0
  579. package/src/compiler/internal/Properties.ts +121 -0
  580. package/src/compiler/internal/RecipeConditions.ts +139 -0
  581. package/src/compiler/internal/RecipePayloads.ts +132 -0
  582. package/src/compiler/internal/Recipes.ts +531 -0
  583. package/src/compiler/internal/Relative.ts +87 -0
  584. package/src/compiler/internal/Scope.ts +36 -0
  585. package/src/compiler/internal/Selectors.ts +334 -0
  586. package/src/compiler/internal/Static.ts +783 -0
  587. package/src/compiler/internal/Stylesheets.ts +361 -0
  588. package/src/compiler/internal/Syntax.ts +31 -0
  589. package/src/compiler/internal/Themes.ts +1794 -0
  590. package/src/compiler/internal/Variables.ts +497 -0
  591. package/src/compiler/internal/ViewTransitions.ts +82 -0
  592. package/src/cx.ts +98 -0
  593. package/src/default.ts +1177 -0
  594. package/src/index.ts +20 -0
  595. package/src/internal/Authoring.ts +199 -0
  596. package/src/internal/Binding.ts +187 -0
  597. package/src/internal/BindingDomains.ts +458 -0
  598. package/src/internal/Cascade.ts +165 -0
  599. package/src/internal/Compound.ts +522 -0
  600. package/src/internal/Condition.ts +283 -0
  601. package/src/internal/Corner.ts +17 -0
  602. package/src/internal/FunctionSyntax.ts +271 -0
  603. package/src/internal/FunctionValue.ts +96 -0
  604. package/src/internal/Geometry.ts +30 -0
  605. package/src/internal/Grid.ts +67 -0
  606. package/src/internal/Identifier.ts +14 -0
  607. package/src/internal/Identity.ts +89 -0
  608. package/src/internal/Lexical.ts +202 -0
  609. package/src/internal/Literal.ts +3820 -0
  610. package/src/internal/NativeProperties.ts +936 -0
  611. package/src/internal/Numeric.ts +77 -0
  612. package/src/internal/Query.ts +87 -0
  613. package/src/internal/Recipe.ts +17 -0
  614. package/src/internal/RuleReference.ts +102 -0
  615. package/src/internal/Scheme.ts +20 -0
  616. package/src/internal/Shorthands.ts +122 -0
  617. package/src/internal/Targets.ts +162 -0
  618. package/src/internal/Token.ts +380 -0
  619. package/src/internal/Tuple.ts +29 -0
  620. package/src/internal/Typography.ts +51 -0
  621. package/src/internal/Value.ts +320 -0
  622. package/src/metro/Graph.ts +78 -0
  623. package/src/metro/Watch.ts +88 -0
  624. package/src/metro/index.ts +99 -0
  625. package/src/metro/transformer.ts +97 -0
  626. package/src/next/index.ts +114 -0
  627. package/src/next/loader.ts +369 -0
  628. package/src/node/Host.ts +1204 -0
  629. package/src/node/index.ts +6 -0
  630. package/src/react-native/Host.ts +289 -0
  631. package/src/react-native/StyleSheet.ts +1084 -0
  632. package/src/react-native/Variants.ts +122 -0
  633. package/src/react-native/index.ts +7 -0
  634. package/src/react-native/internal/Color.ts +110 -0
  635. package/src/react-native/internal/NativeSchema.ts +3096 -0
  636. package/src/react-native/internal/Scalar.ts +253 -0
  637. package/src/react-native/internal/Values.ts +87 -0
  638. package/src/react-native/react.ts +47 -0
  639. package/src/reset.css +244 -0
  640. package/src/runtime/Appearance.ts +155 -0
  641. package/src/runtime/Composition.ts +87 -0
  642. package/src/runtime/CompositionHtml.ts +38 -0
  643. package/src/runtime/ConditionalRecipe.ts +70 -0
  644. package/src/runtime/Dynamic.ts +51 -0
  645. package/src/runtime/Html.ts +91 -0
  646. package/src/runtime/Native.ts +144 -0
  647. package/src/runtime/NativeContext.ts +74 -0
  648. package/src/runtime/NativeDynamic.ts +246 -0
  649. package/src/runtime/PayloadRecipe.ts +96 -0
  650. package/src/runtime/Props.ts +33 -0
  651. package/src/runtime/Recipe.ts +74 -0
  652. package/src/runtime/Selection.ts +82 -0
  653. package/src/runtime/Variable.ts +15 -0
  654. package/src/runtime/index.ts +45 -0
  655. package/src/styleFunction.ts +138 -0
  656. package/src/themes/LICENSE.tailwind +21 -0
  657. package/src/variable.ts +105 -0
  658. package/src/variants.ts +218 -0
  659. package/src/vite/index.ts +1473 -0
  660. package/src/web/Css.ts +801 -0
  661. package/src/web/colorProfile.ts +60 -0
  662. package/src/web/counterStyle.ts +82 -0
  663. package/src/web/cssFunction.ts +181 -0
  664. package/src/web/customMedia.ts +16 -0
  665. package/src/web/fontFace.ts +41 -0
  666. package/src/web/fontFeatureValues.ts +79 -0
  667. package/src/web/fontPaletteValues.ts +42 -0
  668. package/src/web/global.ts +39 -0
  669. package/src/web/importCss.ts +23 -0
  670. package/src/web/index.ts +22 -0
  671. package/src/web/internal/Block.ts +29 -0
  672. package/src/web/internal/ClassName.ts +112 -0
  673. package/src/web/internal/Context.ts +16 -0
  674. package/src/web/internal/Contributions.ts +219 -0
  675. package/src/web/internal/Namespace.ts +21 -0
  676. package/src/web/internal/Themes.ts +133 -0
  677. package/src/web/keyframes.ts +43 -0
  678. package/src/web/layers.ts +6 -0
  679. package/src/web/namespace.ts +19 -0
  680. package/src/web/page.ts +140 -0
  681. package/src/web/positionTry.ts +71 -0
  682. package/src/web/property.ts +35 -0
  683. package/src/web/viewTransition.ts +89 -0
@@ -0,0 +1,3371 @@
1
+ import * as Lexical from './Lexical.js';
2
+ /** Domain metadata for known properties; custom properties accept scalar values. */
3
+ export function rule(property) {
4
+ return rules[property];
5
+ }
6
+ const blend = {
7
+ kind: 'enum',
8
+ values: [
9
+ 'color',
10
+ 'color-burn',
11
+ 'color-dodge',
12
+ 'darken',
13
+ 'difference',
14
+ 'exclusion',
15
+ 'hard-light',
16
+ 'hue',
17
+ 'lighten',
18
+ 'luminosity',
19
+ 'multiply',
20
+ 'normal',
21
+ 'overlay',
22
+ 'saturation',
23
+ 'screen',
24
+ 'soft-light',
25
+ ],
26
+ };
27
+ const alpha = {
28
+ kind: 'number',
29
+ min: -Infinity,
30
+ max: Infinity,
31
+ percentage: true,
32
+ };
33
+ const fontWidth = {
34
+ kind: 'percentage',
35
+ min: 0,
36
+ max: Infinity,
37
+ keywords: [
38
+ 'condensed',
39
+ 'expanded',
40
+ 'extra-condensed',
41
+ 'extra-expanded',
42
+ 'normal',
43
+ 'semi-condensed',
44
+ 'semi-expanded',
45
+ 'ultra-condensed',
46
+ 'ultra-expanded',
47
+ ],
48
+ };
49
+ const attachmentRange = {
50
+ atoms: ['length', 'percentage'],
51
+ kind: 'tuple',
52
+ list: true,
53
+ max: 1,
54
+ min: 1,
55
+ negative: true,
56
+ prefixes: [
57
+ 'cover',
58
+ 'contain',
59
+ 'entry',
60
+ 'exit',
61
+ 'entry-crossing',
62
+ 'exit-crossing',
63
+ ],
64
+ standalone: [
65
+ 'normal',
66
+ 'cover',
67
+ 'contain',
68
+ 'entry',
69
+ 'exit',
70
+ 'entry-crossing',
71
+ 'exit-crossing',
72
+ ],
73
+ };
74
+ const border = {
75
+ kind: 'enum',
76
+ values: [
77
+ 'dashed',
78
+ 'dotted',
79
+ 'double',
80
+ 'groove',
81
+ 'hidden',
82
+ 'inset',
83
+ 'none',
84
+ 'outset',
85
+ 'ridge',
86
+ 'solid',
87
+ ],
88
+ };
89
+ const color = { kind: 'color' };
90
+ const fragmentation = {
91
+ kind: 'enum',
92
+ values: [
93
+ 'region',
94
+ 'avoid-region',
95
+ 'auto',
96
+ 'avoid',
97
+ 'avoid-column',
98
+ 'avoid-page',
99
+ 'column',
100
+ 'left',
101
+ 'page',
102
+ 'recto',
103
+ 'right',
104
+ 'verso',
105
+ ],
106
+ };
107
+ const globals = new Set([
108
+ 'inherit',
109
+ 'initial',
110
+ 'revert',
111
+ 'revert-layer',
112
+ 'unset',
113
+ ]);
114
+ const intrinsic = ['fit-content', 'max-content', 'min-content'];
115
+ const length = { auto: false, kind: 'length', negative: false };
116
+ /** Shared CSS length unit vocabulary for static domains and query metadata. */
117
+ export const lengthUnits = [
118
+ '%',
119
+ 'cap',
120
+ 'ch',
121
+ 'cm',
122
+ 'cqb',
123
+ 'cqh',
124
+ 'cqi',
125
+ 'cqmax',
126
+ 'cqmin',
127
+ 'cqw',
128
+ 'dvb',
129
+ 'dvh',
130
+ 'dvi',
131
+ 'dvmax',
132
+ 'dvmin',
133
+ 'dvw',
134
+ 'em',
135
+ 'ex',
136
+ 'ic',
137
+ 'in',
138
+ 'lh',
139
+ 'lvb',
140
+ 'lvh',
141
+ 'lvi',
142
+ 'lvmax',
143
+ 'lvmin',
144
+ 'lvw',
145
+ 'mm',
146
+ 'pc',
147
+ 'pt',
148
+ 'px',
149
+ 'q',
150
+ 'Q',
151
+ 'rcap',
152
+ 'rch',
153
+ 'rem',
154
+ 'rex',
155
+ 'ric',
156
+ 'rlh',
157
+ 'svb',
158
+ 'svh',
159
+ 'svi',
160
+ 'svmax',
161
+ 'svmin',
162
+ 'svw',
163
+ 'vb',
164
+ 'vh',
165
+ 'vi',
166
+ 'vmax',
167
+ 'vmin',
168
+ 'vw',
169
+ ];
170
+ const margin = { auto: true, kind: 'length', negative: true };
171
+ const maximum = { ...length, keywords: [...intrinsic, 'none'] };
172
+ /** Absolute CSS named colors shared with target conversion. */
173
+ export const namedColors = [
174
+ 'aliceblue',
175
+ 'antiquewhite',
176
+ 'aqua',
177
+ 'aquamarine',
178
+ 'azure',
179
+ 'beige',
180
+ 'bisque',
181
+ 'black',
182
+ 'blanchedalmond',
183
+ 'blue',
184
+ 'blueviolet',
185
+ 'brown',
186
+ 'burlywood',
187
+ 'cadetblue',
188
+ 'chartreuse',
189
+ 'chocolate',
190
+ 'coral',
191
+ 'cornflowerblue',
192
+ 'cornsilk',
193
+ 'crimson',
194
+ 'cyan',
195
+ 'darkblue',
196
+ 'darkcyan',
197
+ 'darkgoldenrod',
198
+ 'darkgray',
199
+ 'darkgreen',
200
+ 'darkgrey',
201
+ 'darkkhaki',
202
+ 'darkmagenta',
203
+ 'darkolivegreen',
204
+ 'darkorange',
205
+ 'darkorchid',
206
+ 'darkred',
207
+ 'darksalmon',
208
+ 'darkseagreen',
209
+ 'darkslateblue',
210
+ 'darkslategray',
211
+ 'darkslategrey',
212
+ 'darkturquoise',
213
+ 'darkviolet',
214
+ 'deeppink',
215
+ 'deepskyblue',
216
+ 'dimgray',
217
+ 'dimgrey',
218
+ 'dodgerblue',
219
+ 'firebrick',
220
+ 'floralwhite',
221
+ 'forestgreen',
222
+ 'fuchsia',
223
+ 'gainsboro',
224
+ 'ghostwhite',
225
+ 'gold',
226
+ 'goldenrod',
227
+ 'gray',
228
+ 'green',
229
+ 'greenyellow',
230
+ 'grey',
231
+ 'honeydew',
232
+ 'hotpink',
233
+ 'indianred',
234
+ 'indigo',
235
+ 'ivory',
236
+ 'khaki',
237
+ 'lavender',
238
+ 'lavenderblush',
239
+ 'lawngreen',
240
+ 'lemonchiffon',
241
+ 'lightblue',
242
+ 'lightcoral',
243
+ 'lightcyan',
244
+ 'lightgoldenrodyellow',
245
+ 'lightgray',
246
+ 'lightgreen',
247
+ 'lightgrey',
248
+ 'lightpink',
249
+ 'lightsalmon',
250
+ 'lightseagreen',
251
+ 'lightskyblue',
252
+ 'lightslategray',
253
+ 'lightslategrey',
254
+ 'lightsteelblue',
255
+ 'lightyellow',
256
+ 'lime',
257
+ 'limegreen',
258
+ 'linen',
259
+ 'magenta',
260
+ 'maroon',
261
+ 'mediumaquamarine',
262
+ 'mediumblue',
263
+ 'mediumorchid',
264
+ 'mediumpurple',
265
+ 'mediumseagreen',
266
+ 'mediumslateblue',
267
+ 'mediumspringgreen',
268
+ 'mediumturquoise',
269
+ 'mediumvioletred',
270
+ 'midnightblue',
271
+ 'mintcream',
272
+ 'mistyrose',
273
+ 'moccasin',
274
+ 'navajowhite',
275
+ 'navy',
276
+ 'oldlace',
277
+ 'olive',
278
+ 'olivedrab',
279
+ 'orange',
280
+ 'orangered',
281
+ 'orchid',
282
+ 'palegoldenrod',
283
+ 'palegreen',
284
+ 'paleturquoise',
285
+ 'palevioletred',
286
+ 'papayawhip',
287
+ 'peachpuff',
288
+ 'peru',
289
+ 'pink',
290
+ 'plum',
291
+ 'powderblue',
292
+ 'purple',
293
+ 'rebeccapurple',
294
+ 'red',
295
+ 'rosybrown',
296
+ 'royalblue',
297
+ 'saddlebrown',
298
+ 'salmon',
299
+ 'sandybrown',
300
+ 'seagreen',
301
+ 'seashell',
302
+ 'sienna',
303
+ 'silver',
304
+ 'skyblue',
305
+ 'slateblue',
306
+ 'slategray',
307
+ 'slategrey',
308
+ 'snow',
309
+ 'springgreen',
310
+ 'steelblue',
311
+ 'tan',
312
+ 'teal',
313
+ 'thistle',
314
+ 'tomato',
315
+ 'turquoise',
316
+ 'violet',
317
+ 'wheat',
318
+ 'white',
319
+ 'whitesmoke',
320
+ 'yellow',
321
+ 'yellowgreen',
322
+ ];
323
+ const systemColors = [
324
+ 'ActiveBorder',
325
+ 'ActiveCaption',
326
+ 'AppWorkspace',
327
+ 'Background',
328
+ 'ButtonHighlight',
329
+ 'ButtonShadow',
330
+ 'CaptionText',
331
+ 'InactiveBorder',
332
+ 'InactiveCaption',
333
+ 'InactiveCaptionText',
334
+ 'InfoBackground',
335
+ 'InfoText',
336
+ 'Menu',
337
+ 'MenuText',
338
+ 'Scrollbar',
339
+ 'ThreeDDarkShadow',
340
+ 'ThreeDFace',
341
+ 'ThreeDHighlight',
342
+ 'ThreeDLightShadow',
343
+ 'ThreeDShadow',
344
+ 'Window',
345
+ 'WindowFrame',
346
+ 'WindowText',
347
+ 'AccentColor',
348
+ 'AccentColorText',
349
+ 'ActiveText',
350
+ 'ButtonBorder',
351
+ 'ButtonFace',
352
+ 'ButtonText',
353
+ 'Canvas',
354
+ 'CanvasText',
355
+ 'Field',
356
+ 'FieldText',
357
+ 'GrayText',
358
+ 'Highlight',
359
+ 'HighlightText',
360
+ 'LinkText',
361
+ 'Mark',
362
+ 'MarkText',
363
+ 'SelectedItem',
364
+ 'SelectedItemText',
365
+ 'VisitedText',
366
+ ];
367
+ const colorKeywordSet = new Set([...namedColors, ...systemColors].map((value) => value.toLowerCase()));
368
+ const overflow = {
369
+ kind: 'enum',
370
+ values: ['auto', 'clip', 'hidden', 'scroll', 'visible'],
371
+ };
372
+ const overscroll = {
373
+ kind: 'enum',
374
+ values: ['auto', 'contain', 'none'],
375
+ };
376
+ const positiveInteger = {
377
+ integer: true,
378
+ kind: 'number',
379
+ max: Number.MAX_SAFE_INTEGER,
380
+ min: 1,
381
+ };
382
+ const scrollMargin = { ...length, negative: true, percentage: false };
383
+ const scrollPadding = { ...length, auto: true };
384
+ const size = {
385
+ auto: true,
386
+ keywords: intrinsic,
387
+ kind: 'length',
388
+ negative: false,
389
+ };
390
+ const stroke = { ...length, percentage: false };
391
+ const textSpacing = {
392
+ ...stroke,
393
+ keywords: ['normal'],
394
+ negative: true,
395
+ };
396
+ const track = { explicit: false, kind: 'grid-tracks' };
397
+ /** Canonical domains shared by legacy aliases and standard declarations. */
398
+ export const aliases = {
399
+ gridColumnGap: 'columnGap',
400
+ gridGap: 'gap',
401
+ gridRowGap: 'rowGap',
402
+ MozAppearance: 'appearance',
403
+ WebkitAppearance: 'appearance',
404
+ WebkitBorderAfter: 'borderBlockEnd',
405
+ WebkitBorderAfterColor: 'borderBlockEndColor',
406
+ WebkitBorderAfterStyle: 'borderBlockEndStyle',
407
+ WebkitBorderAfterWidth: 'borderBlockEndWidth',
408
+ WebkitBorderBefore: 'borderBlockStart',
409
+ WebkitBorderBeforeColor: 'borderBlockStartColor',
410
+ WebkitBorderBeforeStyle: 'borderBlockStartStyle',
411
+ WebkitBorderBeforeWidth: 'borderBlockStartWidth',
412
+ WebkitBorderEnd: 'borderInlineEnd',
413
+ WebkitBorderEndColor: 'borderInlineEndColor',
414
+ WebkitBorderEndStyle: 'borderInlineEndStyle',
415
+ WebkitBorderEndWidth: 'borderInlineEndWidth',
416
+ WebkitBorderStart: 'borderInlineStart',
417
+ WebkitBorderStartColor: 'borderInlineStartColor',
418
+ WebkitBorderStartStyle: 'borderInlineStartStyle',
419
+ WebkitBorderStartWidth: 'borderInlineStartWidth',
420
+ WebkitUserSelect: 'userSelect',
421
+ };
422
+ const dimension = new RegExp(`^[+-]?(?:\\d*\\.\\d+|\\d+)(?:[eE][+-]?\\d+)?(?:${[...lengthUnits, 'deg', 'grad', 'rad', 'turn', 's', 'ms', 'fr', 'dpi', 'dpcm', 'dppx', 'Hz', 'kHz'].join('|')})$`, 'i');
423
+ /** Resolves literal/token ambiguity without validating CSS values. */
424
+ export function isLiteral(property, value) {
425
+ if (value === 0 || globals.has(String(value).toLowerCase()))
426
+ return true;
427
+ const rule = rules[property];
428
+ if (!rule)
429
+ return false;
430
+ if (typeof value === 'string') {
431
+ const folded = Lexical.normalize(value)
432
+ .replace(/^[ \t\n\r\f]+|[ \t\n\r\f]+$/g, '')
433
+ .replace(/[ \t\n\r\f]+/g, ' ');
434
+ if (globals.has(folded))
435
+ return true;
436
+ if (rule.kind === 'color' &&
437
+ (colorKeywordSet.has(folded) ||
438
+ folded === 'transparent' ||
439
+ folded === 'currentcolor'))
440
+ return true;
441
+ if ('keywords' in rule &&
442
+ rule.keywords?.some((keyword) => keyword.toLowerCase() === folded))
443
+ return true;
444
+ if (rule.kind === 'enum' &&
445
+ rule.values.some((keyword) => keyword.toLowerCase() === folded))
446
+ return true;
447
+ if ('auto' in rule && rule.auto && folded === 'auto')
448
+ return true;
449
+ // Dimension and expression spellings always retain literal precedence.
450
+ if (dimension.test(value) || /[#()]/.test(value))
451
+ return true;
452
+ }
453
+ return rule.kind === 'number' && typeof value === 'number';
454
+ }
455
+ /** Serializes public camel-case property names, including numeric legacy spellings. */
456
+ export function name(property) {
457
+ if (property.startsWith('--'))
458
+ return property;
459
+ if (property === 'MsScrollbar3dlightColor')
460
+ return '-ms-scrollbar-3dlight-color';
461
+ return property.replace(/[A-Z]/g, (letter) => `-${letter.toLowerCase()}`);
462
+ }
463
+ /** Single source of truth for the supported literal properties and domains. */
464
+ export const rules = {
465
+ accentColor: { ...color, keywords: ['auto'] },
466
+ alignContent: {
467
+ kind: 'enum',
468
+ values: [
469
+ 'baseline',
470
+ 'center',
471
+ 'end',
472
+ 'first baseline',
473
+ 'flex-end',
474
+ 'flex-start',
475
+ 'last baseline',
476
+ 'normal',
477
+ 'safe center',
478
+ 'safe end',
479
+ 'safe flex-end',
480
+ 'safe flex-start',
481
+ 'safe start',
482
+ 'space-around',
483
+ 'space-between',
484
+ 'space-evenly',
485
+ 'start',
486
+ 'stretch',
487
+ 'unsafe center',
488
+ 'unsafe end',
489
+ 'unsafe flex-end',
490
+ 'unsafe flex-start',
491
+ 'unsafe start',
492
+ ],
493
+ },
494
+ alignItems: {
495
+ kind: 'enum',
496
+ values: [
497
+ 'anchor-center',
498
+ 'baseline',
499
+ 'center',
500
+ 'end',
501
+ 'first baseline',
502
+ 'flex-end',
503
+ 'flex-start',
504
+ 'last baseline',
505
+ 'normal',
506
+ 'safe center',
507
+ 'safe end',
508
+ 'safe flex-end',
509
+ 'safe flex-start',
510
+ 'safe self-end',
511
+ 'safe self-start',
512
+ 'safe start',
513
+ 'self-end',
514
+ 'self-start',
515
+ 'start',
516
+ 'stretch',
517
+ 'unsafe center',
518
+ 'unsafe end',
519
+ 'unsafe flex-end',
520
+ 'unsafe flex-start',
521
+ 'unsafe self-end',
522
+ 'unsafe self-start',
523
+ 'unsafe start',
524
+ ],
525
+ },
526
+ alignmentBaseline: {
527
+ kind: 'enum',
528
+ values: [
529
+ 'alphabetic',
530
+ 'baseline',
531
+ 'central',
532
+ 'ideographic',
533
+ 'mathematical',
534
+ 'middle',
535
+ 'text-after-edge',
536
+ 'text-before-edge',
537
+ ],
538
+ },
539
+ alignSelf: {
540
+ kind: 'enum',
541
+ values: [
542
+ 'anchor-center',
543
+ 'auto',
544
+ 'baseline',
545
+ 'center',
546
+ 'end',
547
+ 'first baseline',
548
+ 'flex-end',
549
+ 'flex-start',
550
+ 'last baseline',
551
+ 'normal',
552
+ 'safe center',
553
+ 'safe end',
554
+ 'safe flex-end',
555
+ 'safe flex-start',
556
+ 'safe self-end',
557
+ 'safe self-start',
558
+ 'safe start',
559
+ 'self-end',
560
+ 'self-start',
561
+ 'start',
562
+ 'stretch',
563
+ 'unsafe center',
564
+ 'unsafe end',
565
+ 'unsafe flex-end',
566
+ 'unsafe flex-start',
567
+ 'unsafe self-end',
568
+ 'unsafe self-start',
569
+ 'unsafe start',
570
+ ],
571
+ },
572
+ alignTracks: { kind: 'compound', property: 'alignTracks' },
573
+ all: {
574
+ kind: 'enum',
575
+ values: ['inherit', 'initial', 'revert', 'revert-layer', 'unset'],
576
+ },
577
+ anchorName: {
578
+ dashed: true,
579
+ keywords: ['none'],
580
+ kind: 'identifier',
581
+ separator: 'comma',
582
+ standalone: ['none'],
583
+ },
584
+ anchorScope: {
585
+ dashed: true,
586
+ keywords: ['all', 'none'],
587
+ kind: 'identifier',
588
+ separator: 'comma',
589
+ standalone: ['all', 'none'],
590
+ },
591
+ animation: { kind: 'compound', property: 'animation' },
592
+ animationComposition: {
593
+ kind: 'enum',
594
+ list: true,
595
+ values: ['accumulate', 'add', 'replace'],
596
+ },
597
+ animationDelay: { kind: 'time', list: true, negative: true },
598
+ animationDirection: {
599
+ kind: 'enum',
600
+ list: true,
601
+ values: ['alternate', 'alternate-reverse', 'normal', 'reverse'],
602
+ },
603
+ animationDuration: {
604
+ keywords: ['auto'],
605
+ kind: 'time',
606
+ list: true,
607
+ negative: false,
608
+ },
609
+ animationFillMode: {
610
+ kind: 'enum',
611
+ list: true,
612
+ values: ['backwards', 'both', 'forwards', 'none'],
613
+ },
614
+ animationIterationCount: {
615
+ keywords: ['infinite'],
616
+ kind: 'number',
617
+ list: true,
618
+ max: Infinity,
619
+ min: 0,
620
+ },
621
+ animationName: { keywords: ['none'], kind: 'identifier', separator: 'comma' },
622
+ animationPlayState: {
623
+ kind: 'enum',
624
+ list: true,
625
+ values: ['paused', 'running'],
626
+ },
627
+ animationRange: { kind: 'compound', property: 'animationRange' },
628
+ animationTimeline: {
629
+ dashed: true,
630
+ keywords: ['auto', 'none'],
631
+ kind: 'identifier',
632
+ separator: 'comma',
633
+ },
634
+ animationRangeEnd: attachmentRange,
635
+ animationRangeStart: attachmentRange,
636
+ animationTimingFunction: {
637
+ easing: true,
638
+ kind: 'enum',
639
+ list: true,
640
+ values: [
641
+ 'ease',
642
+ 'ease-in',
643
+ 'ease-in-out',
644
+ 'ease-out',
645
+ 'linear',
646
+ 'step-end',
647
+ 'step-start',
648
+ ],
649
+ },
650
+ animationTrigger: { kind: 'compound', property: 'animationTrigger' },
651
+ appearance: {
652
+ kind: 'enum',
653
+ values: [
654
+ 'auto',
655
+ 'button',
656
+ 'checkbox',
657
+ 'listbox',
658
+ 'menulist',
659
+ 'menulist-button',
660
+ 'meter',
661
+ 'none',
662
+ 'progress-bar',
663
+ 'radio',
664
+ 'searchfield',
665
+ 'textarea',
666
+ 'textfield',
667
+ ],
668
+ },
669
+ aspectRatio: { kind: 'ratio' },
670
+ backdropFilter: { kind: 'compound', property: 'backdropFilter' },
671
+ backfaceVisibility: { kind: 'enum', values: ['hidden', 'visible'] },
672
+ background: { kind: 'compound', property: 'background' },
673
+ backgroundAttachment: {
674
+ kind: 'enum',
675
+ list: true,
676
+ values: ['fixed', 'local', 'scroll'],
677
+ },
678
+ backgroundBlendMode: { ...blend, list: true },
679
+ backgroundClip: {
680
+ kind: 'enum',
681
+ list: true,
682
+ values: ['border-area', 'border-box', 'content-box', 'padding-box', 'text'],
683
+ },
684
+ backgroundColor: color,
685
+ backgroundImage: { kind: 'image', list: true },
686
+ backgroundOrigin: {
687
+ kind: 'enum',
688
+ list: true,
689
+ values: ['border-box', 'content-box', 'padding-box'],
690
+ },
691
+ backgroundPosition: { kind: 'compound', property: 'backgroundPosition' },
692
+ backgroundPositionX: { kind: 'compound', property: 'backgroundPositionX' },
693
+ backgroundPositionY: { kind: 'compound', property: 'backgroundPositionY' },
694
+ backgroundRepeat: {
695
+ kind: 'enum',
696
+ items: 2,
697
+ list: true,
698
+ values: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y', 'round', 'space'],
699
+ },
700
+ backgroundSize: {
701
+ ...length,
702
+ auto: true,
703
+ items: 2,
704
+ list: true,
705
+ keywords: ['contain', 'cover'],
706
+ },
707
+ baselineShift: {
708
+ ...length,
709
+ keywords: ['baseline', 'sub', 'super'],
710
+ negative: true,
711
+ },
712
+ baselineSource: { kind: 'enum', values: ['auto', 'first', 'last'] },
713
+ blockSize: {
714
+ ...size,
715
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
716
+ },
717
+ border: { kind: 'line' },
718
+ borderBlock: { kind: 'line' },
719
+ borderBlockColor: { ...color, items: 2 },
720
+ borderBlockEnd: { kind: 'line' },
721
+ borderBlockEndColor: color,
722
+ borderBlockEndStyle: border,
723
+ borderBlockEndWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
724
+ borderBlockStart: { kind: 'line' },
725
+ borderBlockStartColor: color,
726
+ borderBlockStartStyle: border,
727
+ borderBlockStartWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
728
+ borderBlockStyle: { ...border, items: 2 },
729
+ borderBlockWidth: {
730
+ ...stroke,
731
+ items: 2,
732
+ keywords: ['medium', 'thick', 'thin'],
733
+ },
734
+ borderBottom: { kind: 'line' },
735
+ borderBottomColor: color,
736
+ borderBottomLeftRadius: { ...length, items: 2 },
737
+ borderBottomRightRadius: { ...length, items: 2 },
738
+ borderBottomStyle: border,
739
+ borderBottomWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
740
+ borderCollapse: { kind: 'enum', values: ['collapse', 'separate'] },
741
+ borderColor: { ...color, items: 4 },
742
+ borderEndEndRadius: { ...length, items: 2 },
743
+ borderEndStartRadius: { ...length, items: 2 },
744
+ borderImage: { kind: 'compound', property: 'borderImage' },
745
+ borderImageOutset: {
746
+ kind: 'tuple',
747
+ atoms: ['length', 'number'],
748
+ min: 1,
749
+ max: 4,
750
+ negative: false,
751
+ },
752
+ borderImageRepeat: {
753
+ items: 2,
754
+ kind: 'enum',
755
+ values: ['repeat', 'round', 'space', 'stretch'],
756
+ },
757
+ borderImageSlice: {
758
+ kind: 'tuple',
759
+ atoms: ['number', 'percentage'],
760
+ marker: 'fill',
761
+ markerPosition: 'any',
762
+ min: 1,
763
+ max: 4,
764
+ negative: false,
765
+ },
766
+ borderImageSource: { kind: 'image' },
767
+ borderImageWidth: {
768
+ kind: 'tuple',
769
+ atoms: ['length', 'number', 'percentage'],
770
+ keywords: ['auto'],
771
+ min: 1,
772
+ max: 4,
773
+ negative: false,
774
+ },
775
+ borderInline: { kind: 'line' },
776
+ borderInlineColor: { ...color, items: 2 },
777
+ borderInlineEnd: { kind: 'line' },
778
+ borderInlineEndColor: color,
779
+ borderInlineEndStyle: border,
780
+ borderInlineEndWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
781
+ borderInlineStart: { kind: 'line' },
782
+ borderInlineStartColor: color,
783
+ borderInlineStartStyle: border,
784
+ borderInlineStartWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
785
+ borderInlineStyle: { ...border, items: 2 },
786
+ borderInlineWidth: {
787
+ ...stroke,
788
+ items: 2,
789
+ keywords: ['medium', 'thick', 'thin'],
790
+ },
791
+ borderLeft: { kind: 'line' },
792
+ borderLeftColor: color,
793
+ borderLeftStyle: border,
794
+ borderLeftWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
795
+ borderRadius: { ...length, axes: true, items: 4 },
796
+ borderRight: { kind: 'line' },
797
+ borderRightColor: color,
798
+ borderRightStyle: border,
799
+ borderRightWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
800
+ borderShape: { kind: 'compound', property: 'borderShape' },
801
+ borderSpacing: { ...stroke, items: 2 },
802
+ borderStartEndRadius: { ...length, items: 2 },
803
+ borderStartStartRadius: { ...length, items: 2 },
804
+ borderStyle: { ...border, items: 4 },
805
+ borderTop: { kind: 'line' },
806
+ borderTopColor: color,
807
+ borderTopLeftRadius: { ...length, items: 2 },
808
+ borderTopRightRadius: { ...length, items: 2 },
809
+ borderTopStyle: border,
810
+ borderTopWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
811
+ borderWidth: { ...stroke, items: 4, keywords: ['medium', 'thick', 'thin'] },
812
+ bottom: { ...margin, functions: ['anchor', 'anchor-size'] },
813
+ boxAlign: {
814
+ kind: 'enum',
815
+ values: ['baseline', 'center', 'end', 'start', 'stretch'],
816
+ },
817
+ boxDecorationBreak: { kind: 'enum', values: ['clone', 'slice'] },
818
+ boxDirection: { kind: 'enum', values: ['normal', 'reverse'] },
819
+ boxFlex: { kind: 'number', max: Number.MAX_SAFE_INTEGER, min: 0 },
820
+ boxFlexGroup: {
821
+ integer: true,
822
+ kind: 'number',
823
+ max: Number.MAX_SAFE_INTEGER,
824
+ min: 1,
825
+ },
826
+ boxLines: { kind: 'enum', values: ['multiple', 'single'] },
827
+ boxOrdinalGroup: {
828
+ integer: true,
829
+ kind: 'number',
830
+ max: Number.MAX_SAFE_INTEGER,
831
+ min: 1,
832
+ },
833
+ boxOrient: {
834
+ kind: 'enum',
835
+ values: ['block-axis', 'horizontal', 'inline-axis', 'vertical'],
836
+ },
837
+ boxPack: { kind: 'enum', values: ['center', 'end', 'justify', 'start'] },
838
+ boxShadow: { kind: 'compound', property: 'boxShadow' },
839
+ boxSizing: { kind: 'enum', values: ['border-box', 'content-box'] },
840
+ breakAfter: {
841
+ ...fragmentation,
842
+ values: [
843
+ 'all',
844
+ 'always',
845
+ 'auto',
846
+ 'avoid',
847
+ 'avoid-column',
848
+ 'avoid-page',
849
+ 'avoid-region',
850
+ 'column',
851
+ 'left',
852
+ 'page',
853
+ 'recto',
854
+ 'region',
855
+ 'right',
856
+ 'verso',
857
+ ],
858
+ },
859
+ breakBefore: {
860
+ ...fragmentation,
861
+ values: [
862
+ 'all',
863
+ 'always',
864
+ 'auto',
865
+ 'avoid',
866
+ 'avoid-column',
867
+ 'avoid-page',
868
+ 'avoid-region',
869
+ 'column',
870
+ 'left',
871
+ 'page',
872
+ 'recto',
873
+ 'region',
874
+ 'right',
875
+ 'verso',
876
+ ],
877
+ },
878
+ breakInside: {
879
+ kind: 'enum',
880
+ values: ['avoid-region', 'auto', 'avoid', 'avoid-column', 'avoid-page'],
881
+ },
882
+ captionSide: { kind: 'enum', values: ['bottom', 'top'] },
883
+ caret: { kind: 'compound', property: 'caret' },
884
+ caretAnimation: { kind: 'enum', values: ['auto', 'manual'] },
885
+ caretColor: { ...color, keywords: ['auto'] },
886
+ caretShape: { kind: 'enum', values: ['auto', 'bar', 'block', 'underscore'] },
887
+ clear: {
888
+ kind: 'enum',
889
+ values: ['both', 'inline-end', 'inline-start', 'left', 'none', 'right'],
890
+ },
891
+ clip: { kind: 'compound', property: 'clip' },
892
+ clipPath: { kind: 'compound', property: 'clipPath' },
893
+ clipRule: { kind: 'enum', values: ['evenodd', 'nonzero'] },
894
+ color,
895
+ colorInterpolationFilters: {
896
+ kind: 'enum',
897
+ values: ['auto', 'linearRGB', 'sRGB'],
898
+ },
899
+ colorScheme: {
900
+ kind: 'identifier',
901
+ keywords: [
902
+ 'dark',
903
+ 'dark light',
904
+ 'light',
905
+ 'light dark',
906
+ 'normal',
907
+ 'only dark',
908
+ 'only light',
909
+ ],
910
+ },
911
+ columnCount: { ...positiveInteger, keywords: ['auto'] },
912
+ columnFill: { kind: 'enum', values: ['auto', 'balance'] },
913
+ columnGap: { ...length, keywords: ['normal'] },
914
+ columnHeight: { ...length, auto: true, percentage: false },
915
+ columnRule: { kind: 'line' },
916
+ columnRuleColor: color,
917
+ columnRuleStyle: border,
918
+ columnRuleWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
919
+ columns: { kind: 'compound', property: 'columns' },
920
+ columnSpan: { kind: 'enum', values: ['all', 'none'] },
921
+ columnWidth: { ...stroke, auto: true },
922
+ columnWrap: { kind: 'enum', values: ['auto', 'nowrap', 'wrap'] },
923
+ contain: {
924
+ groups: [['size', 'inline-size'], ['layout'], ['style'], ['paint']],
925
+ kind: 'enum',
926
+ values: [
927
+ 'content',
928
+ 'inline-size',
929
+ 'layout',
930
+ 'none',
931
+ 'paint',
932
+ 'size',
933
+ 'strict',
934
+ 'style',
935
+ ],
936
+ },
937
+ container: { kind: 'compound', property: 'container' },
938
+ containIntrinsicBlockSize: {
939
+ atoms: ['length'],
940
+ keywords: ['none'],
941
+ kind: 'tuple',
942
+ max: 1,
943
+ min: 1,
944
+ negative: false,
945
+ prefixes: ['auto'],
946
+ },
947
+ containIntrinsicHeight: {
948
+ atoms: ['length'],
949
+ keywords: ['none'],
950
+ kind: 'tuple',
951
+ max: 1,
952
+ min: 1,
953
+ negative: false,
954
+ prefixes: ['auto'],
955
+ },
956
+ containIntrinsicInlineSize: {
957
+ atoms: ['length'],
958
+ keywords: ['none'],
959
+ kind: 'tuple',
960
+ max: 1,
961
+ min: 1,
962
+ negative: false,
963
+ prefixes: ['auto'],
964
+ },
965
+ containIntrinsicSize: {
966
+ atoms: ['length'],
967
+ keywords: ['none'],
968
+ kind: 'tuple',
969
+ max: 2,
970
+ min: 1,
971
+ negative: false,
972
+ prefixes: ['auto'],
973
+ },
974
+ containIntrinsicWidth: {
975
+ atoms: ['length'],
976
+ keywords: ['none'],
977
+ kind: 'tuple',
978
+ max: 1,
979
+ min: 1,
980
+ negative: false,
981
+ prefixes: ['auto'],
982
+ },
983
+ containerName: {
984
+ keywords: ['none'],
985
+ kind: 'identifier',
986
+ separator: 'space',
987
+ standalone: ['none'],
988
+ excluded: ['and', 'not', 'or'],
989
+ },
990
+ containerType: {
991
+ kind: 'enum',
992
+ values: [
993
+ 'inline-size',
994
+ 'inline-size scroll-state',
995
+ 'normal',
996
+ 'scroll-state',
997
+ 'scroll-state inline-size',
998
+ 'scroll-state size',
999
+ 'size',
1000
+ 'size scroll-state',
1001
+ ],
1002
+ },
1003
+ content: { kind: 'compound', property: 'content' },
1004
+ contentVisibility: { kind: 'enum', values: ['auto', 'hidden', 'visible'] },
1005
+ cornerBlockEndShape: { kind: 'corner', items: 2 },
1006
+ cornerBlockStartShape: { kind: 'corner', items: 2 },
1007
+ cornerBottomLeftShape: { kind: 'corner' },
1008
+ cornerBottomRightShape: { kind: 'corner' },
1009
+ cornerBottomShape: { kind: 'corner', items: 2 },
1010
+ cornerEndEndShape: { kind: 'corner' },
1011
+ cornerEndStartShape: { kind: 'corner' },
1012
+ cornerInlineEndShape: { kind: 'corner', items: 2 },
1013
+ cornerInlineStartShape: { kind: 'corner', items: 2 },
1014
+ cornerLeftShape: { kind: 'corner', items: 2 },
1015
+ cornerRightShape: { kind: 'corner', items: 2 },
1016
+ cornerShape: { kind: 'corner', items: 4 },
1017
+ cornerStartEndShape: { kind: 'corner' },
1018
+ cornerStartStartShape: { kind: 'corner' },
1019
+ cornerTopLeftShape: { kind: 'corner' },
1020
+ cornerTopRightShape: { kind: 'corner' },
1021
+ cornerTopShape: { kind: 'corner', items: 2 },
1022
+ counterIncrement: { kind: 'compound', property: 'counterIncrement' },
1023
+ counterReset: { kind: 'compound', property: 'counterReset' },
1024
+ counterSet: { kind: 'compound', property: 'counterSet' },
1025
+ cursor: {
1026
+ kind: 'enum',
1027
+ urls: true,
1028
+ values: [
1029
+ 'alias',
1030
+ 'all-scroll',
1031
+ 'auto',
1032
+ 'cell',
1033
+ 'col-resize',
1034
+ 'context-menu',
1035
+ 'copy',
1036
+ 'crosshair',
1037
+ 'default',
1038
+ 'e-resize',
1039
+ 'ew-resize',
1040
+ 'grab',
1041
+ 'grabbing',
1042
+ 'help',
1043
+ 'move',
1044
+ 'n-resize',
1045
+ 'ne-resize',
1046
+ 'nesw-resize',
1047
+ 'no-drop',
1048
+ 'none',
1049
+ 'not-allowed',
1050
+ 'ns-resize',
1051
+ 'nw-resize',
1052
+ 'nwse-resize',
1053
+ 'pointer',
1054
+ 'progress',
1055
+ 'row-resize',
1056
+ 's-resize',
1057
+ 'se-resize',
1058
+ 'sw-resize',
1059
+ 'text',
1060
+ 'vertical-text',
1061
+ 'w-resize',
1062
+ 'wait',
1063
+ 'zoom-in',
1064
+ 'zoom-out',
1065
+ ],
1066
+ },
1067
+ cx: { ...length, negative: true },
1068
+ cy: { ...length, negative: true },
1069
+ d: { kind: 'compound', property: 'd' },
1070
+ direction: { kind: 'enum', values: ['ltr', 'rtl'] },
1071
+ display: {
1072
+ kind: 'enum',
1073
+ values: [
1074
+ 'block',
1075
+ 'block flex',
1076
+ 'block flow',
1077
+ 'block flow list-item',
1078
+ 'block flow-root',
1079
+ 'block flow-root list-item',
1080
+ 'block grid',
1081
+ 'block list-item',
1082
+ 'block list-item flow',
1083
+ 'block list-item flow-root',
1084
+ 'block ruby',
1085
+ 'block table',
1086
+ 'contents',
1087
+ 'flex',
1088
+ 'flex block',
1089
+ 'flex inline',
1090
+ 'flex run-in',
1091
+ 'flow',
1092
+ 'flow block',
1093
+ 'flow block list-item',
1094
+ 'flow inline',
1095
+ 'flow inline list-item',
1096
+ 'flow list-item',
1097
+ 'flow list-item block',
1098
+ 'flow list-item inline',
1099
+ 'flow list-item run-in',
1100
+ 'flow run-in',
1101
+ 'flow run-in list-item',
1102
+ 'flow-root',
1103
+ 'flow-root block',
1104
+ 'flow-root block list-item',
1105
+ 'flow-root inline',
1106
+ 'flow-root inline list-item',
1107
+ 'flow-root list-item',
1108
+ 'flow-root list-item block',
1109
+ 'flow-root list-item inline',
1110
+ 'flow-root list-item run-in',
1111
+ 'flow-root run-in',
1112
+ 'flow-root run-in list-item',
1113
+ 'grid',
1114
+ 'grid block',
1115
+ 'grid inline',
1116
+ 'grid run-in',
1117
+ 'inline',
1118
+ 'inline flex',
1119
+ 'inline flow',
1120
+ 'inline flow list-item',
1121
+ 'inline flow-root',
1122
+ 'inline flow-root list-item',
1123
+ 'inline grid',
1124
+ 'inline list-item',
1125
+ 'inline list-item flow',
1126
+ 'inline list-item flow-root',
1127
+ 'inline ruby',
1128
+ 'inline table',
1129
+ 'inline-block',
1130
+ 'inline-flex',
1131
+ 'inline-grid',
1132
+ 'inline-list-item',
1133
+ 'inline-table',
1134
+ 'list-item',
1135
+ 'list-item block',
1136
+ 'list-item block flow',
1137
+ 'list-item block flow-root',
1138
+ 'list-item flow',
1139
+ 'list-item flow block',
1140
+ 'list-item flow inline',
1141
+ 'list-item flow run-in',
1142
+ 'list-item flow-root',
1143
+ 'list-item flow-root block',
1144
+ 'list-item flow-root inline',
1145
+ 'list-item flow-root run-in',
1146
+ 'list-item inline',
1147
+ 'list-item inline flow',
1148
+ 'list-item inline flow-root',
1149
+ 'list-item run-in',
1150
+ 'list-item run-in flow',
1151
+ 'list-item run-in flow-root',
1152
+ 'none',
1153
+ 'ruby',
1154
+ 'ruby block',
1155
+ 'ruby inline',
1156
+ 'ruby run-in',
1157
+ 'ruby-base',
1158
+ 'ruby-base-container',
1159
+ 'ruby-text',
1160
+ 'ruby-text-container',
1161
+ 'run-in',
1162
+ 'run-in flex',
1163
+ 'run-in flow',
1164
+ 'run-in flow list-item',
1165
+ 'run-in flow-root',
1166
+ 'run-in flow-root list-item',
1167
+ 'run-in grid',
1168
+ 'run-in list-item',
1169
+ 'run-in list-item flow',
1170
+ 'run-in list-item flow-root',
1171
+ 'run-in ruby',
1172
+ 'run-in table',
1173
+ 'table',
1174
+ 'table block',
1175
+ 'table inline',
1176
+ 'table run-in',
1177
+ 'table-caption',
1178
+ 'table-cell',
1179
+ 'table-column',
1180
+ 'table-column-group',
1181
+ 'table-footer-group',
1182
+ 'table-header-group',
1183
+ 'table-row',
1184
+ 'table-row-group',
1185
+ ],
1186
+ },
1187
+ dominantBaseline: {
1188
+ kind: 'enum',
1189
+ values: [
1190
+ 'alphabetic',
1191
+ 'auto',
1192
+ 'central',
1193
+ 'hanging',
1194
+ 'ideographic',
1195
+ 'mathematical',
1196
+ 'middle',
1197
+ 'text-bottom',
1198
+ 'text-top',
1199
+ ],
1200
+ },
1201
+ dynamicRangeLimit: {
1202
+ kind: 'enum',
1203
+ values: ['constrained', 'no-limit', 'standard'],
1204
+ functions: ['dynamic-range-limit-mix'],
1205
+ },
1206
+ emptyCells: { kind: 'enum', values: ['hide', 'show'] },
1207
+ fieldSizing: { kind: 'enum', values: ['content', 'fixed'] },
1208
+ fill: {
1209
+ ...color,
1210
+ keywords: ['context-fill', 'context-stroke', 'none'],
1211
+ paint: true,
1212
+ },
1213
+ fillOpacity: alpha,
1214
+ fillRule: { kind: 'enum', values: ['evenodd', 'nonzero'] },
1215
+ filter: { kind: 'compound', property: 'filter' },
1216
+ flex: {
1217
+ kind: 'compound',
1218
+ property: 'flex',
1219
+ functions: ['anchor-size', 'calc-size'],
1220
+ },
1221
+ flexBasis: {
1222
+ ...size,
1223
+ keywords: ['content', ...intrinsic],
1224
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1225
+ },
1226
+ flexDirection: {
1227
+ kind: 'enum',
1228
+ values: ['column', 'column-reverse', 'row', 'row-reverse'],
1229
+ },
1230
+ flexFlow: {
1231
+ kind: 'enum',
1232
+ values: [
1233
+ 'balance',
1234
+ 'balance column',
1235
+ 'balance column-reverse',
1236
+ 'balance row',
1237
+ 'balance row-reverse',
1238
+ 'balance wrap',
1239
+ 'balance wrap column',
1240
+ 'balance wrap column-reverse',
1241
+ 'balance wrap row',
1242
+ 'balance wrap row-reverse',
1243
+ 'balance wrap-reverse',
1244
+ 'balance wrap-reverse column',
1245
+ 'balance wrap-reverse column-reverse',
1246
+ 'balance wrap-reverse row',
1247
+ 'balance wrap-reverse row-reverse',
1248
+ 'column',
1249
+ 'column balance',
1250
+ 'column balance wrap',
1251
+ 'column balance wrap-reverse',
1252
+ 'column nowrap',
1253
+ 'column wrap',
1254
+ 'column wrap balance',
1255
+ 'column wrap-reverse',
1256
+ 'column wrap-reverse balance',
1257
+ 'column-reverse',
1258
+ 'column-reverse balance',
1259
+ 'column-reverse balance wrap',
1260
+ 'column-reverse balance wrap-reverse',
1261
+ 'column-reverse nowrap',
1262
+ 'column-reverse wrap',
1263
+ 'column-reverse wrap balance',
1264
+ 'column-reverse wrap-reverse',
1265
+ 'column-reverse wrap-reverse balance',
1266
+ 'nowrap',
1267
+ 'nowrap column',
1268
+ 'nowrap column-reverse',
1269
+ 'nowrap row',
1270
+ 'nowrap row-reverse',
1271
+ 'row',
1272
+ 'row balance',
1273
+ 'row balance wrap',
1274
+ 'row balance wrap-reverse',
1275
+ 'row nowrap',
1276
+ 'row wrap',
1277
+ 'row wrap balance',
1278
+ 'row wrap-reverse',
1279
+ 'row wrap-reverse balance',
1280
+ 'row-reverse',
1281
+ 'row-reverse balance',
1282
+ 'row-reverse balance wrap',
1283
+ 'row-reverse balance wrap-reverse',
1284
+ 'row-reverse nowrap',
1285
+ 'row-reverse wrap',
1286
+ 'row-reverse wrap balance',
1287
+ 'row-reverse wrap-reverse',
1288
+ 'row-reverse wrap-reverse balance',
1289
+ 'wrap',
1290
+ 'wrap balance',
1291
+ 'wrap balance column',
1292
+ 'wrap balance column-reverse',
1293
+ 'wrap balance row',
1294
+ 'wrap balance row-reverse',
1295
+ 'wrap column',
1296
+ 'wrap column-reverse',
1297
+ 'wrap row',
1298
+ 'wrap row-reverse',
1299
+ 'wrap-reverse',
1300
+ 'wrap-reverse balance',
1301
+ 'wrap-reverse balance column',
1302
+ 'wrap-reverse balance column-reverse',
1303
+ 'wrap-reverse balance row',
1304
+ 'wrap-reverse balance row-reverse',
1305
+ 'wrap-reverse column',
1306
+ 'wrap-reverse column-reverse',
1307
+ 'wrap-reverse row',
1308
+ 'wrap-reverse row-reverse',
1309
+ ],
1310
+ },
1311
+ flexGrow: { kind: 'number', max: Infinity, min: 0 },
1312
+ flexLineCount: {
1313
+ integer: true,
1314
+ kind: 'number',
1315
+ max: Number.MAX_SAFE_INTEGER,
1316
+ min: 1,
1317
+ },
1318
+ flexShrink: { kind: 'number', max: Infinity, min: 0 },
1319
+ flexWrap: {
1320
+ kind: 'enum',
1321
+ values: [
1322
+ 'balance',
1323
+ 'balance wrap',
1324
+ 'balance wrap-reverse',
1325
+ 'nowrap',
1326
+ 'wrap',
1327
+ 'wrap balance',
1328
+ 'wrap-reverse',
1329
+ 'wrap-reverse balance',
1330
+ ],
1331
+ },
1332
+ float: {
1333
+ kind: 'enum',
1334
+ values: ['inline-end', 'inline-start', 'left', 'none', 'right'],
1335
+ },
1336
+ floodColor: color,
1337
+ floodOpacity: alpha,
1338
+ font: { kind: 'compound', property: 'font' },
1339
+ fontFamily: { kind: 'compound', property: 'fontFamily' },
1340
+ fontFeatureSettings: { kind: 'compound', property: 'fontFeatureSettings' },
1341
+ fontKerning: { kind: 'enum', values: ['auto', 'none', 'normal'] },
1342
+ fontLanguageOverride: { kind: 'compound', property: 'fontLanguageOverride' },
1343
+ fontOpticalSizing: { kind: 'enum', values: ['auto', 'none'] },
1344
+ fontPalette: {
1345
+ dashed: true,
1346
+ keywords: ['dark', 'light', 'normal'],
1347
+ kind: 'identifier',
1348
+ },
1349
+ fontSize: {
1350
+ ...length,
1351
+ keywords: [
1352
+ 'large',
1353
+ 'larger',
1354
+ 'math',
1355
+ 'medium',
1356
+ 'small',
1357
+ 'smaller',
1358
+ 'x-large',
1359
+ 'x-small',
1360
+ 'xx-large',
1361
+ 'xx-small',
1362
+ 'xxx-large',
1363
+ ],
1364
+ },
1365
+ fontSizeAdjust: {
1366
+ atoms: ['number'],
1367
+ keywords: ['from-font'],
1368
+ kind: 'tuple',
1369
+ max: 1,
1370
+ min: 1,
1371
+ negative: false,
1372
+ prefixes: ['ex-height', 'cap-height', 'ch-width', 'ic-width', 'ic-height'],
1373
+ standalone: ['none'],
1374
+ },
1375
+ fontSmooth: {
1376
+ ...stroke,
1377
+ keywords: [
1378
+ 'always',
1379
+ 'auto',
1380
+ 'large',
1381
+ 'medium',
1382
+ 'never',
1383
+ 'small',
1384
+ 'x-large',
1385
+ 'x-small',
1386
+ 'xx-large',
1387
+ 'xx-small',
1388
+ 'xxx-large',
1389
+ ],
1390
+ },
1391
+ fontStretch: fontWidth,
1392
+ fontStyle: { kind: 'compound', property: 'fontStyle' },
1393
+ fontSynthesis: {
1394
+ groups: [['position'], ['small-caps'], ['style'], ['weight']],
1395
+ kind: 'enum',
1396
+ values: ['none', 'position', 'small-caps', 'style', 'weight'],
1397
+ },
1398
+ fontSynthesisPosition: { kind: 'enum', values: ['auto', 'none'] },
1399
+ fontSynthesisSmallCaps: { kind: 'enum', values: ['auto', 'none'] },
1400
+ fontSynthesisStyle: { kind: 'enum', values: ['auto', 'none'] },
1401
+ fontSynthesisWeight: { kind: 'enum', values: ['auto', 'none'] },
1402
+ fontVariant: { kind: 'compound', property: 'fontVariant' },
1403
+ fontVariantAlternates: {
1404
+ kind: 'compound',
1405
+ property: 'fontVariantAlternates',
1406
+ },
1407
+ fontVariantCaps: {
1408
+ kind: 'enum',
1409
+ values: [
1410
+ 'all-petite-caps',
1411
+ 'all-small-caps',
1412
+ 'normal',
1413
+ 'petite-caps',
1414
+ 'small-caps',
1415
+ 'titling-caps',
1416
+ 'unicase',
1417
+ ],
1418
+ },
1419
+ fontVariantEastAsian: {
1420
+ groups: [
1421
+ ['jis04', 'jis78', 'jis83', 'jis90', 'simplified', 'traditional'],
1422
+ ['full-width', 'proportional-width'],
1423
+ ['ruby'],
1424
+ ],
1425
+ kind: 'enum',
1426
+ values: [
1427
+ 'full-width',
1428
+ 'jis04',
1429
+ 'jis78',
1430
+ 'jis83',
1431
+ 'jis90',
1432
+ 'normal',
1433
+ 'proportional-width',
1434
+ 'ruby',
1435
+ 'simplified',
1436
+ 'traditional',
1437
+ ],
1438
+ },
1439
+ fontVariantEmoji: {
1440
+ kind: 'enum',
1441
+ values: ['emoji', 'normal', 'text', 'unicode'],
1442
+ },
1443
+ fontVariantLigatures: {
1444
+ groups: [
1445
+ ['common-ligatures', 'no-common-ligatures'],
1446
+ ['contextual', 'no-contextual'],
1447
+ ['discretionary-ligatures', 'no-discretionary-ligatures'],
1448
+ ['historical-ligatures', 'no-historical-ligatures'],
1449
+ ],
1450
+ kind: 'enum',
1451
+ values: [
1452
+ 'common-ligatures',
1453
+ 'contextual',
1454
+ 'discretionary-ligatures',
1455
+ 'historical-ligatures',
1456
+ 'no-common-ligatures',
1457
+ 'no-contextual',
1458
+ 'no-discretionary-ligatures',
1459
+ 'no-historical-ligatures',
1460
+ 'none',
1461
+ 'normal',
1462
+ ],
1463
+ },
1464
+ fontVariantNumeric: {
1465
+ groups: [
1466
+ ['diagonal-fractions', 'stacked-fractions'],
1467
+ ['lining-nums', 'oldstyle-nums'],
1468
+ ['ordinal'],
1469
+ ['proportional-nums', 'tabular-nums'],
1470
+ ['slashed-zero'],
1471
+ ],
1472
+ kind: 'enum',
1473
+ values: [
1474
+ 'diagonal-fractions',
1475
+ 'lining-nums',
1476
+ 'normal',
1477
+ 'oldstyle-nums',
1478
+ 'ordinal',
1479
+ 'proportional-nums',
1480
+ 'slashed-zero',
1481
+ 'stacked-fractions',
1482
+ 'tabular-nums',
1483
+ ],
1484
+ },
1485
+ fontVariantPosition: { kind: 'enum', values: ['normal', 'sub', 'super'] },
1486
+ fontVariationSettings: {
1487
+ kind: 'compound',
1488
+ property: 'fontVariationSettings',
1489
+ },
1490
+ fontWeight: {
1491
+ kind: 'number',
1492
+ max: 1000,
1493
+ min: 1,
1494
+ keywords: ['bold', 'bolder', 'lighter', 'normal'],
1495
+ },
1496
+ fontWidth,
1497
+ forcedColorAdjust: {
1498
+ kind: 'enum',
1499
+ values: ['auto', 'none', 'preserve-parent-color'],
1500
+ },
1501
+ frameSizing: {
1502
+ kind: 'enum',
1503
+ values: [
1504
+ 'auto',
1505
+ 'content-block-size',
1506
+ 'content-height',
1507
+ 'content-inline-size',
1508
+ 'content-width',
1509
+ ],
1510
+ },
1511
+ gap: { ...length, items: 2, keywords: ['normal'] },
1512
+ grid: { kind: 'compound', property: 'grid' },
1513
+ gridArea: { kind: 'grid-line', items: 4 },
1514
+ gridAutoColumns: track,
1515
+ gridAutoFlow: {
1516
+ kind: 'enum',
1517
+ values: [
1518
+ 'column',
1519
+ 'column dense',
1520
+ 'dense',
1521
+ 'dense column',
1522
+ 'dense row',
1523
+ 'row',
1524
+ 'row dense',
1525
+ ],
1526
+ },
1527
+ gridAutoRows: track,
1528
+ gridColumn: { kind: 'grid-line', items: 2 },
1529
+ gridColumnEnd: { kind: 'grid-line' },
1530
+ gridColumnGap: length,
1531
+ gridColumnStart: { kind: 'grid-line' },
1532
+ gridGap: { ...length, items: 2 },
1533
+ gridRow: { kind: 'grid-line', items: 2 },
1534
+ gridRowEnd: { kind: 'grid-line' },
1535
+ gridRowGap: length,
1536
+ gridRowStart: { kind: 'grid-line' },
1537
+ gridTemplate: { kind: 'compound', property: 'gridTemplate' },
1538
+ gridTemplateAreas: { kind: 'compound', property: 'gridTemplateAreas' },
1539
+ gridTemplateColumns: {
1540
+ ...track,
1541
+ explicit: true,
1542
+ },
1543
+ gridTemplateRows: {
1544
+ ...track,
1545
+ explicit: true,
1546
+ },
1547
+ hangingPunctuation: {
1548
+ groups: [['first'], ['allow-end', 'force-end'], ['last']],
1549
+ kind: 'enum',
1550
+ values: ['allow-end', 'first', 'force-end', 'last', 'none'],
1551
+ },
1552
+ height: { ...size, functions: ['anchor-size', 'calc-size', 'fit-content'] },
1553
+ hyphenateCharacter: { kind: 'compound', property: 'hyphenateCharacter' },
1554
+ hyphenateLimitChars: {
1555
+ kind: 'tuple',
1556
+ atoms: ['integer'],
1557
+ keywords: ['auto'],
1558
+ min: 1,
1559
+ max: 3,
1560
+ negative: false,
1561
+ },
1562
+ hyphens: { kind: 'enum', values: ['auto', 'manual', 'none'] },
1563
+ imageOrientation: { kind: 'compound', property: 'imageOrientation' },
1564
+ imageRendering: {
1565
+ kind: 'enum',
1566
+ values: ['auto', 'crisp-edges', 'pixelated', 'smooth'],
1567
+ },
1568
+ imageResolution: { kind: 'compound', property: 'imageResolution' },
1569
+ imeMode: {
1570
+ kind: 'enum',
1571
+ values: ['active', 'auto', 'disabled', 'inactive', 'normal'],
1572
+ },
1573
+ initialLetter: { kind: 'compound', property: 'initialLetter' },
1574
+ initialLetterAlign: {
1575
+ kind: 'enum',
1576
+ values: ['alphabetic', 'auto', 'hanging', 'ideographic'],
1577
+ },
1578
+ inlineSize: {
1579
+ ...size,
1580
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1581
+ },
1582
+ inset: { ...margin, items: 4, functions: ['anchor', 'anchor-size'] },
1583
+ insetBlock: {
1584
+ ...margin,
1585
+ items: 2,
1586
+ functions: ['anchor', 'anchor-size'],
1587
+ },
1588
+ insetBlockEnd: { ...margin, functions: ['anchor', 'anchor-size'] },
1589
+ insetBlockStart: { ...margin, functions: ['anchor', 'anchor-size'] },
1590
+ insetInline: {
1591
+ ...margin,
1592
+ items: 2,
1593
+ functions: ['anchor', 'anchor-size'],
1594
+ },
1595
+ insetInlineEnd: { ...margin, functions: ['anchor', 'anchor-size'] },
1596
+ insetInlineStart: { ...margin, functions: ['anchor', 'anchor-size'] },
1597
+ interactivity: { kind: 'enum', values: ['auto', 'inert'] },
1598
+ interestDelay: {
1599
+ kind: 'tuple',
1600
+ atoms: ['time'],
1601
+ keywords: ['normal'],
1602
+ min: 1,
1603
+ max: 2,
1604
+ negative: false,
1605
+ },
1606
+ interestDelayEnd: { keywords: ['normal'], kind: 'time', negative: true },
1607
+ interestDelayStart: { keywords: ['normal'], kind: 'time', negative: true },
1608
+ interpolateSize: { kind: 'enum', values: ['allow-keywords', 'numeric-only'] },
1609
+ isolation: { kind: 'enum', values: ['auto', 'isolate'] },
1610
+ justifyContent: {
1611
+ kind: 'enum',
1612
+ values: [
1613
+ 'center',
1614
+ 'end',
1615
+ 'flex-end',
1616
+ 'flex-start',
1617
+ 'left',
1618
+ 'normal',
1619
+ 'right',
1620
+ 'safe center',
1621
+ 'safe end',
1622
+ 'safe flex-end',
1623
+ 'safe flex-start',
1624
+ 'safe left',
1625
+ 'safe right',
1626
+ 'safe start',
1627
+ 'space-around',
1628
+ 'space-between',
1629
+ 'space-evenly',
1630
+ 'start',
1631
+ 'stretch',
1632
+ 'unsafe center',
1633
+ 'unsafe end',
1634
+ 'unsafe flex-end',
1635
+ 'unsafe flex-start',
1636
+ 'unsafe left',
1637
+ 'unsafe right',
1638
+ 'unsafe start',
1639
+ ],
1640
+ },
1641
+ justifyItems: {
1642
+ kind: 'enum',
1643
+ values: [
1644
+ 'anchor-center',
1645
+ 'baseline',
1646
+ 'center',
1647
+ 'center legacy',
1648
+ 'end',
1649
+ 'first baseline',
1650
+ 'flex-end',
1651
+ 'flex-start',
1652
+ 'last baseline',
1653
+ 'left',
1654
+ 'left legacy',
1655
+ 'legacy',
1656
+ 'legacy center',
1657
+ 'legacy left',
1658
+ 'legacy right',
1659
+ 'normal',
1660
+ 'right',
1661
+ 'right legacy',
1662
+ 'safe center',
1663
+ 'safe end',
1664
+ 'safe flex-end',
1665
+ 'safe flex-start',
1666
+ 'safe left',
1667
+ 'safe right',
1668
+ 'safe self-end',
1669
+ 'safe self-start',
1670
+ 'safe start',
1671
+ 'self-end',
1672
+ 'self-start',
1673
+ 'start',
1674
+ 'stretch',
1675
+ 'unsafe center',
1676
+ 'unsafe end',
1677
+ 'unsafe flex-end',
1678
+ 'unsafe flex-start',
1679
+ 'unsafe left',
1680
+ 'unsafe right',
1681
+ 'unsafe self-end',
1682
+ 'unsafe self-start',
1683
+ 'unsafe start',
1684
+ ],
1685
+ },
1686
+ justifySelf: {
1687
+ kind: 'enum',
1688
+ values: [
1689
+ 'anchor-center',
1690
+ 'auto',
1691
+ 'baseline',
1692
+ 'center',
1693
+ 'end',
1694
+ 'first baseline',
1695
+ 'flex-end',
1696
+ 'flex-start',
1697
+ 'last baseline',
1698
+ 'left',
1699
+ 'normal',
1700
+ 'right',
1701
+ 'safe center',
1702
+ 'safe end',
1703
+ 'safe flex-end',
1704
+ 'safe flex-start',
1705
+ 'safe left',
1706
+ 'safe right',
1707
+ 'safe self-end',
1708
+ 'safe self-start',
1709
+ 'safe start',
1710
+ 'self-end',
1711
+ 'self-start',
1712
+ 'start',
1713
+ 'stretch',
1714
+ 'unsafe center',
1715
+ 'unsafe end',
1716
+ 'unsafe flex-end',
1717
+ 'unsafe flex-start',
1718
+ 'unsafe left',
1719
+ 'unsafe right',
1720
+ 'unsafe self-end',
1721
+ 'unsafe self-start',
1722
+ 'unsafe start',
1723
+ ],
1724
+ },
1725
+ justifyTracks: { kind: 'compound', property: 'justifyTracks' },
1726
+ left: { ...margin, functions: ['anchor', 'anchor-size'] },
1727
+ letterSpacing: textSpacing,
1728
+ lightingColor: color,
1729
+ lineBreak: {
1730
+ kind: 'enum',
1731
+ values: ['anywhere', 'auto', 'loose', 'normal', 'strict'],
1732
+ },
1733
+ lineClamp: {
1734
+ integer: true,
1735
+ keywords: ['none'],
1736
+ kind: 'number',
1737
+ max: Number.MAX_SAFE_INTEGER,
1738
+ min: 1,
1739
+ },
1740
+ lineHeight: {
1741
+ kind: 'number',
1742
+ length: true,
1743
+ percentage: true,
1744
+ max: Infinity,
1745
+ min: 0,
1746
+ keywords: ['normal'],
1747
+ },
1748
+ lineHeightStep: { ...length, percentage: false },
1749
+ linkParameters: { kind: 'compound', property: 'linkParameters' },
1750
+ listStyle: { kind: 'compound', property: 'listStyle' },
1751
+ listStyleImage: { kind: 'image' },
1752
+ listStylePosition: { kind: 'enum', values: ['inside', 'outside'] },
1753
+ listStyleType: {
1754
+ kind: 'identifier',
1755
+ keywords: [
1756
+ 'armenian',
1757
+ 'circle',
1758
+ 'cjk-ideographic',
1759
+ 'decimal',
1760
+ 'decimal-leading-zero',
1761
+ 'disc',
1762
+ 'disclosure-closed',
1763
+ 'disclosure-open',
1764
+ 'georgian',
1765
+ 'hebrew',
1766
+ 'hiragana',
1767
+ 'hiragana-iroha',
1768
+ 'katakana',
1769
+ 'katakana-iroha',
1770
+ 'lower-alpha',
1771
+ 'lower-greek',
1772
+ 'lower-latin',
1773
+ 'lower-roman',
1774
+ 'none',
1775
+ 'square',
1776
+ 'upper-alpha',
1777
+ 'upper-latin',
1778
+ 'upper-roman',
1779
+ ],
1780
+ },
1781
+ margin: { ...margin, items: 4 },
1782
+ marginBlock: { ...margin, items: 2 },
1783
+ marginBlockEnd: margin,
1784
+ marginBlockStart: margin,
1785
+ marginBottom: margin,
1786
+ marginInline: { ...margin, items: 2 },
1787
+ marginInlineEnd: margin,
1788
+ marginInlineStart: margin,
1789
+ marginLeft: margin,
1790
+ marginRight: margin,
1791
+ marginTop: margin,
1792
+ marginTrim: { kind: 'enum', values: ['all', 'in-flow', 'none'] },
1793
+ marker: { kind: 'url' },
1794
+ markerEnd: { kind: 'url' },
1795
+ markerMid: { kind: 'url' },
1796
+ markerStart: { kind: 'url' },
1797
+ mask: { kind: 'compound', property: 'mask' },
1798
+ maskBorder: { kind: 'compound', property: 'maskBorder' },
1799
+ maskBorderMode: { kind: 'enum', values: ['alpha', 'luminance'] },
1800
+ maskBorderOutset: {
1801
+ kind: 'tuple',
1802
+ atoms: ['length', 'number'],
1803
+ min: 1,
1804
+ max: 4,
1805
+ negative: false,
1806
+ },
1807
+ maskBorderRepeat: {
1808
+ items: 2,
1809
+ kind: 'enum',
1810
+ values: ['repeat', 'round', 'space', 'stretch'],
1811
+ },
1812
+ maskBorderSlice: {
1813
+ kind: 'tuple',
1814
+ atoms: ['number', 'percentage'],
1815
+ marker: 'fill',
1816
+ markerPosition: 'last',
1817
+ min: 1,
1818
+ max: 4,
1819
+ negative: false,
1820
+ },
1821
+ maskBorderSource: { kind: 'image' },
1822
+ maskBorderWidth: {
1823
+ kind: 'tuple',
1824
+ atoms: ['length', 'number', 'percentage'],
1825
+ keywords: ['auto'],
1826
+ min: 1,
1827
+ max: 4,
1828
+ negative: false,
1829
+ },
1830
+ maskClip: {
1831
+ kind: 'enum',
1832
+ list: true,
1833
+ values: [
1834
+ 'border-box',
1835
+ 'content-box',
1836
+ 'fill-box',
1837
+ 'no-clip',
1838
+ 'padding-box',
1839
+ 'stroke-box',
1840
+ 'view-box',
1841
+ ],
1842
+ },
1843
+ maskComposite: {
1844
+ kind: 'enum',
1845
+ list: true,
1846
+ values: ['add', 'exclude', 'intersect', 'subtract'],
1847
+ },
1848
+ maskImage: { kind: 'image', list: true },
1849
+ maskMode: {
1850
+ kind: 'enum',
1851
+ list: true,
1852
+ values: ['alpha', 'luminance', 'match-source'],
1853
+ },
1854
+ maskOrigin: {
1855
+ kind: 'enum',
1856
+ list: true,
1857
+ values: [
1858
+ 'border-box',
1859
+ 'content-box',
1860
+ 'fill-box',
1861
+ 'padding-box',
1862
+ 'stroke-box',
1863
+ 'view-box',
1864
+ ],
1865
+ },
1866
+ maskPosition: { kind: 'compound', property: 'maskPosition' },
1867
+ maskRepeat: {
1868
+ kind: 'enum',
1869
+ items: 2,
1870
+ list: true,
1871
+ values: ['no-repeat', 'repeat', 'repeat-x', 'repeat-y', 'round', 'space'],
1872
+ },
1873
+ maskSize: {
1874
+ ...length,
1875
+ auto: true,
1876
+ items: 2,
1877
+ list: true,
1878
+ keywords: ['contain', 'cover'],
1879
+ },
1880
+ maskType: { kind: 'enum', values: ['alpha', 'luminance'] },
1881
+ masonryAutoFlow: {
1882
+ groups: [
1883
+ ['next', 'pack'],
1884
+ ['definite-first', 'ordered'],
1885
+ ],
1886
+ kind: 'enum',
1887
+ values: ['definite-first', 'next', 'ordered', 'pack'],
1888
+ },
1889
+ mathDepth: { kind: 'compound', property: 'mathDepth' },
1890
+ mathShift: { kind: 'enum', values: ['compact', 'normal'] },
1891
+ mathStyle: { kind: 'enum', values: ['compact', 'normal'] },
1892
+ maxBlockSize: {
1893
+ ...maximum,
1894
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1895
+ },
1896
+ maxHeight: {
1897
+ ...maximum,
1898
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1899
+ },
1900
+ maxInlineSize: {
1901
+ ...maximum,
1902
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1903
+ },
1904
+ maxLines: {
1905
+ integer: true,
1906
+ keywords: ['none'],
1907
+ kind: 'number',
1908
+ max: Number.MAX_SAFE_INTEGER,
1909
+ min: 1,
1910
+ },
1911
+ maxWidth: {
1912
+ ...maximum,
1913
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1914
+ },
1915
+ minBlockSize: {
1916
+ ...size,
1917
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1918
+ },
1919
+ minHeight: {
1920
+ ...size,
1921
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1922
+ },
1923
+ minInlineSize: {
1924
+ ...size,
1925
+ functions: ['anchor-size', 'calc-size', 'fit-content'],
1926
+ },
1927
+ minWidth: { ...size, functions: ['anchor-size', 'calc-size', 'fit-content'] },
1928
+ mixBlendMode: {
1929
+ kind: 'enum',
1930
+ values: [
1931
+ 'color',
1932
+ 'color-burn',
1933
+ 'color-dodge',
1934
+ 'darken',
1935
+ 'difference',
1936
+ 'exclusion',
1937
+ 'hard-light',
1938
+ 'hue',
1939
+ 'lighten',
1940
+ 'luminosity',
1941
+ 'multiply',
1942
+ 'normal',
1943
+ 'overlay',
1944
+ 'plus-darker',
1945
+ 'plus-lighter',
1946
+ 'saturation',
1947
+ 'screen',
1948
+ 'soft-light',
1949
+ ],
1950
+ },
1951
+ MozAppearance: {
1952
+ kind: 'enum',
1953
+ values: [
1954
+ '-moz-mac-unified-toolbar',
1955
+ '-moz-win-borderless-glass',
1956
+ '-moz-win-browsertabbar-toolbox',
1957
+ '-moz-win-communications-toolbox',
1958
+ '-moz-win-communicationstext',
1959
+ '-moz-win-exclude-glass',
1960
+ '-moz-win-glass',
1961
+ '-moz-win-media-toolbox',
1962
+ '-moz-win-mediatext',
1963
+ '-moz-window-button-box',
1964
+ '-moz-window-button-box-maximized',
1965
+ '-moz-window-button-close',
1966
+ '-moz-window-button-maximize',
1967
+ '-moz-window-button-minimize',
1968
+ '-moz-window-button-restore',
1969
+ '-moz-window-frame-bottom',
1970
+ '-moz-window-frame-left',
1971
+ '-moz-window-frame-right',
1972
+ '-moz-window-titlebar',
1973
+ '-moz-window-titlebar-maximized',
1974
+ 'button',
1975
+ 'button-arrow-down',
1976
+ 'button-arrow-next',
1977
+ 'button-arrow-previous',
1978
+ 'button-arrow-up',
1979
+ 'button-bevel',
1980
+ 'button-focus',
1981
+ 'caret',
1982
+ 'checkbox',
1983
+ 'checkbox-container',
1984
+ 'checkbox-label',
1985
+ 'checkmenuitem',
1986
+ 'dualbutton',
1987
+ 'groupbox',
1988
+ 'listbox',
1989
+ 'listitem',
1990
+ 'menuarrow',
1991
+ 'menubar',
1992
+ 'menucheckbox',
1993
+ 'menuimage',
1994
+ 'menuitem',
1995
+ 'menuitemtext',
1996
+ 'menulist',
1997
+ 'menulist-button',
1998
+ 'menulist-text',
1999
+ 'menulist-textfield',
2000
+ 'menupopup',
2001
+ 'menuradio',
2002
+ 'menuseparator',
2003
+ 'meterbar',
2004
+ 'meterchunk',
2005
+ 'none',
2006
+ 'progressbar',
2007
+ 'progressbar-vertical',
2008
+ 'progresschunk',
2009
+ 'progresschunk-vertical',
2010
+ 'radio',
2011
+ 'radio-container',
2012
+ 'radio-label',
2013
+ 'radiomenuitem',
2014
+ 'range',
2015
+ 'range-thumb',
2016
+ 'resizer',
2017
+ 'resizerpanel',
2018
+ 'scale-horizontal',
2019
+ 'scale-vertical',
2020
+ 'scalethumb-horizontal',
2021
+ 'scalethumb-vertical',
2022
+ 'scalethumbend',
2023
+ 'scalethumbstart',
2024
+ 'scalethumbtick',
2025
+ 'scrollbarbutton-down',
2026
+ 'scrollbarbutton-left',
2027
+ 'scrollbarbutton-right',
2028
+ 'scrollbarbutton-up',
2029
+ 'scrollbarthumb-horizontal',
2030
+ 'scrollbarthumb-vertical',
2031
+ 'scrollbartrack-horizontal',
2032
+ 'scrollbartrack-vertical',
2033
+ 'searchfield',
2034
+ 'separator',
2035
+ 'sheet',
2036
+ 'spinner',
2037
+ 'spinner-downbutton',
2038
+ 'spinner-textfield',
2039
+ 'spinner-upbutton',
2040
+ 'splitter',
2041
+ 'statusbar',
2042
+ 'statusbarpanel',
2043
+ 'tab',
2044
+ 'tab-scroll-arrow-back',
2045
+ 'tab-scroll-arrow-forward',
2046
+ 'tabpanel',
2047
+ 'tabpanels',
2048
+ 'textfield',
2049
+ 'textfield-multiline',
2050
+ 'toolbar',
2051
+ 'toolbarbutton',
2052
+ 'toolbarbutton-dropdown',
2053
+ 'toolbargripper',
2054
+ 'toolbox',
2055
+ 'tooltip',
2056
+ 'treeheader',
2057
+ 'treeheadercell',
2058
+ 'treeheadersortarrow',
2059
+ 'treeitem',
2060
+ 'treeline',
2061
+ 'treetwisty',
2062
+ 'treetwistyopen',
2063
+ 'treeview',
2064
+ ],
2065
+ },
2066
+ MozBinding: { kind: 'url' },
2067
+ MozBorderBottomColors: {
2068
+ kind: 'tuple',
2069
+ atoms: ['color'],
2070
+ standalone: ['none'],
2071
+ min: 1,
2072
+ max: Infinity,
2073
+ negative: false,
2074
+ },
2075
+ MozBorderLeftColors: {
2076
+ kind: 'tuple',
2077
+ atoms: ['color'],
2078
+ standalone: ['none'],
2079
+ min: 1,
2080
+ max: Infinity,
2081
+ negative: false,
2082
+ },
2083
+ MozBorderRightColors: {
2084
+ kind: 'tuple',
2085
+ atoms: ['color'],
2086
+ standalone: ['none'],
2087
+ min: 1,
2088
+ max: Infinity,
2089
+ negative: false,
2090
+ },
2091
+ MozBorderTopColors: {
2092
+ kind: 'tuple',
2093
+ atoms: ['color'],
2094
+ standalone: ['none'],
2095
+ min: 1,
2096
+ max: Infinity,
2097
+ negative: false,
2098
+ },
2099
+ MozContextProperties: { kind: 'compound', property: 'MozContextProperties' },
2100
+ MozFloatEdge: {
2101
+ kind: 'enum',
2102
+ values: ['border-box', 'content-box', 'margin-box', 'padding-box'],
2103
+ },
2104
+ MozForceBrokenImageIcon: {
2105
+ kind: 'compound',
2106
+ property: 'MozForceBrokenImageIcon',
2107
+ },
2108
+ MozOrient: {
2109
+ kind: 'enum',
2110
+ values: ['block', 'horizontal', 'inline', 'vertical'],
2111
+ },
2112
+ MozOutlineRadius: { ...length, axes: true, items: 4 },
2113
+ MozOutlineRadiusBottomleft: length,
2114
+ MozOutlineRadiusBottomright: length,
2115
+ MozOutlineRadiusTopleft: length,
2116
+ MozOutlineRadiusTopright: length,
2117
+ MozStackSizing: { kind: 'enum', values: ['ignore', 'stretch-to-fit'] },
2118
+ MozTextBlink: { kind: 'enum', values: ['blink', 'none'] },
2119
+ MozUserFocus: {
2120
+ kind: 'enum',
2121
+ values: [
2122
+ 'ignore',
2123
+ 'none',
2124
+ 'normal',
2125
+ 'select-after',
2126
+ 'select-all',
2127
+ 'select-before',
2128
+ 'select-menu',
2129
+ 'select-same',
2130
+ ],
2131
+ },
2132
+ MozUserInput: {
2133
+ kind: 'enum',
2134
+ values: ['auto', 'disabled', 'enabled', 'none'],
2135
+ },
2136
+ MozUserModify: {
2137
+ kind: 'enum',
2138
+ values: ['read-only', 'read-write', 'write-only'],
2139
+ },
2140
+ MozWindowDragging: { kind: 'enum', values: ['drag', 'no-drag'] },
2141
+ MozWindowShadow: {
2142
+ kind: 'enum',
2143
+ values: ['default', 'menu', 'none', 'sheet', 'tooltip'],
2144
+ },
2145
+ MsAccelerator: { kind: 'enum', values: ['false', 'true'] },
2146
+ MsBlockProgression: { kind: 'enum', values: ['bt', 'lr', 'rl', 'tb'] },
2147
+ MsContentZoomChaining: { kind: 'enum', values: ['chained', 'none'] },
2148
+ MsContentZooming: { kind: 'enum', values: ['none', 'zoom'] },
2149
+ MsContentZoomLimit: { kind: 'compound', property: 'MsContentZoomLimit' },
2150
+ MsContentZoomLimitMax: { kind: 'percentage', min: 0, max: Infinity },
2151
+ MsContentZoomLimitMin: { kind: 'percentage', min: 0, max: Infinity },
2152
+ MsContentZoomSnap: { kind: 'compound', property: 'MsContentZoomSnap' },
2153
+ MsContentZoomSnapPoints: {
2154
+ kind: 'compound',
2155
+ property: 'MsContentZoomSnapPoints',
2156
+ },
2157
+ MsContentZoomSnapType: {
2158
+ kind: 'enum',
2159
+ values: ['mandatory', 'none', 'proximity'],
2160
+ },
2161
+ MsFilter: { kind: 'compound', property: 'MsFilter' },
2162
+ MsFlowFrom: { kind: 'compound', property: 'MsFlowFrom' },
2163
+ MsFlowInto: { kind: 'compound', property: 'MsFlowInto' },
2164
+ MsGridColumns: { kind: 'compound', property: 'MsGridColumns' },
2165
+ MsGridRows: { kind: 'compound', property: 'MsGridRows' },
2166
+ MsHighContrastAdjust: { kind: 'enum', values: ['auto', 'none'] },
2167
+ MsHyphenateLimitChars: {
2168
+ kind: 'tuple',
2169
+ atoms: ['integer'],
2170
+ standalone: ['auto'],
2171
+ min: 1,
2172
+ max: 3,
2173
+ negative: false,
2174
+ },
2175
+ MsHyphenateLimitLines: {
2176
+ kind: 'compound',
2177
+ property: 'MsHyphenateLimitLines',
2178
+ },
2179
+ MsHyphenateLimitZone: length,
2180
+ MsImeAlign: { kind: 'enum', values: ['after', 'auto'] },
2181
+ MsOverflowStyle: {
2182
+ kind: 'enum',
2183
+ values: ['-ms-autohiding-scrollbar', 'auto', 'none', 'scrollbar'],
2184
+ },
2185
+ MsScrollbar3dlightColor: color,
2186
+ MsScrollbarArrowColor: color,
2187
+ MsScrollbarBaseColor: color,
2188
+ MsScrollbarDarkshadowColor: color,
2189
+ MsScrollbarFaceColor: color,
2190
+ MsScrollbarHighlightColor: color,
2191
+ MsScrollbarShadowColor: color,
2192
+ MsScrollbarTrackColor: color,
2193
+ MsScrollChaining: { kind: 'enum', values: ['chained', 'none'] },
2194
+ MsScrollLimit: { kind: 'compound', property: 'MsScrollLimit' },
2195
+ MsScrollLimitXMax: { ...stroke, auto: true },
2196
+ MsScrollLimitXMin: stroke,
2197
+ MsScrollLimitYMax: { ...stroke, auto: true },
2198
+ MsScrollLimitYMin: stroke,
2199
+ MsScrollRails: { kind: 'enum', values: ['none', 'railed'] },
2200
+ MsScrollSnapPointsX: { kind: 'compound', property: 'MsScrollSnapPointsX' },
2201
+ MsScrollSnapPointsY: { kind: 'compound', property: 'MsScrollSnapPointsY' },
2202
+ MsScrollSnapType: {
2203
+ kind: 'enum',
2204
+ values: ['mandatory', 'none', 'proximity'],
2205
+ },
2206
+ MsScrollSnapX: { kind: 'compound', property: 'MsScrollSnapX' },
2207
+ MsScrollSnapY: { kind: 'compound', property: 'MsScrollSnapY' },
2208
+ MsScrollTranslation: {
2209
+ kind: 'enum',
2210
+ values: ['none', 'vertical-to-horizontal'],
2211
+ },
2212
+ MsTextAutospace: {
2213
+ kind: 'enum',
2214
+ values: [
2215
+ 'ideograph-alpha',
2216
+ 'ideograph-numeric',
2217
+ 'ideograph-parenthesis',
2218
+ 'ideograph-space',
2219
+ 'none',
2220
+ ],
2221
+ },
2222
+ MsTouchSelect: { kind: 'enum', values: ['grippers', 'none'] },
2223
+ MsUserSelect: { kind: 'enum', values: ['element', 'none', 'text'] },
2224
+ MsWrapFlow: {
2225
+ kind: 'enum',
2226
+ values: ['auto', 'both', 'clear', 'end', 'maximum', 'start'],
2227
+ },
2228
+ MsWrapMargin: stroke,
2229
+ MsWrapThrough: { kind: 'enum', values: ['none', 'wrap'] },
2230
+ objectFit: {
2231
+ kind: 'enum',
2232
+ values: ['contain', 'cover', 'fill', 'none', 'scale-down'],
2233
+ },
2234
+ objectPosition: { kind: 'compound', property: 'objectPosition' },
2235
+ objectViewBox: { kind: 'compound', property: 'objectViewBox' },
2236
+ offset: { kind: 'compound', property: 'offset' },
2237
+ offsetAnchor: { kind: 'compound', property: 'offsetAnchor' },
2238
+ offsetDistance: { ...length, negative: true },
2239
+ offsetPath: { kind: 'compound', property: 'offsetPath' },
2240
+ offsetPosition: { kind: 'compound', property: 'offsetPosition' },
2241
+ offsetRotate: { kind: 'compound', property: 'offsetRotate' },
2242
+ opacity: alpha,
2243
+ // Safe integers serialize without exponential notation in CSS integer positions.
2244
+ order: {
2245
+ integer: true,
2246
+ kind: 'number',
2247
+ max: Number.MAX_SAFE_INTEGER,
2248
+ min: Number.MIN_SAFE_INTEGER,
2249
+ },
2250
+ orphans: positiveInteger,
2251
+ outline: { kind: 'line', outline: true },
2252
+ outlineColor: { ...color, keywords: ['auto'] },
2253
+ outlineOffset: { ...stroke, negative: true },
2254
+ outlineStyle: {
2255
+ kind: 'enum',
2256
+ values: [
2257
+ 'auto',
2258
+ 'dashed',
2259
+ 'dotted',
2260
+ 'double',
2261
+ 'groove',
2262
+ 'inset',
2263
+ 'none',
2264
+ 'outset',
2265
+ 'ridge',
2266
+ 'solid',
2267
+ ],
2268
+ },
2269
+ outlineWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
2270
+ overflow: { ...overflow, items: 2 },
2271
+ overflowAnchor: { kind: 'enum', values: ['auto', 'none'] },
2272
+ overflowBlock: {
2273
+ kind: 'enum',
2274
+ values: ['auto', 'clip', 'hidden', 'scroll', 'visible'],
2275
+ },
2276
+ overflowClipBox: { kind: 'enum', values: ['content-box', 'padding-box'] },
2277
+ overflowClipMargin: { kind: 'compound', property: 'overflowClipMargin' },
2278
+ overflowInline: {
2279
+ kind: 'enum',
2280
+ values: ['auto', 'clip', 'hidden', 'scroll', 'visible'],
2281
+ },
2282
+ overflowWrap: { kind: 'enum', values: ['anywhere', 'break-word', 'normal'] },
2283
+ overflowX: overflow,
2284
+ overflowY: overflow,
2285
+ overlay: { kind: 'enum', values: ['auto', 'none'] },
2286
+ overscrollBehavior: { ...overscroll, items: 2 },
2287
+ overscrollBehaviorBlock: {
2288
+ kind: 'enum',
2289
+ values: ['auto', 'contain', 'none'],
2290
+ },
2291
+ overscrollBehaviorInline: {
2292
+ kind: 'enum',
2293
+ values: ['auto', 'contain', 'none'],
2294
+ },
2295
+ overscrollBehaviorX: overscroll,
2296
+ overscrollBehaviorY: overscroll,
2297
+ padding: { ...length, items: 4 },
2298
+ paddingBlock: { ...length, items: 2 },
2299
+ paddingBlockEnd: length,
2300
+ paddingBlockStart: length,
2301
+ paddingBottom: length,
2302
+ paddingInline: { ...length, items: 2 },
2303
+ paddingInlineEnd: length,
2304
+ paddingInlineStart: length,
2305
+ paddingLeft: length,
2306
+ paddingRight: length,
2307
+ paddingTop: length,
2308
+ page: { keywords: ['auto'], kind: 'identifier' },
2309
+ pageBreakAfter: {
2310
+ kind: 'enum',
2311
+ values: ['always', 'auto', 'avoid', 'left', 'recto', 'right', 'verso'],
2312
+ },
2313
+ pageBreakBefore: {
2314
+ kind: 'enum',
2315
+ values: ['always', 'auto', 'avoid', 'left', 'recto', 'right', 'verso'],
2316
+ },
2317
+ pageBreakInside: { kind: 'enum', values: ['auto', 'avoid'] },
2318
+ paintOrder: {
2319
+ kind: 'enum',
2320
+ groups: [['fill'], ['stroke'], ['markers']],
2321
+ values: ['fill', 'markers', 'normal', 'stroke'],
2322
+ },
2323
+ pathLength: { kind: 'compound', property: 'pathLength' },
2324
+ perspective: { ...length, keywords: ['none'], percentage: false },
2325
+ perspectiveOrigin: { kind: 'compound', property: 'perspectiveOrigin' },
2326
+ placeContent: { kind: 'compound', property: 'placeContent' },
2327
+ placeItems: { kind: 'compound', property: 'placeItems' },
2328
+ placeSelf: { kind: 'compound', property: 'placeSelf' },
2329
+ pointerEvents: {
2330
+ kind: 'enum',
2331
+ values: [
2332
+ 'all',
2333
+ 'auto',
2334
+ 'fill',
2335
+ 'none',
2336
+ 'painted',
2337
+ 'stroke',
2338
+ 'visible',
2339
+ 'visibleFill',
2340
+ 'visiblePainted',
2341
+ 'visibleStroke',
2342
+ ],
2343
+ },
2344
+ position: {
2345
+ kind: 'enum',
2346
+ values: ['absolute', 'fixed', 'relative', 'static', 'sticky'],
2347
+ },
2348
+ positionAnchor: {
2349
+ dashed: true,
2350
+ keywords: ['auto', 'match-parent', 'none', 'normal'],
2351
+ kind: 'identifier',
2352
+ },
2353
+ positionArea: { kind: 'compound', property: 'positionArea' },
2354
+ positionTry: { kind: 'compound', property: 'positionTry' },
2355
+ positionTryFallbacks: { kind: 'compound', property: 'positionTryFallbacks' },
2356
+ positionTryOrder: {
2357
+ kind: 'enum',
2358
+ values: [
2359
+ 'most-block-size',
2360
+ 'most-height',
2361
+ 'most-inline-size',
2362
+ 'most-width',
2363
+ 'normal',
2364
+ ],
2365
+ },
2366
+ positionVisibility: {
2367
+ groups: [['anchors-valid'], ['anchors-visible'], ['no-overflow']],
2368
+ kind: 'enum',
2369
+ values: ['always', 'anchors-valid', 'anchors-visible', 'no-overflow'],
2370
+ },
2371
+ printColorAdjust: { kind: 'enum', values: ['economy', 'exact'] },
2372
+ quotes: { kind: 'compound', property: 'quotes' },
2373
+ r: length,
2374
+ readingFlow: {
2375
+ kind: 'enum',
2376
+ values: [
2377
+ 'flex-flow',
2378
+ 'flex-visual',
2379
+ 'grid-columns',
2380
+ 'grid-order',
2381
+ 'grid-rows',
2382
+ 'normal',
2383
+ 'source-order',
2384
+ ],
2385
+ },
2386
+ readingOrder: {
2387
+ integer: true,
2388
+ kind: 'number',
2389
+ max: Number.MAX_SAFE_INTEGER,
2390
+ min: Number.MIN_SAFE_INTEGER,
2391
+ },
2392
+ resize: {
2393
+ kind: 'enum',
2394
+ values: ['block', 'both', 'horizontal', 'inline', 'none', 'vertical'],
2395
+ },
2396
+ right: { ...margin, functions: ['anchor', 'anchor-size'] },
2397
+ rotate: { kind: 'rotate' },
2398
+ rowGap: { ...length, keywords: ['normal'] },
2399
+ rubyAlign: {
2400
+ kind: 'enum',
2401
+ values: ['center', 'space-around', 'space-between', 'start'],
2402
+ },
2403
+ rubyMerge: { kind: 'enum', values: ['auto', 'collapse', 'separate'] },
2404
+ rubyOverhang: { kind: 'enum', values: ['auto', 'none'] },
2405
+ rubyPosition: {
2406
+ kind: 'enum',
2407
+ values: [
2408
+ 'alternate',
2409
+ 'alternate over',
2410
+ 'alternate under',
2411
+ 'inter-character',
2412
+ 'over',
2413
+ 'over alternate',
2414
+ 'under',
2415
+ 'under alternate',
2416
+ ],
2417
+ },
2418
+ rx: { ...length, auto: true },
2419
+ ry: { ...length, auto: true },
2420
+ scale: { kind: 'scale' },
2421
+ scrollbarColor: {
2422
+ kind: 'tuple',
2423
+ atoms: ['color'],
2424
+ standalone: ['auto'],
2425
+ min: 2,
2426
+ max: 2,
2427
+ negative: false,
2428
+ },
2429
+ scrollbarGutter: {
2430
+ kind: 'enum',
2431
+ values: ['auto', 'both-edges stable', 'stable', 'stable both-edges'],
2432
+ },
2433
+ scrollbarWidth: { kind: 'enum', values: ['auto', 'none', 'thin'] },
2434
+ scrollBehavior: { kind: 'enum', values: ['auto', 'smooth'] },
2435
+ scrollInitialTarget: { kind: 'enum', values: ['nearest', 'none'] },
2436
+ scrollMargin: { ...scrollMargin, items: 4 },
2437
+ scrollMarginBlock: { ...scrollMargin, items: 2 },
2438
+ scrollMarginBlockEnd: scrollMargin,
2439
+ scrollMarginBlockStart: scrollMargin,
2440
+ scrollMarginBottom: scrollMargin,
2441
+ scrollMarginInline: { ...scrollMargin, items: 2 },
2442
+ scrollMarginInlineEnd: scrollMargin,
2443
+ scrollMarginInlineStart: scrollMargin,
2444
+ scrollMarginLeft: scrollMargin,
2445
+ scrollMarginRight: scrollMargin,
2446
+ scrollMarginTop: scrollMargin,
2447
+ scrollMarkerGroup: { kind: 'enum', values: ['after', 'before', 'none'] },
2448
+ scrollPadding: { ...scrollPadding, items: 4 },
2449
+ scrollPaddingBlock: { ...scrollPadding, items: 2 },
2450
+ scrollPaddingBlockEnd: scrollPadding,
2451
+ scrollPaddingBlockStart: scrollPadding,
2452
+ scrollPaddingBottom: scrollPadding,
2453
+ scrollPaddingInline: { ...scrollPadding, items: 2 },
2454
+ scrollPaddingInlineEnd: scrollPadding,
2455
+ scrollPaddingInlineStart: scrollPadding,
2456
+ scrollPaddingLeft: scrollPadding,
2457
+ scrollPaddingRight: scrollPadding,
2458
+ scrollPaddingTop: scrollPadding,
2459
+ scrollSnapAlign: {
2460
+ kind: 'enum',
2461
+ values: [
2462
+ 'center',
2463
+ 'center center',
2464
+ 'center end',
2465
+ 'center none',
2466
+ 'center start',
2467
+ 'end',
2468
+ 'end center',
2469
+ 'end end',
2470
+ 'end none',
2471
+ 'end start',
2472
+ 'none',
2473
+ 'none center',
2474
+ 'none end',
2475
+ 'none none',
2476
+ 'none start',
2477
+ 'start',
2478
+ 'start center',
2479
+ 'start end',
2480
+ 'start none',
2481
+ 'start start',
2482
+ ],
2483
+ },
2484
+ scrollSnapCoordinate: { kind: 'compound', property: 'scrollSnapCoordinate' },
2485
+ scrollSnapDestination: {
2486
+ kind: 'compound',
2487
+ property: 'scrollSnapDestination',
2488
+ },
2489
+ scrollSnapPointsX: { kind: 'compound', property: 'scrollSnapPointsX' },
2490
+ scrollSnapPointsY: { kind: 'compound', property: 'scrollSnapPointsY' },
2491
+ scrollSnapStop: { kind: 'enum', values: ['always', 'normal'] },
2492
+ scrollSnapType: {
2493
+ kind: 'enum',
2494
+ values: [
2495
+ 'block',
2496
+ 'block mandatory',
2497
+ 'block proximity',
2498
+ 'both',
2499
+ 'both mandatory',
2500
+ 'both proximity',
2501
+ 'inline',
2502
+ 'inline mandatory',
2503
+ 'inline proximity',
2504
+ 'none',
2505
+ 'x',
2506
+ 'x mandatory',
2507
+ 'x proximity',
2508
+ 'y',
2509
+ 'y mandatory',
2510
+ 'y proximity',
2511
+ ],
2512
+ },
2513
+ scrollSnapTypeX: { kind: 'enum', values: ['mandatory', 'none', 'proximity'] },
2514
+ scrollSnapTypeY: { kind: 'enum', values: ['mandatory', 'none', 'proximity'] },
2515
+ scrollTargetGroup: { kind: 'enum', values: ['auto', 'none'] },
2516
+ scrollTimeline: { kind: 'compound', property: 'scrollTimeline' },
2517
+ scrollTimelineAxis: {
2518
+ kind: 'enum',
2519
+ list: true,
2520
+ values: ['block', 'inline', 'x', 'y'],
2521
+ },
2522
+ scrollTimelineName: {
2523
+ dashed: true,
2524
+ keywords: ['none'],
2525
+ kind: 'identifier',
2526
+ separator: 'comma',
2527
+ },
2528
+ shapeImageThreshold: alpha,
2529
+ shapeMargin: length,
2530
+ shapeOutside: { kind: 'compound', property: 'shapeOutside' },
2531
+ shapeRendering: {
2532
+ kind: 'enum',
2533
+ values: ['auto', 'crispEdges', 'geometricPrecision', 'optimizeSpeed'],
2534
+ },
2535
+ speakAs: {
2536
+ groups: [
2537
+ ['spell-out'],
2538
+ ['digits'],
2539
+ ['literal-punctuation', 'no-punctuation'],
2540
+ ],
2541
+ kind: 'enum',
2542
+ values: [
2543
+ 'digits',
2544
+ 'literal-punctuation',
2545
+ 'no-punctuation',
2546
+ 'normal',
2547
+ 'spell-out',
2548
+ ],
2549
+ },
2550
+ stopColor: color,
2551
+ stopOpacity: alpha,
2552
+ stroke: {
2553
+ ...color,
2554
+ keywords: ['context-fill', 'context-stroke', 'none'],
2555
+ paint: true,
2556
+ },
2557
+ strokeColor: color,
2558
+ strokeDasharray: { kind: 'compound', property: 'strokeDasharray' },
2559
+ strokeDashoffset: { ...length, negative: true, numeric: true },
2560
+ strokeLinecap: { kind: 'enum', values: ['butt', 'round', 'square'] },
2561
+ strokeLinejoin: {
2562
+ kind: 'enum',
2563
+ values: ['arcs', 'bevel', 'miter', 'miter-clip', 'round'],
2564
+ },
2565
+ strokeMiterlimit: { kind: 'number', max: Infinity, min: 1 },
2566
+ strokeOpacity: alpha,
2567
+ strokeWidth: { ...length, numeric: true },
2568
+ tableLayout: { kind: 'enum', values: ['auto', 'fixed'] },
2569
+ tabSize: {
2570
+ integer: true,
2571
+ length: true,
2572
+ kind: 'number',
2573
+ max: Number.MAX_SAFE_INTEGER,
2574
+ min: 0,
2575
+ },
2576
+ textAlign: {
2577
+ kind: 'enum',
2578
+ values: [
2579
+ 'center',
2580
+ 'end',
2581
+ 'justify',
2582
+ 'left',
2583
+ 'match-parent',
2584
+ 'right',
2585
+ 'start',
2586
+ ],
2587
+ },
2588
+ textAlignLast: {
2589
+ kind: 'enum',
2590
+ values: ['auto', 'center', 'end', 'justify', 'left', 'right', 'start'],
2591
+ },
2592
+ textAnchor: { kind: 'enum', values: ['end', 'middle', 'start'] },
2593
+ textAutospace: { kind: 'compound', property: 'textAutospace' },
2594
+ textBox: { kind: 'compound', property: 'textBox' },
2595
+ textBoxEdge: {
2596
+ kind: 'enum',
2597
+ values: [
2598
+ 'auto',
2599
+ 'cap',
2600
+ 'cap alphabetic',
2601
+ 'cap ideographic',
2602
+ 'cap ideographic-ink',
2603
+ 'cap text',
2604
+ 'ex',
2605
+ 'ex alphabetic',
2606
+ 'ex ideographic',
2607
+ 'ex ideographic-ink',
2608
+ 'ex text',
2609
+ 'ideographic',
2610
+ 'ideographic alphabetic',
2611
+ 'ideographic ideographic',
2612
+ 'ideographic ideographic-ink',
2613
+ 'ideographic text',
2614
+ 'ideographic-ink',
2615
+ 'ideographic-ink alphabetic',
2616
+ 'ideographic-ink ideographic',
2617
+ 'ideographic-ink ideographic-ink',
2618
+ 'ideographic-ink text',
2619
+ 'text',
2620
+ 'text alphabetic',
2621
+ 'text ideographic',
2622
+ 'text ideographic-ink',
2623
+ 'text text',
2624
+ ],
2625
+ },
2626
+ textBoxTrim: {
2627
+ kind: 'enum',
2628
+ values: ['none', 'trim-both', 'trim-end', 'trim-start'],
2629
+ },
2630
+ textCombineUpright: {
2631
+ kind: 'compound',
2632
+ property: 'textCombineUpright',
2633
+ negative: false,
2634
+ },
2635
+ textDecoration: { kind: 'compound', property: 'textDecoration' },
2636
+ textDecorationColor: color,
2637
+ textDecorationInset: {
2638
+ ...length,
2639
+ auto: true,
2640
+ items: 2,
2641
+ negative: true,
2642
+ standalone: ['auto'],
2643
+ },
2644
+ textDecorationLine: {
2645
+ kind: 'enum',
2646
+ values: [
2647
+ 'blink',
2648
+ 'blink line-through',
2649
+ 'blink line-through overline',
2650
+ 'blink line-through overline underline',
2651
+ 'blink line-through underline',
2652
+ 'blink line-through underline overline',
2653
+ 'blink overline',
2654
+ 'blink overline line-through',
2655
+ 'blink overline line-through underline',
2656
+ 'blink overline underline',
2657
+ 'blink overline underline line-through',
2658
+ 'blink underline',
2659
+ 'blink underline line-through',
2660
+ 'blink underline line-through overline',
2661
+ 'blink underline overline',
2662
+ 'blink underline overline line-through',
2663
+ 'grammar-error',
2664
+ 'line-through',
2665
+ 'line-through blink',
2666
+ 'line-through blink overline',
2667
+ 'line-through blink overline underline',
2668
+ 'line-through blink underline',
2669
+ 'line-through blink underline overline',
2670
+ 'line-through overline',
2671
+ 'line-through overline blink',
2672
+ 'line-through overline blink underline',
2673
+ 'line-through overline underline',
2674
+ 'line-through overline underline blink',
2675
+ 'line-through underline',
2676
+ 'line-through underline blink',
2677
+ 'line-through underline blink overline',
2678
+ 'line-through underline overline',
2679
+ 'line-through underline overline blink',
2680
+ 'none',
2681
+ 'overline',
2682
+ 'overline blink',
2683
+ 'overline blink line-through',
2684
+ 'overline blink line-through underline',
2685
+ 'overline blink underline',
2686
+ 'overline blink underline line-through',
2687
+ 'overline line-through',
2688
+ 'overline line-through blink',
2689
+ 'overline line-through blink underline',
2690
+ 'overline line-through underline',
2691
+ 'overline line-through underline blink',
2692
+ 'overline underline',
2693
+ 'overline underline blink',
2694
+ 'overline underline blink line-through',
2695
+ 'overline underline line-through',
2696
+ 'overline underline line-through blink',
2697
+ 'spelling-error',
2698
+ 'underline',
2699
+ 'underline blink',
2700
+ 'underline blink line-through',
2701
+ 'underline blink line-through overline',
2702
+ 'underline blink overline',
2703
+ 'underline blink overline line-through',
2704
+ 'underline line-through',
2705
+ 'underline line-through blink',
2706
+ 'underline line-through blink overline',
2707
+ 'underline line-through overline',
2708
+ 'underline line-through overline blink',
2709
+ 'underline overline',
2710
+ 'underline overline blink',
2711
+ 'underline overline blink line-through',
2712
+ 'underline overline line-through',
2713
+ 'underline overline line-through blink',
2714
+ ],
2715
+ },
2716
+ textDecorationSkip: { kind: 'compound', property: 'textDecorationSkip' },
2717
+ textDecorationSkipInk: { kind: 'enum', values: ['all', 'auto', 'none'] },
2718
+ textDecorationStyle: {
2719
+ kind: 'enum',
2720
+ values: ['dashed', 'dotted', 'double', 'solid', 'wavy'],
2721
+ },
2722
+ textDecorationThickness: { ...length, auto: true, keywords: ['from-font'] },
2723
+ textEmphasis: { kind: 'compound', property: 'textEmphasis' },
2724
+ textEmphasisColor: color,
2725
+ textEmphasisPosition: {
2726
+ kind: 'enum',
2727
+ values: [
2728
+ 'auto',
2729
+ 'left over',
2730
+ 'left under',
2731
+ 'over',
2732
+ 'over left',
2733
+ 'over right',
2734
+ 'right over',
2735
+ 'right under',
2736
+ 'under',
2737
+ 'under left',
2738
+ 'under right',
2739
+ ],
2740
+ },
2741
+ textEmphasisStyle: {
2742
+ kind: 'enum',
2743
+ quoted: true,
2744
+ values: [
2745
+ 'circle',
2746
+ 'circle filled',
2747
+ 'circle open',
2748
+ 'dot',
2749
+ 'dot filled',
2750
+ 'dot open',
2751
+ 'double-circle',
2752
+ 'double-circle filled',
2753
+ 'double-circle open',
2754
+ 'filled',
2755
+ 'filled circle',
2756
+ 'filled dot',
2757
+ 'filled double-circle',
2758
+ 'filled sesame',
2759
+ 'filled triangle',
2760
+ 'none',
2761
+ 'open',
2762
+ 'open circle',
2763
+ 'open dot',
2764
+ 'open double-circle',
2765
+ 'open sesame',
2766
+ 'open triangle',
2767
+ 'sesame',
2768
+ 'sesame filled',
2769
+ 'sesame open',
2770
+ 'triangle',
2771
+ 'triangle filled',
2772
+ 'triangle open',
2773
+ ],
2774
+ },
2775
+ textFit: { kind: 'compound', property: 'textFit' },
2776
+ textIndent: { kind: 'compound', property: 'textIndent' },
2777
+ textJustify: {
2778
+ kind: 'enum',
2779
+ values: ['auto', 'inter-character', 'inter-word', 'none'],
2780
+ },
2781
+ textOrientation: { kind: 'enum', values: ['mixed', 'sideways', 'upright'] },
2782
+ textOverflow: {
2783
+ kind: 'enum',
2784
+ quoted: true,
2785
+ items: 2,
2786
+ values: ['clip', 'ellipsis'],
2787
+ },
2788
+ textRendering: {
2789
+ kind: 'enum',
2790
+ values: [
2791
+ 'auto',
2792
+ 'geometricPrecision',
2793
+ 'optimizeLegibility',
2794
+ 'optimizeSpeed',
2795
+ ],
2796
+ },
2797
+ textShadow: { kind: 'compound', property: 'textShadow' },
2798
+ textSizeAdjust: {
2799
+ kind: 'percentage',
2800
+ min: 0,
2801
+ max: Infinity,
2802
+ keywords: ['auto', 'none'],
2803
+ },
2804
+ textSpacingTrim: {
2805
+ kind: 'enum',
2806
+ values: ['normal', 'space-all', 'space-first', 'trim-start'],
2807
+ },
2808
+ textTransform: {
2809
+ kind: 'enum',
2810
+ values: [
2811
+ 'capitalize',
2812
+ 'capitalize full-size-kana',
2813
+ 'capitalize full-size-kana full-width',
2814
+ 'capitalize full-width',
2815
+ 'capitalize full-width full-size-kana',
2816
+ 'full-size-kana',
2817
+ 'full-size-kana capitalize',
2818
+ 'full-size-kana capitalize full-width',
2819
+ 'full-size-kana full-width',
2820
+ 'full-size-kana full-width capitalize',
2821
+ 'full-size-kana full-width lowercase',
2822
+ 'full-size-kana full-width uppercase',
2823
+ 'full-size-kana lowercase',
2824
+ 'full-size-kana lowercase full-width',
2825
+ 'full-size-kana uppercase',
2826
+ 'full-size-kana uppercase full-width',
2827
+ 'full-width',
2828
+ 'full-width capitalize',
2829
+ 'full-width capitalize full-size-kana',
2830
+ 'full-width full-size-kana',
2831
+ 'full-width full-size-kana capitalize',
2832
+ 'full-width full-size-kana lowercase',
2833
+ 'full-width full-size-kana uppercase',
2834
+ 'full-width lowercase',
2835
+ 'full-width lowercase full-size-kana',
2836
+ 'full-width uppercase',
2837
+ 'full-width uppercase full-size-kana',
2838
+ 'lowercase',
2839
+ 'lowercase full-size-kana',
2840
+ 'lowercase full-size-kana full-width',
2841
+ 'lowercase full-width',
2842
+ 'lowercase full-width full-size-kana',
2843
+ 'math-auto',
2844
+ 'none',
2845
+ 'uppercase',
2846
+ 'uppercase full-size-kana',
2847
+ 'uppercase full-size-kana full-width',
2848
+ 'uppercase full-width',
2849
+ 'uppercase full-width full-size-kana',
2850
+ ],
2851
+ },
2852
+ textUnderlineOffset: { ...length, auto: true, negative: true },
2853
+ textUnderlinePosition: {
2854
+ groups: [['under'], ['left', 'right']],
2855
+ kind: 'enum',
2856
+ values: ['auto', 'from-font', 'left', 'right', 'under'],
2857
+ },
2858
+ textWrap: {
2859
+ groups: [
2860
+ ['nowrap', 'wrap'],
2861
+ ['auto', 'balance', 'pretty', 'stable'],
2862
+ ],
2863
+ kind: 'enum',
2864
+ values: ['auto', 'balance', 'nowrap', 'pretty', 'stable', 'wrap'],
2865
+ },
2866
+ textWrapMode: { kind: 'enum', values: ['nowrap', 'wrap'] },
2867
+ textWrapStyle: {
2868
+ kind: 'enum',
2869
+ values: ['auto', 'balance', 'pretty', 'stable'],
2870
+ },
2871
+ timelineScope: {
2872
+ dashed: true,
2873
+ keywords: ['none'],
2874
+ kind: 'identifier',
2875
+ separator: 'comma',
2876
+ standalone: ['none'],
2877
+ },
2878
+ timelineTrigger: { kind: 'compound', property: 'timelineTrigger' },
2879
+ timelineTriggerActivationRange: {
2880
+ kind: 'compound',
2881
+ property: 'timelineTriggerActivationRange',
2882
+ },
2883
+ timelineTriggerActivationRangeEnd: attachmentRange,
2884
+ timelineTriggerActivationRangeStart: attachmentRange,
2885
+ timelineTriggerActiveRange: {
2886
+ kind: 'compound',
2887
+ property: 'timelineTriggerActiveRange',
2888
+ },
2889
+ timelineTriggerActiveRangeEnd: {
2890
+ ...attachmentRange,
2891
+ standalone: [...attachmentRange.standalone, 'auto'],
2892
+ },
2893
+ timelineTriggerActiveRangeStart: {
2894
+ ...attachmentRange,
2895
+ standalone: [...attachmentRange.standalone, 'auto'],
2896
+ },
2897
+ timelineTriggerName: {
2898
+ dashed: true,
2899
+ keywords: ['none'],
2900
+ kind: 'identifier',
2901
+ separator: 'comma',
2902
+ standalone: ['none'],
2903
+ },
2904
+ timelineTriggerSource: {
2905
+ dashed: true,
2906
+ keywords: ['auto', 'none'],
2907
+ kind: 'identifier',
2908
+ separator: 'comma',
2909
+ },
2910
+ top: { ...margin, functions: ['anchor', 'anchor-size'] },
2911
+ touchAction: {
2912
+ kind: 'enum',
2913
+ values: [
2914
+ 'auto',
2915
+ 'manipulation',
2916
+ 'none',
2917
+ 'pan-down',
2918
+ 'pan-down pan-left',
2919
+ 'pan-down pan-left pinch-zoom',
2920
+ 'pan-down pan-right',
2921
+ 'pan-down pan-right pinch-zoom',
2922
+ 'pan-down pan-x',
2923
+ 'pan-down pan-x pinch-zoom',
2924
+ 'pan-down pinch-zoom',
2925
+ 'pan-down pinch-zoom pan-left',
2926
+ 'pan-down pinch-zoom pan-right',
2927
+ 'pan-down pinch-zoom pan-x',
2928
+ 'pan-left',
2929
+ 'pan-left pan-down',
2930
+ 'pan-left pan-down pinch-zoom',
2931
+ 'pan-left pan-up',
2932
+ 'pan-left pan-up pinch-zoom',
2933
+ 'pan-left pan-y',
2934
+ 'pan-left pan-y pinch-zoom',
2935
+ 'pan-left pinch-zoom',
2936
+ 'pan-left pinch-zoom pan-down',
2937
+ 'pan-left pinch-zoom pan-up',
2938
+ 'pan-left pinch-zoom pan-y',
2939
+ 'pan-right',
2940
+ 'pan-right pan-down',
2941
+ 'pan-right pan-down pinch-zoom',
2942
+ 'pan-right pan-up',
2943
+ 'pan-right pan-up pinch-zoom',
2944
+ 'pan-right pan-y',
2945
+ 'pan-right pan-y pinch-zoom',
2946
+ 'pan-right pinch-zoom',
2947
+ 'pan-right pinch-zoom pan-down',
2948
+ 'pan-right pinch-zoom pan-up',
2949
+ 'pan-right pinch-zoom pan-y',
2950
+ 'pan-up',
2951
+ 'pan-up pan-left',
2952
+ 'pan-up pan-left pinch-zoom',
2953
+ 'pan-up pan-right',
2954
+ 'pan-up pan-right pinch-zoom',
2955
+ 'pan-up pan-x',
2956
+ 'pan-up pan-x pinch-zoom',
2957
+ 'pan-up pinch-zoom',
2958
+ 'pan-up pinch-zoom pan-left',
2959
+ 'pan-up pinch-zoom pan-right',
2960
+ 'pan-up pinch-zoom pan-x',
2961
+ 'pan-x',
2962
+ 'pan-x pan-down',
2963
+ 'pan-x pan-down pinch-zoom',
2964
+ 'pan-x pan-up',
2965
+ 'pan-x pan-up pinch-zoom',
2966
+ 'pan-x pan-y',
2967
+ 'pan-x pan-y pinch-zoom',
2968
+ 'pan-x pinch-zoom',
2969
+ 'pan-x pinch-zoom pan-down',
2970
+ 'pan-x pinch-zoom pan-up',
2971
+ 'pan-x pinch-zoom pan-y',
2972
+ 'pan-y',
2973
+ 'pan-y pan-left',
2974
+ 'pan-y pan-left pinch-zoom',
2975
+ 'pan-y pan-right',
2976
+ 'pan-y pan-right pinch-zoom',
2977
+ 'pan-y pan-x',
2978
+ 'pan-y pan-x pinch-zoom',
2979
+ 'pan-y pinch-zoom',
2980
+ 'pan-y pinch-zoom pan-left',
2981
+ 'pan-y pinch-zoom pan-right',
2982
+ 'pan-y pinch-zoom pan-x',
2983
+ 'pinch-zoom',
2984
+ 'pinch-zoom pan-down',
2985
+ 'pinch-zoom pan-down pan-left',
2986
+ 'pinch-zoom pan-down pan-right',
2987
+ 'pinch-zoom pan-down pan-x',
2988
+ 'pinch-zoom pan-left',
2989
+ 'pinch-zoom pan-left pan-down',
2990
+ 'pinch-zoom pan-left pan-up',
2991
+ 'pinch-zoom pan-left pan-y',
2992
+ 'pinch-zoom pan-right',
2993
+ 'pinch-zoom pan-right pan-down',
2994
+ 'pinch-zoom pan-right pan-up',
2995
+ 'pinch-zoom pan-right pan-y',
2996
+ 'pinch-zoom pan-up',
2997
+ 'pinch-zoom pan-up pan-left',
2998
+ 'pinch-zoom pan-up pan-right',
2999
+ 'pinch-zoom pan-up pan-x',
3000
+ 'pinch-zoom pan-x',
3001
+ 'pinch-zoom pan-x pan-down',
3002
+ 'pinch-zoom pan-x pan-up',
3003
+ 'pinch-zoom pan-x pan-y',
3004
+ 'pinch-zoom pan-y',
3005
+ 'pinch-zoom pan-y pan-left',
3006
+ 'pinch-zoom pan-y pan-right',
3007
+ 'pinch-zoom pan-y pan-x',
3008
+ ],
3009
+ },
3010
+ transform: { kind: 'transform' },
3011
+ transformBox: {
3012
+ kind: 'enum',
3013
+ values: ['border-box', 'content-box', 'fill-box', 'stroke-box', 'view-box'],
3014
+ },
3015
+ transformOrigin: { kind: 'compound', property: 'transformOrigin' },
3016
+ transformStyle: { kind: 'enum', values: ['flat', 'preserve-3d'] },
3017
+ transition: { kind: 'compound', property: 'transition' },
3018
+ transitionBehavior: {
3019
+ kind: 'enum',
3020
+ list: true,
3021
+ values: ['allow-discrete', 'normal'],
3022
+ },
3023
+ transitionDelay: { kind: 'time', list: true, negative: true },
3024
+ transitionDuration: { kind: 'time', list: true, negative: false },
3025
+ transitionProperty: {
3026
+ keywords: ['all', 'none'],
3027
+ kind: 'identifier',
3028
+ separator: 'comma',
3029
+ standalone: ['none'],
3030
+ },
3031
+ transitionTimingFunction: {
3032
+ easing: true,
3033
+ kind: 'enum',
3034
+ list: true,
3035
+ values: [
3036
+ 'ease',
3037
+ 'ease-in',
3038
+ 'ease-in-out',
3039
+ 'ease-out',
3040
+ 'linear',
3041
+ 'step-end',
3042
+ 'step-start',
3043
+ ],
3044
+ },
3045
+ translate: { kind: 'translate' },
3046
+ triggerScope: {
3047
+ dashed: true,
3048
+ keywords: ['all', 'none'],
3049
+ kind: 'identifier',
3050
+ separator: 'comma',
3051
+ standalone: ['all', 'none'],
3052
+ },
3053
+ unicodeBidi: {
3054
+ kind: 'enum',
3055
+ values: [
3056
+ 'bidi-override',
3057
+ 'embed',
3058
+ 'isolate',
3059
+ 'isolate-override',
3060
+ 'normal',
3061
+ 'plaintext',
3062
+ ],
3063
+ },
3064
+ userSelect: {
3065
+ kind: 'enum',
3066
+ values: ['all', 'auto', 'none', 'text'],
3067
+ },
3068
+ vectorEffect: {
3069
+ kind: 'enum',
3070
+ values: [
3071
+ 'fixed-position',
3072
+ 'non-rotation',
3073
+ 'non-scaling-size',
3074
+ 'non-scaling-stroke',
3075
+ 'none',
3076
+ ],
3077
+ },
3078
+ verticalAlign: {
3079
+ ...length,
3080
+ keywords: [
3081
+ 'baseline',
3082
+ 'bottom',
3083
+ 'middle',
3084
+ 'sub',
3085
+ 'super',
3086
+ 'text-bottom',
3087
+ 'text-top',
3088
+ 'top',
3089
+ ],
3090
+ negative: true,
3091
+ },
3092
+ viewTimeline: { kind: 'compound', property: 'viewTimeline' },
3093
+ viewTimelineAxis: {
3094
+ kind: 'enum',
3095
+ list: true,
3096
+ values: ['block', 'inline', 'x', 'y'],
3097
+ },
3098
+ viewTimelineInset: {
3099
+ kind: 'tuple',
3100
+ atoms: ['length', 'percentage'],
3101
+ keywords: ['auto'],
3102
+ list: true,
3103
+ min: 1,
3104
+ max: 2,
3105
+ negative: true,
3106
+ },
3107
+ viewTimelineName: {
3108
+ dashed: true,
3109
+ keywords: ['none'],
3110
+ kind: 'identifier',
3111
+ separator: 'comma',
3112
+ },
3113
+ viewTransitionClass: {
3114
+ keywords: ['none'],
3115
+ kind: 'identifier',
3116
+ separator: 'space',
3117
+ standalone: ['none'],
3118
+ },
3119
+ viewTransitionName: {
3120
+ keywords: ['match-element', 'none'],
3121
+ kind: 'identifier',
3122
+ excluded: ['auto'],
3123
+ },
3124
+ viewTransitionScope: { kind: 'enum', values: ['all', 'none'] },
3125
+ visibility: { kind: 'enum', values: ['collapse', 'hidden', 'visible'] },
3126
+ WebkitAppearance: {
3127
+ kind: 'enum',
3128
+ values: [
3129
+ '-apple-pay-button',
3130
+ 'button',
3131
+ 'button-bevel',
3132
+ 'caret',
3133
+ 'checkbox',
3134
+ 'default-button',
3135
+ 'inner-spin-button',
3136
+ 'listbox',
3137
+ 'listitem',
3138
+ 'media-controls-background',
3139
+ 'media-controls-fullscreen-background',
3140
+ 'media-current-time-display',
3141
+ 'media-enter-fullscreen-button',
3142
+ 'media-exit-fullscreen-button',
3143
+ 'media-fullscreen-button',
3144
+ 'media-mute-button',
3145
+ 'media-overlay-play-button',
3146
+ 'media-play-button',
3147
+ 'media-seek-back-button',
3148
+ 'media-seek-forward-button',
3149
+ 'media-slider',
3150
+ 'media-sliderthumb',
3151
+ 'media-time-remaining-display',
3152
+ 'media-toggle-closed-captions-button',
3153
+ 'media-volume-slider',
3154
+ 'media-volume-slider-container',
3155
+ 'media-volume-sliderthumb',
3156
+ 'menulist',
3157
+ 'menulist-button',
3158
+ 'menulist-text',
3159
+ 'menulist-textfield',
3160
+ 'meter',
3161
+ 'none',
3162
+ 'progress-bar',
3163
+ 'progress-bar-value',
3164
+ 'push-button',
3165
+ 'radio',
3166
+ 'searchfield',
3167
+ 'searchfield-cancel-button',
3168
+ 'searchfield-decoration',
3169
+ 'searchfield-results-button',
3170
+ 'searchfield-results-decoration',
3171
+ 'slider-horizontal',
3172
+ 'slider-vertical',
3173
+ 'sliderthumb-horizontal',
3174
+ 'sliderthumb-vertical',
3175
+ 'square-button',
3176
+ 'textarea',
3177
+ 'textfield',
3178
+ ],
3179
+ },
3180
+ WebkitBorderAfter: { kind: 'line' },
3181
+ WebkitBorderAfterColor: color,
3182
+ WebkitBorderAfterStyle: border,
3183
+ WebkitBorderAfterWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
3184
+ WebkitBorderBefore: { kind: 'line' },
3185
+ WebkitBorderBeforeColor: color,
3186
+ WebkitBorderBeforeStyle: border,
3187
+ WebkitBorderBeforeWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
3188
+ WebkitBorderEnd: { kind: 'line' },
3189
+ WebkitBorderEndColor: color,
3190
+ WebkitBorderEndStyle: border,
3191
+ WebkitBorderEndWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
3192
+ WebkitBorderStart: { kind: 'line' },
3193
+ WebkitBorderStartColor: color,
3194
+ WebkitBorderStartStyle: border,
3195
+ WebkitBorderStartWidth: { ...stroke, keywords: ['medium', 'thick', 'thin'] },
3196
+ WebkitBoxReflect: { kind: 'compound', property: 'WebkitBoxReflect' },
3197
+ WebkitLineClamp: { ...positiveInteger, keywords: ['none'] },
3198
+ WebkitMask: { kind: 'compound', property: 'WebkitMask' },
3199
+ WebkitMaskAttachment: {
3200
+ kind: 'enum',
3201
+ list: true,
3202
+ values: ['fixed', 'local', 'scroll'],
3203
+ },
3204
+ WebkitMaskClip: {
3205
+ kind: 'enum',
3206
+ list: true,
3207
+ values: [
3208
+ 'border',
3209
+ 'border-box',
3210
+ 'content',
3211
+ 'content-box',
3212
+ 'fill-box',
3213
+ 'no-clip',
3214
+ 'padding',
3215
+ 'padding-box',
3216
+ 'stroke-box',
3217
+ 'text',
3218
+ 'view-box',
3219
+ ],
3220
+ },
3221
+ WebkitMaskComposite: {
3222
+ kind: 'enum',
3223
+ list: true,
3224
+ values: [
3225
+ 'clear',
3226
+ 'copy',
3227
+ 'destination-atop',
3228
+ 'destination-in',
3229
+ 'destination-out',
3230
+ 'destination-over',
3231
+ 'source-atop',
3232
+ 'source-in',
3233
+ 'source-out',
3234
+ 'source-over',
3235
+ 'xor',
3236
+ ],
3237
+ },
3238
+ WebkitMaskImage: { kind: 'image', list: true },
3239
+ WebkitMaskOrigin: {
3240
+ kind: 'enum',
3241
+ list: true,
3242
+ values: [
3243
+ 'border',
3244
+ 'border-box',
3245
+ 'content',
3246
+ 'content-box',
3247
+ 'fill-box',
3248
+ 'padding',
3249
+ 'padding-box',
3250
+ 'stroke-box',
3251
+ 'view-box',
3252
+ ],
3253
+ },
3254
+ WebkitMaskPosition: { kind: 'compound', property: 'WebkitMaskPosition' },
3255
+ WebkitMaskPositionX: {
3256
+ ...length,
3257
+ negative: true,
3258
+ keywords: ['center', 'left', 'right'],
3259
+ list: true,
3260
+ },
3261
+ WebkitMaskPositionY: {
3262
+ ...length,
3263
+ negative: true,
3264
+ keywords: ['bottom', 'center', 'top'],
3265
+ list: true,
3266
+ },
3267
+ WebkitMaskRepeat: { kind: 'compound', property: 'WebkitMaskRepeat' },
3268
+ WebkitMaskRepeatX: {
3269
+ kind: 'enum',
3270
+ values: ['no-repeat', 'repeat', 'round', 'space'],
3271
+ },
3272
+ WebkitMaskRepeatY: {
3273
+ kind: 'enum',
3274
+ values: ['no-repeat', 'repeat', 'round', 'space'],
3275
+ },
3276
+ WebkitMaskSize: { kind: 'compound', property: 'WebkitMaskSize' },
3277
+ WebkitOverflowScrolling: { kind: 'enum', values: ['auto', 'touch'] },
3278
+ WebkitTapHighlightColor: color,
3279
+ WebkitTextFillColor: color,
3280
+ WebkitTextStroke: { kind: 'compound', property: 'WebkitTextStroke' },
3281
+ WebkitTextStrokeColor: color,
3282
+ WebkitTextStrokeWidth: stroke,
3283
+ WebkitTouchCallout: { kind: 'enum', values: ['default', 'none'] },
3284
+ WebkitUserModify: {
3285
+ kind: 'enum',
3286
+ values: ['read-only', 'read-write', 'read-write-plaintext-only'],
3287
+ },
3288
+ WebkitUserSelect: { kind: 'enum', values: ['all', 'auto', 'none', 'text'] },
3289
+ whiteSpace: {
3290
+ kind: 'enum',
3291
+ values: [
3292
+ 'break-spaces',
3293
+ 'break-spaces nowrap',
3294
+ 'break-spaces wrap',
3295
+ 'collapse',
3296
+ 'collapse nowrap',
3297
+ 'collapse wrap',
3298
+ 'normal',
3299
+ 'nowrap',
3300
+ 'nowrap break-spaces',
3301
+ 'nowrap collapse',
3302
+ 'nowrap preserve',
3303
+ 'nowrap preserve-breaks',
3304
+ 'nowrap preserve-spaces',
3305
+ 'pre',
3306
+ 'pre-line',
3307
+ 'pre-wrap',
3308
+ 'preserve',
3309
+ 'preserve nowrap',
3310
+ 'preserve wrap',
3311
+ 'preserve-breaks',
3312
+ 'preserve-breaks nowrap',
3313
+ 'preserve-breaks wrap',
3314
+ 'preserve-spaces',
3315
+ 'preserve-spaces nowrap',
3316
+ 'preserve-spaces wrap',
3317
+ 'wrap',
3318
+ 'wrap break-spaces',
3319
+ 'wrap collapse',
3320
+ 'wrap preserve',
3321
+ 'wrap preserve-breaks',
3322
+ 'wrap preserve-spaces',
3323
+ ],
3324
+ },
3325
+ whiteSpaceCollapse: {
3326
+ kind: 'enum',
3327
+ values: [
3328
+ 'break-spaces',
3329
+ 'collapse',
3330
+ 'preserve',
3331
+ 'preserve-breaks',
3332
+ 'preserve-spaces',
3333
+ ],
3334
+ },
3335
+ widows: positiveInteger,
3336
+ width: { ...size, functions: ['anchor-size', 'calc-size', 'fit-content'] },
3337
+ willChange: {
3338
+ keywords: ['auto', 'contents', 'scroll-position'],
3339
+ kind: 'identifier',
3340
+ separator: 'comma',
3341
+ standalone: ['auto'],
3342
+ excluded: ['all', 'none', 'will-change'],
3343
+ },
3344
+ wordBreak: {
3345
+ kind: 'enum',
3346
+ values: ['auto-phrase', 'break-all', 'break-word', 'keep-all', 'normal'],
3347
+ },
3348
+ wordSpacing: textSpacing,
3349
+ wordWrap: { kind: 'enum', values: ['break-word', 'normal'] },
3350
+ writingMode: {
3351
+ kind: 'enum',
3352
+ values: [
3353
+ 'horizontal-tb',
3354
+ 'sideways-lr',
3355
+ 'sideways-rl',
3356
+ 'vertical-lr',
3357
+ 'vertical-rl',
3358
+ ],
3359
+ },
3360
+ x: { ...length, negative: true },
3361
+ y: { ...length, negative: true },
3362
+ zIndex: {
3363
+ integer: true,
3364
+ keywords: ['auto'],
3365
+ kind: 'number',
3366
+ max: Number.MAX_SAFE_INTEGER,
3367
+ min: Number.MIN_SAFE_INTEGER,
3368
+ },
3369
+ zoom: { kind: 'compound', property: 'zoom', negative: false },
3370
+ };
3371
+ //# sourceMappingURL=Literal.js.map