@tamagui/style-grammar 0.0.0-bootstrap.0 → 3.0.0-beta.643.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (458) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -1
  3. package/dist/cjs/backgroundFamily.cjs +176 -0
  4. package/dist/cjs/backgroundFamily.native.cjs +195 -0
  5. package/dist/cjs/backgroundFamily.native.js +197 -0
  6. package/dist/cjs/backgroundFamily.native.js.map +1 -0
  7. package/dist/cjs/borderFamily.cjs +169 -0
  8. package/dist/cjs/borderFamily.native.cjs +247 -0
  9. package/dist/cjs/borderFamily.native.js +249 -0
  10. package/dist/cjs/borderFamily.native.js.map +1 -0
  11. package/dist/cjs/candidate.cjs +608 -0
  12. package/dist/cjs/candidate.native.cjs +821 -0
  13. package/dist/cjs/candidate.native.js +823 -0
  14. package/dist/cjs/candidate.native.js.map +1 -0
  15. package/dist/cjs/candidateTarget.cjs +50 -0
  16. package/dist/cjs/candidateTarget.native.cjs +88 -0
  17. package/dist/cjs/candidateTarget.native.js +90 -0
  18. package/dist/cjs/candidateTarget.native.js.map +1 -0
  19. package/dist/cjs/clauseCapability.cjs +130 -0
  20. package/dist/cjs/clauseCapability.native.cjs +152 -0
  21. package/dist/cjs/clauseCapability.native.js +154 -0
  22. package/dist/cjs/clauseCapability.native.js.map +1 -0
  23. package/dist/cjs/clausePrecedence.cjs +153 -0
  24. package/dist/cjs/clausePrecedence.native.cjs +204 -0
  25. package/dist/cjs/clausePrecedence.native.js +206 -0
  26. package/dist/cjs/clausePrecedence.native.js.map +1 -0
  27. package/dist/cjs/clauseSources.cjs +47 -0
  28. package/dist/cjs/clauseSources.native.cjs +49 -0
  29. package/dist/cjs/clauseSources.native.js +51 -0
  30. package/dist/cjs/clauseSources.native.js.map +1 -0
  31. package/dist/cjs/config.cjs +130 -0
  32. package/dist/cjs/config.native.cjs +185 -0
  33. package/dist/cjs/config.native.js +187 -0
  34. package/dist/cjs/config.native.js.map +1 -0
  35. package/dist/cjs/evaluateProgram.cjs +65 -0
  36. package/dist/cjs/evaluateProgram.native.cjs +70 -0
  37. package/dist/cjs/evaluateProgram.native.js +72 -0
  38. package/dist/cjs/evaluateProgram.native.js.map +1 -0
  39. package/dist/cjs/fontShorthand.cjs +207 -0
  40. package/dist/cjs/fontShorthand.native.cjs +260 -0
  41. package/dist/cjs/fontShorthand.native.js +262 -0
  42. package/dist/cjs/fontShorthand.native.js.map +1 -0
  43. package/dist/cjs/geometricShorthand.cjs +122 -0
  44. package/dist/cjs/geometricShorthand.native.cjs +128 -0
  45. package/dist/cjs/geometricShorthand.native.js +130 -0
  46. package/dist/cjs/geometricShorthand.native.js.map +1 -0
  47. package/dist/cjs/index.cjs +19 -0
  48. package/dist/cjs/index.native.cjs +21 -0
  49. package/dist/cjs/index.native.js +23 -0
  50. package/dist/cjs/index.native.js.map +1 -0
  51. package/dist/cjs/lowerProgram.cjs +205 -0
  52. package/dist/cjs/lowerProgram.native.cjs +257 -0
  53. package/dist/cjs/lowerProgram.native.js +259 -0
  54. package/dist/cjs/lowerProgram.native.js.map +1 -0
  55. package/dist/cjs/mergeFlatValues.cjs +50 -0
  56. package/dist/cjs/mergeFlatValues.native.cjs +71 -0
  57. package/dist/cjs/mergeFlatValues.native.js +73 -0
  58. package/dist/cjs/mergeFlatValues.native.js.map +1 -0
  59. package/dist/cjs/modifierRegistry.cjs +246 -0
  60. package/dist/cjs/modifierRegistry.native.cjs +426 -0
  61. package/dist/cjs/modifierRegistry.native.js +428 -0
  62. package/dist/cjs/modifierRegistry.native.js.map +1 -0
  63. package/dist/cjs/payloadShape.cjs +69 -0
  64. package/dist/cjs/payloadShape.native.cjs +71 -0
  65. package/dist/cjs/payloadShape.native.js +73 -0
  66. package/dist/cjs/payloadShape.native.js.map +1 -0
  67. package/dist/cjs/programEligibility.cjs +46 -0
  68. package/dist/cjs/programEligibility.native.cjs +48 -0
  69. package/dist/cjs/programEligibility.native.js +50 -0
  70. package/dist/cjs/programEligibility.native.js.map +1 -0
  71. package/dist/cjs/programHash.cjs +86 -0
  72. package/dist/cjs/programHash.native.cjs +106 -0
  73. package/dist/cjs/programHash.native.js +108 -0
  74. package/dist/cjs/programHash.native.js.map +1 -0
  75. package/dist/cjs/programs.cjs +128 -0
  76. package/dist/cjs/programs.native.cjs +220 -0
  77. package/dist/cjs/programs.native.js +222 -0
  78. package/dist/cjs/programs.native.js.map +1 -0
  79. package/dist/cjs/registry.cjs +629 -0
  80. package/dist/cjs/registry.native.cjs +635 -0
  81. package/dist/cjs/registry.native.js +637 -0
  82. package/dist/cjs/registry.native.js.map +1 -0
  83. package/dist/cjs/resolvePayload.cjs +296 -0
  84. package/dist/cjs/resolvePayload.native.cjs +302 -0
  85. package/dist/cjs/resolvePayload.native.js +304 -0
  86. package/dist/cjs/resolvePayload.native.js.map +1 -0
  87. package/dist/cjs/runtime.cjs +50 -0
  88. package/dist/cjs/runtime.native.cjs +52 -0
  89. package/dist/cjs/runtime.native.js +54 -0
  90. package/dist/cjs/runtime.native.js.map +1 -0
  91. package/dist/cjs/safeAreaVariables.cjs +42 -0
  92. package/dist/cjs/safeAreaVariables.native.cjs +44 -0
  93. package/dist/cjs/safeAreaVariables.native.js +46 -0
  94. package/dist/cjs/safeAreaVariables.native.js.map +1 -0
  95. package/dist/cjs/scanFlatValue.cjs +181 -0
  96. package/dist/cjs/scanFlatValue.native.cjs +183 -0
  97. package/dist/cjs/scanFlatValue.native.js +185 -0
  98. package/dist/cjs/scanFlatValue.native.js.map +1 -0
  99. package/dist/cjs/serializePayload.cjs +149 -0
  100. package/dist/cjs/serializePayload.native.cjs +187 -0
  101. package/dist/cjs/serializePayload.native.js +189 -0
  102. package/dist/cjs/serializePayload.native.js.map +1 -0
  103. package/dist/cjs/stateModifiers.cjs +43 -0
  104. package/dist/cjs/stateModifiers.native.cjs +45 -0
  105. package/dist/cjs/stateModifiers.native.js +47 -0
  106. package/dist/cjs/stateModifiers.native.js.map +1 -0
  107. package/dist/cjs/states.cjs +97 -0
  108. package/dist/cjs/states.native.cjs +131 -0
  109. package/dist/cjs/states.native.js +133 -0
  110. package/dist/cjs/states.native.js.map +1 -0
  111. package/dist/cjs/table.cjs +54 -0
  112. package/dist/cjs/table.native.cjs +135 -0
  113. package/dist/cjs/table.native.js +137 -0
  114. package/dist/cjs/table.native.js.map +1 -0
  115. package/dist/cjs/textDecorationFamily.cjs +129 -0
  116. package/dist/cjs/textDecorationFamily.native.cjs +199 -0
  117. package/dist/cjs/textDecorationFamily.native.js +201 -0
  118. package/dist/cjs/textDecorationFamily.native.js.map +1 -0
  119. package/dist/cjs/tooling.cjs +26 -0
  120. package/dist/cjs/tooling.native.cjs +28 -0
  121. package/dist/cjs/tooling.native.js +30 -0
  122. package/dist/cjs/tooling.native.js.map +1 -0
  123. package/dist/cjs/toolingAnnotations.cjs +105 -0
  124. package/dist/cjs/toolingAnnotations.native.cjs +133 -0
  125. package/dist/cjs/toolingAnnotations.native.js +135 -0
  126. package/dist/cjs/toolingAnnotations.native.js.map +1 -0
  127. package/dist/cjs/toolingDiagnostics.cjs +459 -0
  128. package/dist/cjs/toolingDiagnostics.native.cjs +788 -0
  129. package/dist/cjs/toolingDiagnostics.native.js +790 -0
  130. package/dist/cjs/toolingDiagnostics.native.js.map +1 -0
  131. package/dist/cjs/toolingRegistry.cjs +159 -0
  132. package/dist/cjs/toolingRegistry.native.cjs +164 -0
  133. package/dist/cjs/toolingRegistry.native.js +166 -0
  134. package/dist/cjs/toolingRegistry.native.js.map +1 -0
  135. package/dist/cjs/transformFamily.cjs +425 -0
  136. package/dist/cjs/transformFamily.native.cjs +517 -0
  137. package/dist/cjs/transformFamily.native.js +519 -0
  138. package/dist/cjs/transformFamily.native.js.map +1 -0
  139. package/dist/cjs/transition.cjs +459 -0
  140. package/dist/cjs/transition.native.cjs +499 -0
  141. package/dist/cjs/transition.native.js +501 -0
  142. package/dist/cjs/transition.native.js.map +1 -0
  143. package/dist/cjs/transitionAlign.cjs +115 -0
  144. package/dist/cjs/transitionAlign.native.cjs +154 -0
  145. package/dist/cjs/transitionAlign.native.js +156 -0
  146. package/dist/cjs/transitionAlign.native.js.map +1 -0
  147. package/dist/cjs/transitionLegacy.cjs +217 -0
  148. package/dist/cjs/transitionLegacy.native.cjs +260 -0
  149. package/dist/cjs/transitionLegacy.native.js +262 -0
  150. package/dist/cjs/transitionLegacy.native.js.map +1 -0
  151. package/dist/cjs/transitionNative.cjs +281 -0
  152. package/dist/cjs/transitionNative.native.cjs +285 -0
  153. package/dist/cjs/transitionNative.native.js +287 -0
  154. package/dist/cjs/transitionNative.native.js.map +1 -0
  155. package/dist/cjs/unitlessNumbers.cjs +86 -0
  156. package/dist/cjs/unitlessNumbers.native.cjs +106 -0
  157. package/dist/cjs/unitlessNumbers.native.js +108 -0
  158. package/dist/cjs/unitlessNumbers.native.js.map +1 -0
  159. package/dist/cjs/v6ThemeNames.cjs +47 -0
  160. package/dist/cjs/v6ThemeNames.native.cjs +53 -0
  161. package/dist/cjs/v6ThemeNames.native.js +55 -0
  162. package/dist/cjs/v6ThemeNames.native.js.map +1 -0
  163. package/dist/cjs/valueParser.cjs +148 -0
  164. package/dist/cjs/valueParser.native.cjs +150 -0
  165. package/dist/cjs/valueParser.native.js +152 -0
  166. package/dist/cjs/valueParser.native.js.map +1 -0
  167. package/dist/cjs/valueTypes.cjs +38 -0
  168. package/dist/cjs/valueTypes.native.cjs +40 -0
  169. package/dist/cjs/valueTypes.native.js +42 -0
  170. package/dist/cjs/valueTypes.native.js.map +1 -0
  171. package/dist/esm/backgroundFamily.mjs +150 -0
  172. package/dist/esm/backgroundFamily.mjs.map +1 -0
  173. package/dist/esm/backgroundFamily.native.js +167 -0
  174. package/dist/esm/backgroundFamily.native.js.map +1 -0
  175. package/dist/esm/borderFamily.mjs +146 -0
  176. package/dist/esm/borderFamily.mjs.map +1 -0
  177. package/dist/esm/borderFamily.native.js +222 -0
  178. package/dist/esm/borderFamily.native.js.map +1 -0
  179. package/dist/esm/candidate.mjs +581 -0
  180. package/dist/esm/candidate.mjs.map +1 -0
  181. package/dist/esm/candidate.native.js +792 -0
  182. package/dist/esm/candidate.native.js.map +1 -0
  183. package/dist/esm/candidateTarget.mjs +29 -0
  184. package/dist/esm/candidateTarget.mjs.map +1 -0
  185. package/dist/esm/candidateTarget.native.js +65 -0
  186. package/dist/esm/candidateTarget.native.js.map +1 -0
  187. package/dist/esm/clauseCapability.mjs +107 -0
  188. package/dist/esm/clauseCapability.mjs.map +1 -0
  189. package/dist/esm/clauseCapability.native.js +127 -0
  190. package/dist/esm/clauseCapability.native.js.map +1 -0
  191. package/dist/esm/clausePrecedence.mjs +121 -0
  192. package/dist/esm/clausePrecedence.mjs.map +1 -0
  193. package/dist/esm/clausePrecedence.native.js +170 -0
  194. package/dist/esm/clausePrecedence.native.js.map +1 -0
  195. package/dist/esm/clauseSources.mjs +23 -0
  196. package/dist/esm/clauseSources.mjs.map +1 -0
  197. package/dist/esm/clauseSources.native.js +23 -0
  198. package/dist/esm/clauseSources.native.js.map +1 -0
  199. package/dist/esm/config.mjs +103 -0
  200. package/dist/esm/config.mjs.map +1 -0
  201. package/dist/esm/config.native.js +156 -0
  202. package/dist/esm/config.native.js.map +1 -0
  203. package/dist/esm/evaluateProgram.mjs +45 -0
  204. package/dist/esm/evaluateProgram.mjs.map +1 -0
  205. package/dist/esm/evaluateProgram.native.js +48 -0
  206. package/dist/esm/evaluateProgram.native.js.map +1 -0
  207. package/dist/esm/fontShorthand.mjs +184 -0
  208. package/dist/esm/fontShorthand.mjs.map +1 -0
  209. package/dist/esm/fontShorthand.native.js +235 -0
  210. package/dist/esm/fontShorthand.native.js.map +1 -0
  211. package/dist/esm/geometricShorthand.mjs +102 -0
  212. package/dist/esm/geometricShorthand.mjs.map +1 -0
  213. package/dist/esm/geometricShorthand.native.js +106 -0
  214. package/dist/esm/geometricShorthand.native.js.map +1 -0
  215. package/dist/esm/index.mjs +1 -0
  216. package/dist/esm/index.native.js +1 -0
  217. package/dist/esm/lowerProgram.mjs +182 -0
  218. package/dist/esm/lowerProgram.mjs.map +1 -0
  219. package/dist/esm/lowerProgram.native.js +232 -0
  220. package/dist/esm/lowerProgram.native.js.map +1 -0
  221. package/dist/esm/mergeFlatValues.mjs +27 -0
  222. package/dist/esm/mergeFlatValues.mjs.map +1 -0
  223. package/dist/esm/mergeFlatValues.native.js +46 -0
  224. package/dist/esm/mergeFlatValues.native.js.map +1 -0
  225. package/dist/esm/modifierRegistry.mjs +219 -0
  226. package/dist/esm/modifierRegistry.mjs.map +1 -0
  227. package/dist/esm/modifierRegistry.native.js +397 -0
  228. package/dist/esm/modifierRegistry.native.js.map +1 -0
  229. package/dist/esm/payloadShape.mjs +49 -0
  230. package/dist/esm/payloadShape.mjs.map +1 -0
  231. package/dist/esm/payloadShape.native.js +49 -0
  232. package/dist/esm/payloadShape.native.js.map +1 -0
  233. package/dist/esm/programEligibility.mjs +22 -0
  234. package/dist/esm/programEligibility.mjs.map +1 -0
  235. package/dist/esm/programEligibility.native.js +22 -0
  236. package/dist/esm/programEligibility.native.js.map +1 -0
  237. package/dist/esm/programHash.mjs +62 -0
  238. package/dist/esm/programHash.mjs.map +1 -0
  239. package/dist/esm/programHash.native.js +80 -0
  240. package/dist/esm/programHash.native.js.map +1 -0
  241. package/dist/esm/programs.mjs +103 -0
  242. package/dist/esm/programs.mjs.map +1 -0
  243. package/dist/esm/programs.native.js +193 -0
  244. package/dist/esm/programs.native.js.map +1 -0
  245. package/dist/esm/registry.mjs +595 -0
  246. package/dist/esm/registry.mjs.map +1 -0
  247. package/dist/esm/registry.native.js +599 -0
  248. package/dist/esm/registry.native.js.map +1 -0
  249. package/dist/esm/resolvePayload.mjs +273 -0
  250. package/dist/esm/resolvePayload.mjs.map +1 -0
  251. package/dist/esm/resolvePayload.native.js +277 -0
  252. package/dist/esm/resolvePayload.native.js.map +1 -0
  253. package/dist/esm/runtime.mjs +63 -0
  254. package/dist/esm/runtime.native.js +63 -0
  255. package/dist/esm/safeAreaVariables.mjs +18 -0
  256. package/dist/esm/safeAreaVariables.mjs.map +1 -0
  257. package/dist/esm/safeAreaVariables.native.js +18 -0
  258. package/dist/esm/safeAreaVariables.native.js.map +1 -0
  259. package/dist/esm/scanFlatValue.mjs +160 -0
  260. package/dist/esm/scanFlatValue.mjs.map +1 -0
  261. package/dist/esm/scanFlatValue.native.js +160 -0
  262. package/dist/esm/scanFlatValue.native.js.map +1 -0
  263. package/dist/esm/serializePayload.mjs +125 -0
  264. package/dist/esm/serializePayload.mjs.map +1 -0
  265. package/dist/esm/serializePayload.native.js +161 -0
  266. package/dist/esm/serializePayload.native.js.map +1 -0
  267. package/dist/esm/stateModifiers.mjs +19 -0
  268. package/dist/esm/stateModifiers.mjs.map +1 -0
  269. package/dist/esm/stateModifiers.native.js +19 -0
  270. package/dist/esm/stateModifiers.native.js.map +1 -0
  271. package/dist/esm/states.mjs +69 -0
  272. package/dist/esm/states.mjs.map +1 -0
  273. package/dist/esm/states.native.js +101 -0
  274. package/dist/esm/states.native.js.map +1 -0
  275. package/dist/esm/table.mjs +31 -0
  276. package/dist/esm/table.mjs.map +1 -0
  277. package/dist/esm/table.native.js +110 -0
  278. package/dist/esm/table.native.js.map +1 -0
  279. package/dist/esm/textDecorationFamily.mjs +106 -0
  280. package/dist/esm/textDecorationFamily.mjs.map +1 -0
  281. package/dist/esm/textDecorationFamily.native.js +174 -0
  282. package/dist/esm/textDecorationFamily.native.js.map +1 -0
  283. package/dist/esm/tooling.mjs +15 -0
  284. package/dist/esm/tooling.native.js +15 -0
  285. package/dist/esm/toolingAnnotations.mjs +85 -0
  286. package/dist/esm/toolingAnnotations.mjs.map +1 -0
  287. package/dist/esm/toolingAnnotations.native.js +111 -0
  288. package/dist/esm/toolingAnnotations.native.js.map +1 -0
  289. package/dist/esm/toolingDiagnostics.mjs +428 -0
  290. package/dist/esm/toolingDiagnostics.mjs.map +1 -0
  291. package/dist/esm/toolingDiagnostics.native.js +755 -0
  292. package/dist/esm/toolingDiagnostics.native.js.map +1 -0
  293. package/dist/esm/toolingRegistry.mjs +135 -0
  294. package/dist/esm/toolingRegistry.mjs.map +1 -0
  295. package/dist/esm/toolingRegistry.native.js +138 -0
  296. package/dist/esm/toolingRegistry.native.js.map +1 -0
  297. package/dist/esm/transformFamily.mjs +392 -0
  298. package/dist/esm/transformFamily.mjs.map +1 -0
  299. package/dist/esm/transformFamily.native.js +482 -0
  300. package/dist/esm/transformFamily.native.js.map +1 -0
  301. package/dist/esm/transition.mjs +434 -0
  302. package/dist/esm/transition.mjs.map +1 -0
  303. package/dist/esm/transition.native.js +472 -0
  304. package/dist/esm/transition.native.js.map +1 -0
  305. package/dist/esm/transitionAlign.mjs +95 -0
  306. package/dist/esm/transitionAlign.mjs.map +1 -0
  307. package/dist/esm/transitionAlign.native.js +132 -0
  308. package/dist/esm/transitionAlign.native.js.map +1 -0
  309. package/dist/esm/transitionLegacy.mjs +197 -0
  310. package/dist/esm/transitionLegacy.mjs.map +1 -0
  311. package/dist/esm/transitionLegacy.native.js +238 -0
  312. package/dist/esm/transitionLegacy.native.js.map +1 -0
  313. package/dist/esm/transitionNative.mjs +257 -0
  314. package/dist/esm/transitionNative.mjs.map +1 -0
  315. package/dist/esm/transitionNative.native.js +259 -0
  316. package/dist/esm/transitionNative.native.js.map +1 -0
  317. package/dist/esm/unitlessNumbers.mjs +65 -0
  318. package/dist/esm/unitlessNumbers.mjs.map +1 -0
  319. package/dist/esm/unitlessNumbers.native.js +83 -0
  320. package/dist/esm/unitlessNumbers.native.js.map +1 -0
  321. package/dist/esm/v6ThemeNames.mjs +23 -0
  322. package/dist/esm/v6ThemeNames.mjs.map +1 -0
  323. package/dist/esm/v6ThemeNames.native.js +27 -0
  324. package/dist/esm/v6ThemeNames.native.js.map +1 -0
  325. package/dist/esm/valueParser.mjs +125 -0
  326. package/dist/esm/valueParser.mjs.map +1 -0
  327. package/dist/esm/valueParser.native.js +125 -0
  328. package/dist/esm/valueParser.native.js.map +1 -0
  329. package/dist/esm/valueTypes.mjs +14 -0
  330. package/dist/esm/valueTypes.mjs.map +1 -0
  331. package/dist/esm/valueTypes.native.js +14 -0
  332. package/dist/esm/valueTypes.native.js.map +1 -0
  333. package/package.json +98 -4
  334. package/src/backgroundFamily.ts +182 -0
  335. package/src/borderFamily.ts +172 -0
  336. package/src/candidate.ts +691 -0
  337. package/src/candidateTarget.ts +67 -0
  338. package/src/clauseCapability.ts +209 -0
  339. package/src/clausePrecedence.ts +198 -0
  340. package/src/clauseSources.ts +29 -0
  341. package/src/config.ts +169 -0
  342. package/src/evaluateProgram.ts +91 -0
  343. package/src/fontShorthand.ts +177 -0
  344. package/src/geometricShorthand.ts +105 -0
  345. package/src/index.ts +1 -0
  346. package/src/lowerProgram.ts +398 -0
  347. package/src/modifierRegistry.ts +340 -0
  348. package/src/payloadShape.ts +92 -0
  349. package/src/programEligibility.ts +46 -0
  350. package/src/programHash.ts +128 -0
  351. package/src/programs.ts +95 -0
  352. package/src/registry.ts +367 -0
  353. package/src/resolvePayload.ts +480 -0
  354. package/src/runtime.ts +32 -0
  355. package/src/safeAreaVariables.ts +19 -0
  356. package/src/scanFlatValue.ts +327 -0
  357. package/src/serializePayload.ts +199 -0
  358. package/src/stateModifiers.ts +36 -0
  359. package/src/states.ts +128 -0
  360. package/src/table.ts +47 -0
  361. package/src/textDecorationFamily.ts +119 -0
  362. package/src/tooling.ts +8 -0
  363. package/src/toolingAnnotations.ts +151 -0
  364. package/src/toolingDiagnostics.ts +735 -0
  365. package/src/toolingRegistry.ts +130 -0
  366. package/src/transformFamily.ts +590 -0
  367. package/src/transition.ts +553 -0
  368. package/src/transitionAlign.ts +165 -0
  369. package/src/transitionLegacy.ts +237 -0
  370. package/src/transitionNative.ts +357 -0
  371. package/src/unitlessNumbers.ts +61 -0
  372. package/src/v6ThemeNames.ts +40 -0
  373. package/src/valueParser.ts +193 -0
  374. package/src/valueTypes.ts +136 -0
  375. package/types/backgroundFamily.d.ts +17 -0
  376. package/types/backgroundFamily.d.ts.map +11 -0
  377. package/types/borderFamily.d.ts +23 -0
  378. package/types/borderFamily.d.ts.map +11 -0
  379. package/types/candidate.d.ts +52 -0
  380. package/types/candidate.d.ts.map +11 -0
  381. package/types/candidateTarget.d.ts +32 -0
  382. package/types/candidateTarget.d.ts.map +11 -0
  383. package/types/clauseCapability.d.ts +69 -0
  384. package/types/clauseCapability.d.ts.map +11 -0
  385. package/types/clausePrecedence.d.ts +30 -0
  386. package/types/clausePrecedence.d.ts.map +11 -0
  387. package/types/clauseSources.d.ts +12 -0
  388. package/types/clauseSources.d.ts.map +11 -0
  389. package/types/config.d.ts +44 -0
  390. package/types/config.d.ts.map +11 -0
  391. package/types/evaluateProgram.d.ts +27 -0
  392. package/types/evaluateProgram.d.ts.map +11 -0
  393. package/types/fontShorthand.d.ts +25 -0
  394. package/types/fontShorthand.d.ts.map +11 -0
  395. package/types/geometricShorthand.d.ts +21 -0
  396. package/types/geometricShorthand.d.ts.map +11 -0
  397. package/types/index.d.ts +3 -0
  398. package/types/index.d.ts.map +11 -0
  399. package/types/lowerProgram.d.ts +73 -0
  400. package/types/lowerProgram.d.ts.map +11 -0
  401. package/types/mergeFlatValues.d.ts +14 -0
  402. package/types/mergeFlatValues.d.ts.map +11 -0
  403. package/types/modifierRegistry.d.ts +70 -0
  404. package/types/modifierRegistry.d.ts.map +11 -0
  405. package/types/payloadShape.d.ts +15 -0
  406. package/types/payloadShape.d.ts.map +11 -0
  407. package/types/programEligibility.d.ts +23 -0
  408. package/types/programEligibility.d.ts.map +11 -0
  409. package/types/programHash.d.ts +20 -0
  410. package/types/programHash.d.ts.map +11 -0
  411. package/types/programs.d.ts +18 -0
  412. package/types/programs.d.ts.map +11 -0
  413. package/types/registry.d.ts +24 -0
  414. package/types/registry.d.ts.map +11 -0
  415. package/types/resolvePayload.d.ts +75 -0
  416. package/types/resolvePayload.d.ts.map +11 -0
  417. package/types/runtime.d.ts +34 -0
  418. package/types/runtime.d.ts.map +11 -0
  419. package/types/safeAreaVariables.d.ts +5 -0
  420. package/types/safeAreaVariables.d.ts.map +11 -0
  421. package/types/scanFlatValue.d.ts +29 -0
  422. package/types/scanFlatValue.d.ts.map +11 -0
  423. package/types/serializePayload.d.ts +13 -0
  424. package/types/serializePayload.d.ts.map +11 -0
  425. package/types/stateModifiers.d.ts +14 -0
  426. package/types/stateModifiers.d.ts.map +11 -0
  427. package/types/states.d.ts +22 -0
  428. package/types/states.d.ts.map +11 -0
  429. package/types/table.d.ts +4 -0
  430. package/types/table.d.ts.map +11 -0
  431. package/types/textDecorationFamily.d.ts +23 -0
  432. package/types/textDecorationFamily.d.ts.map +11 -0
  433. package/types/tooling.d.ts +10 -0
  434. package/types/tooling.d.ts.map +11 -0
  435. package/types/toolingAnnotations.d.ts +29 -0
  436. package/types/toolingAnnotations.d.ts.map +11 -0
  437. package/types/toolingDiagnostics.d.ts +114 -0
  438. package/types/toolingDiagnostics.d.ts.map +11 -0
  439. package/types/toolingRegistry.d.ts +10 -0
  440. package/types/toolingRegistry.d.ts.map +11 -0
  441. package/types/transformFamily.d.ts +83 -0
  442. package/types/transformFamily.d.ts.map +11 -0
  443. package/types/transition.d.ts +65 -0
  444. package/types/transition.d.ts.map +11 -0
  445. package/types/transitionAlign.d.ts +15 -0
  446. package/types/transitionAlign.d.ts.map +11 -0
  447. package/types/transitionLegacy.d.ts +9 -0
  448. package/types/transitionLegacy.d.ts.map +11 -0
  449. package/types/transitionNative.d.ts +41 -0
  450. package/types/transitionNative.d.ts.map +11 -0
  451. package/types/unitlessNumbers.d.ts +3 -0
  452. package/types/unitlessNumbers.d.ts.map +11 -0
  453. package/types/v6ThemeNames.d.ts +7 -0
  454. package/types/v6ThemeNames.d.ts.map +11 -0
  455. package/types/valueParser.d.ts +36 -0
  456. package/types/valueParser.d.ts.map +11 -0
  457. package/types/valueTypes.d.ts +66 -0
  458. package/types/valueTypes.d.ts.map +11 -0
@@ -0,0 +1,434 @@
1
+ const globalValues = /* @__PURE__ */ new Set([
2
+ "inherit",
3
+ "initial",
4
+ "revert",
5
+ "revert-layer",
6
+ "unset"
7
+ ]);
8
+ const timingKeywords = /* @__PURE__ */ new Set([
9
+ "ease",
10
+ "linear",
11
+ "ease-in",
12
+ "ease-out",
13
+ "ease-in-out",
14
+ "step-start",
15
+ "step-end"
16
+ ]);
17
+ const behaviorValues = /* @__PURE__ */ new Set(["normal", "allow-discrete"]);
18
+ const reservedPresetNames = /* @__PURE__ */ new Set([
19
+ ...globalValues,
20
+ ...timingKeywords,
21
+ ...behaviorValues,
22
+ "all",
23
+ "none"
24
+ ]);
25
+ const noPresetNames = /* @__PURE__ */ new Set();
26
+ const identifierPattern = /^-?(?:[_a-zA-Z]|[^\0-\x7f])(?:[-_a-zA-Z0-9]|[^\0-\x7f])*$/;
27
+ const timePattern = /^([+-]?(?:\d+(?:\.\d*)?|\.\d+))(ms|s)$/;
28
+ function splitTopLevel(input, separator) {
29
+ const values = [];
30
+ let start = 0;
31
+ let depth = 0;
32
+ let quote = "";
33
+ for (let index = 0; index < input.length; index++) {
34
+ const character = input[index];
35
+ if (quote) {
36
+ if (character === "\\") index++;
37
+ else if (character === quote) quote = "";
38
+ continue;
39
+ }
40
+ if (character === "\"" || character === "'") {
41
+ quote = character;
42
+ continue;
43
+ }
44
+ if (character === "(") {
45
+ depth++;
46
+ continue;
47
+ }
48
+ if (character === ")") {
49
+ depth--;
50
+ if (depth < 0) return null;
51
+ continue;
52
+ }
53
+ if (depth !== 0) continue;
54
+ const matches = separator === "," ? character === "," : /\s/.test(character);
55
+ if (!matches) continue;
56
+ const value = input.slice(start, index).trim();
57
+ if (value) values.push(value);
58
+ else if (separator === ",") values.push("");
59
+ start = index + 1;
60
+ if (separator === " ") {
61
+ while (start < input.length && /\s/.test(input[start])) start++;
62
+ index = start - 1;
63
+ }
64
+ }
65
+ if (depth !== 0 || quote) return null;
66
+ values.push(input.slice(start).trim());
67
+ return values;
68
+ }
69
+ function isTime(value) {
70
+ return timePattern.test(value);
71
+ }
72
+ function isTimingFunction(value) {
73
+ if (timingKeywords.has(value)) return true;
74
+ if (/^cubic-bezier\(\s*[^)]+\s*\)$/.test(value)) {
75
+ const values = value.slice(value.indexOf("(") + 1, -1).split(",");
76
+ if (values.length !== 4) return false;
77
+ const numbers = [];
78
+ for (let index = 0; index < values.length; index++) {
79
+ const number = Number(values[index].trim());
80
+ if (!Number.isFinite(number)) return false;
81
+ numbers.push(number);
82
+ }
83
+ return numbers[0] >= 0 && numbers[0] <= 1 && numbers[2] >= 0 && numbers[2] <= 1;
84
+ }
85
+ if (/^steps\(\s*[^)]+\s*\)$/.test(value)) {
86
+ const parts = value.slice(value.indexOf("(") + 1, -1).split(",");
87
+ if (parts.length > 2) return false;
88
+ const count = Number(parts[0].trim());
89
+ if (!Number.isInteger(count) || count <= 0) return false;
90
+ const position = parts[1]?.trim();
91
+ if (position !== void 0 && !/^(jump-start|jump-end|jump-none|jump-both|start|end)$/.test(position)) {
92
+ return false;
93
+ }
94
+ return position !== "jump-none" || count > 1;
95
+ }
96
+ if (/^linear\(\s*[^)]+\s*\)$/.test(value)) return true;
97
+ return false;
98
+ }
99
+ function parseSingleTransition(item) {
100
+ const tokens = splitTopLevel(item, " ");
101
+ if (tokens === null || tokens.length === 0) {
102
+ return {
103
+ code: "transition-invalid-token",
104
+ item,
105
+ message: `"${item}" is not a balanced CSS transition`
106
+ };
107
+ }
108
+ for (let index = 0; index < tokens.length; index++) {
109
+ if (!tokens[index]) {
110
+ return {
111
+ code: "transition-invalid-token",
112
+ item,
113
+ message: `"${item}" is not a balanced CSS transition`
114
+ };
115
+ }
116
+ }
117
+ let property;
118
+ let duration;
119
+ let delay;
120
+ let timingFunction;
121
+ let behavior;
122
+ for (const token of tokens) {
123
+ if (globalValues.has(token)) {
124
+ return {
125
+ code: "transition-invalid-list",
126
+ item,
127
+ token,
128
+ message: `CSS-wide value "${token}" must be the whole transition`
129
+ };
130
+ }
131
+ if (isTime(token)) {
132
+ if (duration === void 0) {
133
+ if (Number(token.match(timePattern)?.[1]) < 0) {
134
+ return {
135
+ code: "transition-invalid-duration",
136
+ item,
137
+ token,
138
+ message: `transition duration "${token}" cannot be negative`
139
+ };
140
+ }
141
+ duration = token;
142
+ } else if (delay === void 0) {
143
+ delay = token;
144
+ } else {
145
+ return {
146
+ code: "transition-duplicate-component",
147
+ item,
148
+ token,
149
+ message: `"${item}" has more than two time values`
150
+ };
151
+ }
152
+ continue;
153
+ }
154
+ if (isTimingFunction(token)) {
155
+ if (timingFunction !== void 0) {
156
+ return {
157
+ code: "transition-duplicate-component",
158
+ item,
159
+ token,
160
+ message: `"${item}" has more than one timing function`
161
+ };
162
+ }
163
+ timingFunction = token;
164
+ continue;
165
+ }
166
+ if (behaviorValues.has(token)) {
167
+ if (behavior !== void 0) {
168
+ return {
169
+ code: "transition-duplicate-component",
170
+ item,
171
+ token,
172
+ message: `"${item}" has more than one transition behavior`
173
+ };
174
+ }
175
+ behavior = token;
176
+ continue;
177
+ }
178
+ if (identifierPattern.test(token) || /^--[-_a-zA-Z0-9]+$/.test(token)) {
179
+ if (property !== void 0) {
180
+ return {
181
+ code: "transition-duplicate-component",
182
+ item,
183
+ token,
184
+ message: `"${item}" has more than one transition property`
185
+ };
186
+ }
187
+ property = token;
188
+ continue;
189
+ }
190
+ return {
191
+ code: "transition-invalid-token",
192
+ item,
193
+ token,
194
+ message: `"${token}" is not valid in a CSS transition`
195
+ };
196
+ }
197
+ if (property === "none" && (duration !== void 0 || delay !== void 0 || timingFunction !== void 0 || behavior !== void 0)) {
198
+ return {
199
+ code: "transition-invalid-list",
200
+ item,
201
+ message: "\"none\" cannot be combined with other transition components"
202
+ };
203
+ }
204
+ return {
205
+ property: property ?? "all",
206
+ timing: {
207
+ type: "css",
208
+ duration: duration ?? "0s",
209
+ timingFunction: timingFunction ?? "ease"
210
+ },
211
+ delay: delay ?? "0s",
212
+ behavior: behavior ?? "normal"
213
+ };
214
+ }
215
+ function parseTransition(input, presetNames = noPresetNames) {
216
+ const value = input.trim();
217
+ if (!value) {
218
+ return {
219
+ ok: false,
220
+ diagnostics: [{
221
+ code: "transition-empty-item",
222
+ message: "transition cannot be empty"
223
+ }]
224
+ };
225
+ }
226
+ if (globalValues.has(value)) {
227
+ return {
228
+ ok: true,
229
+ value: {
230
+ kind: "global",
231
+ value
232
+ }
233
+ };
234
+ }
235
+ if (identifierPattern.test(value) && !reservedPresetNames.has(value) && presetNames.has(value)) {
236
+ return {
237
+ ok: true,
238
+ value: {
239
+ kind: "transition",
240
+ entries: [{
241
+ property: "all",
242
+ timing: {
243
+ type: "preset",
244
+ name: value
245
+ },
246
+ delay: "0s",
247
+ behavior: "normal"
248
+ }]
249
+ }
250
+ };
251
+ }
252
+ const items = splitTopLevel(value, ",");
253
+ if (items === null) {
254
+ return {
255
+ ok: false,
256
+ diagnostics: [{
257
+ code: "transition-invalid-token",
258
+ item: value,
259
+ message: `"${value}" is not a balanced CSS transition`
260
+ }]
261
+ };
262
+ }
263
+ const entries = [];
264
+ const diagnostics = [];
265
+ for (const item of items) {
266
+ if (!item) {
267
+ diagnostics.push({
268
+ code: "transition-empty-item",
269
+ message: "transition lists cannot contain an empty item"
270
+ });
271
+ continue;
272
+ }
273
+ const parsed = parseSingleTransition(item);
274
+ if ("code" in parsed) diagnostics.push(parsed);
275
+ else entries.push(parsed);
276
+ }
277
+ let hasNone = false;
278
+ for (let index = 0; index < entries.length; index++) {
279
+ if (entries[index].property === "none") {
280
+ hasNone = true;
281
+ break;
282
+ }
283
+ }
284
+ if (hasNone && entries.length > 1) {
285
+ diagnostics.push({
286
+ code: "transition-invalid-list",
287
+ message: "\"none\" cannot be combined with other transition items"
288
+ });
289
+ }
290
+ return diagnostics.length ? {
291
+ ok: false,
292
+ diagnostics
293
+ } : {
294
+ ok: true,
295
+ value: {
296
+ kind: "transition",
297
+ entries
298
+ }
299
+ };
300
+ }
301
+ function parseLonghandList(value, fallback) {
302
+ if (value === void 0) return [fallback];
303
+ const values = splitTopLevel(value, ",");
304
+ if (!values?.length) return null;
305
+ for (let index = 0; index < values.length; index++) {
306
+ if (!values[index]) return null;
307
+ }
308
+ return values;
309
+ }
310
+ function parseTransitionLonghands(input) {
311
+ const properties = parseLonghandList(input.transitionProperty, "all");
312
+ const durations = parseLonghandList(input.transitionDuration, "0s");
313
+ const timings = parseLonghandList(input.transitionTimingFunction, "ease");
314
+ const delays = parseLonghandList(input.transitionDelay, "0s");
315
+ const behaviors = parseLonghandList(input.transitionBehavior, "normal");
316
+ if (!properties || !durations || !timings || !delays || !behaviors) {
317
+ return {
318
+ ok: false,
319
+ diagnostics: [{
320
+ code: "transition-invalid-list",
321
+ message: "transition longhands must be non-empty comma-separated lists"
322
+ }]
323
+ };
324
+ }
325
+ const entries = [];
326
+ const diagnostics = [];
327
+ for (let index = 0; index < properties.length; index++) {
328
+ const property = properties[index];
329
+ const duration = durations[index % durations.length];
330
+ const timingFunction = timings[index % timings.length];
331
+ const delay = delays[index % delays.length];
332
+ const behavior = behaviors[index % behaviors.length];
333
+ if (globalValues.has(property) || globalValues.has(duration) || globalValues.has(timingFunction) || globalValues.has(delay) || globalValues.has(behavior)) {
334
+ diagnostics.push({
335
+ code: "transition-invalid-list",
336
+ message: "CSS-wide values cannot be mixed into transition longhand lists; use the transition shorthand global value"
337
+ });
338
+ break;
339
+ }
340
+ if (!(identifierPattern.test(property) || /^--[-_a-zA-Z0-9]+$/.test(property))) {
341
+ diagnostics.push({
342
+ code: "transition-invalid-token",
343
+ token: property,
344
+ message: `"${property}" is not a transition property`
345
+ });
346
+ }
347
+ if (!isTime(duration) || Number(duration.match(timePattern)?.[1]) < 0) {
348
+ diagnostics.push({
349
+ code: "transition-invalid-duration",
350
+ token: duration,
351
+ message: `"${duration}" is not a non-negative transition duration`
352
+ });
353
+ }
354
+ if (!isTimingFunction(timingFunction)) {
355
+ diagnostics.push({
356
+ code: "transition-invalid-token",
357
+ token: timingFunction,
358
+ message: `"${timingFunction}" is not a transition timing function`
359
+ });
360
+ }
361
+ if (!isTime(delay)) {
362
+ diagnostics.push({
363
+ code: "transition-invalid-token",
364
+ token: delay,
365
+ message: `"${delay}" is not a transition delay`
366
+ });
367
+ }
368
+ if (!behaviorValues.has(behavior)) {
369
+ diagnostics.push({
370
+ code: "transition-invalid-token",
371
+ token: behavior,
372
+ message: `"${behavior}" is not a transition behavior`
373
+ });
374
+ }
375
+ entries.push({
376
+ property,
377
+ timing: {
378
+ type: "css",
379
+ duration,
380
+ timingFunction
381
+ },
382
+ delay,
383
+ behavior
384
+ });
385
+ }
386
+ let hasNone = false;
387
+ for (let index = 0; index < properties.length; index++) {
388
+ if (properties[index] === "none") {
389
+ hasNone = true;
390
+ break;
391
+ }
392
+ }
393
+ if (hasNone && properties.length > 1) {
394
+ diagnostics.push({
395
+ code: "transition-invalid-list",
396
+ message: "\"none\" cannot be combined with other transition properties"
397
+ });
398
+ }
399
+ return diagnostics.length ? {
400
+ ok: false,
401
+ diagnostics
402
+ } : {
403
+ ok: true,
404
+ value: {
405
+ kind: "transition",
406
+ entries
407
+ }
408
+ };
409
+ }
410
+ function serializeTransition(value) {
411
+ if (value.kind === "global") return value.value;
412
+ if (value.enter || value.exit || value.config) return null;
413
+ for (let index = 0; index < value.entries.length; index++) {
414
+ if (value.entries[index].timing.type === "preset") return null;
415
+ }
416
+ let serialized = "";
417
+ for (let index = 0; index < value.entries.length; index++) {
418
+ const entry = value.entries[index];
419
+ if (index) serialized += ", ";
420
+ if (entry.timing.type !== "css") return null;
421
+ if (entry.property === "none") {
422
+ if (entry.timing.duration !== "0s" || entry.timing.timingFunction !== "ease" || entry.delay !== "0s" || entry.behavior !== "normal") {
423
+ return null;
424
+ }
425
+ serialized += "none";
426
+ continue;
427
+ }
428
+ serialized += `${entry.property} ${entry.timing.duration} ${entry.timing.timingFunction} ${entry.delay} ${entry.behavior}`;
429
+ }
430
+ return serialized;
431
+ }
432
+
433
+ export { parseTransition, parseTransitionLonghands, serializeTransition };
434
+ //# sourceMappingURL=transition.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transition.js","names":[],"sources":["esm/transition.js"],"sourcesContent":["const globalValues = /* @__PURE__ */ new Set([\"inherit\", \"initial\", \"revert\", \"revert-layer\", \"unset\"]);\nconst timingKeywords = /* @__PURE__ */ new Set([\n \"ease\",\n \"linear\",\n \"ease-in\",\n \"ease-out\",\n \"ease-in-out\",\n \"step-start\",\n \"step-end\"\n]);\nconst behaviorValues = /* @__PURE__ */ new Set([\"normal\", \"allow-discrete\"]);\nconst reservedPresetNames = /* @__PURE__ */ new Set([\n ...globalValues,\n ...timingKeywords,\n ...behaviorValues,\n \"all\",\n \"none\"\n]);\nconst noPresetNames = /* @__PURE__ */ new Set();\nconst identifierPattern = /^-?(?:[_a-zA-Z]|[^\\0-\\x7f])(?:[-_a-zA-Z0-9]|[^\\0-\\x7f])*$/;\nconst timePattern = /^([+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+))(ms|s)$/;\nfunction splitTopLevel(input, separator) {\n const values = [];\n let start = 0;\n let depth = 0;\n let quote = \"\";\n for (let index = 0; index < input.length; index++) {\n const character = input[index];\n if (quote) {\n if (character === \"\\\\\") index++;\n else if (character === quote) quote = \"\";\n continue;\n }\n if (character === '\"' || character === \"'\") {\n quote = character;\n continue;\n }\n if (character === \"(\") {\n depth++;\n continue;\n }\n if (character === \")\") {\n depth--;\n if (depth < 0) return null;\n continue;\n }\n if (depth !== 0) continue;\n const matches = separator === \",\" ? character === \",\" : /\\s/.test(character);\n if (!matches) continue;\n const value = input.slice(start, index).trim();\n if (value) values.push(value);\n else if (separator === \",\") values.push(\"\");\n start = index + 1;\n if (separator === \" \") {\n while (start < input.length && /\\s/.test(input[start])) start++;\n index = start - 1;\n }\n }\n if (depth !== 0 || quote) return null;\n values.push(input.slice(start).trim());\n return values;\n}\nfunction isTime(value) {\n return timePattern.test(value);\n}\nfunction isTimingFunction(value) {\n if (timingKeywords.has(value)) return true;\n if (/^cubic-bezier\\(\\s*[^)]+\\s*\\)$/.test(value)) {\n const values = value.slice(value.indexOf(\"(\") + 1, -1).split(\",\");\n if (values.length !== 4) return false;\n const numbers = [];\n for (let index = 0; index < values.length; index++) {\n const number = Number(values[index].trim());\n if (!Number.isFinite(number)) return false;\n numbers.push(number);\n }\n return numbers[0] >= 0 && numbers[0] <= 1 && numbers[2] >= 0 && numbers[2] <= 1;\n }\n if (/^steps\\(\\s*[^)]+\\s*\\)$/.test(value)) {\n const parts = value.slice(value.indexOf(\"(\") + 1, -1).split(\",\");\n if (parts.length > 2) return false;\n const count = Number(parts[0].trim());\n if (!Number.isInteger(count) || count <= 0) return false;\n const position = parts[1]?.trim();\n if (position !== void 0 && !/^(jump-start|jump-end|jump-none|jump-both|start|end)$/.test(position)) {\n return false;\n }\n return position !== \"jump-none\" || count > 1;\n }\n if (/^linear\\(\\s*[^)]+\\s*\\)$/.test(value)) return true;\n return false;\n}\nfunction parseSingleTransition(item) {\n const tokens = splitTopLevel(item, \" \");\n if (tokens === null || tokens.length === 0) {\n return {\n code: \"transition-invalid-token\",\n item,\n message: `\"${item}\" is not a balanced CSS transition`\n };\n }\n for (let index = 0; index < tokens.length; index++) {\n if (!tokens[index]) {\n return {\n code: \"transition-invalid-token\",\n item,\n message: `\"${item}\" is not a balanced CSS transition`\n };\n }\n }\n let property;\n let duration;\n let delay;\n let timingFunction;\n let behavior;\n for (const token of tokens) {\n if (globalValues.has(token)) {\n return {\n code: \"transition-invalid-list\",\n item,\n token,\n message: `CSS-wide value \"${token}\" must be the whole transition`\n };\n }\n if (isTime(token)) {\n if (duration === void 0) {\n if (Number(token.match(timePattern)?.[1]) < 0) {\n return {\n code: \"transition-invalid-duration\",\n item,\n token,\n message: `transition duration \"${token}\" cannot be negative`\n };\n }\n duration = token;\n } else if (delay === void 0) {\n delay = token;\n } else {\n return {\n code: \"transition-duplicate-component\",\n item,\n token,\n message: `\"${item}\" has more than two time values`\n };\n }\n continue;\n }\n if (isTimingFunction(token)) {\n if (timingFunction !== void 0) {\n return {\n code: \"transition-duplicate-component\",\n item,\n token,\n message: `\"${item}\" has more than one timing function`\n };\n }\n timingFunction = token;\n continue;\n }\n if (behaviorValues.has(token)) {\n if (behavior !== void 0) {\n return {\n code: \"transition-duplicate-component\",\n item,\n token,\n message: `\"${item}\" has more than one transition behavior`\n };\n }\n behavior = token;\n continue;\n }\n if (identifierPattern.test(token) || /^--[-_a-zA-Z0-9]+$/.test(token)) {\n if (property !== void 0) {\n return {\n code: \"transition-duplicate-component\",\n item,\n token,\n message: `\"${item}\" has more than one transition property`\n };\n }\n property = token;\n continue;\n }\n return {\n code: \"transition-invalid-token\",\n item,\n token,\n message: `\"${token}\" is not valid in a CSS transition`\n };\n }\n if (property === \"none\" && (duration !== void 0 || delay !== void 0 || timingFunction !== void 0 || behavior !== void 0)) {\n return {\n code: \"transition-invalid-list\",\n item,\n message: '\"none\" cannot be combined with other transition components'\n };\n }\n return {\n property: property ?? \"all\",\n timing: {\n type: \"css\",\n duration: duration ?? \"0s\",\n timingFunction: timingFunction ?? \"ease\"\n },\n delay: delay ?? \"0s\",\n behavior: behavior ?? \"normal\"\n };\n}\nfunction parseTransition(input, presetNames = noPresetNames) {\n const value = input.trim();\n if (!value) {\n return {\n ok: false,\n diagnostics: [\n {\n code: \"transition-empty-item\",\n message: \"transition cannot be empty\"\n }\n ]\n };\n }\n if (globalValues.has(value)) {\n return {\n ok: true,\n value: {\n kind: \"global\",\n value\n }\n };\n }\n if (identifierPattern.test(value) && !reservedPresetNames.has(value) && presetNames.has(value)) {\n return {\n ok: true,\n value: {\n kind: \"transition\",\n entries: [\n {\n property: \"all\",\n timing: { type: \"preset\", name: value },\n delay: \"0s\",\n behavior: \"normal\"\n }\n ]\n }\n };\n }\n const items = splitTopLevel(value, \",\");\n if (items === null) {\n return {\n ok: false,\n diagnostics: [\n {\n code: \"transition-invalid-token\",\n item: value,\n message: `\"${value}\" is not a balanced CSS transition`\n }\n ]\n };\n }\n const entries = [];\n const diagnostics = [];\n for (const item of items) {\n if (!item) {\n diagnostics.push({\n code: \"transition-empty-item\",\n message: \"transition lists cannot contain an empty item\"\n });\n continue;\n }\n const parsed = parseSingleTransition(item);\n if (\"code\" in parsed) diagnostics.push(parsed);\n else entries.push(parsed);\n }\n let hasNone = false;\n for (let index = 0; index < entries.length; index++) {\n if (entries[index].property === \"none\") {\n hasNone = true;\n break;\n }\n }\n if (hasNone && entries.length > 1) {\n diagnostics.push({\n code: \"transition-invalid-list\",\n message: '\"none\" cannot be combined with other transition items'\n });\n }\n return diagnostics.length ? { ok: false, diagnostics } : { ok: true, value: { kind: \"transition\", entries } };\n}\nfunction parseLonghandList(value, fallback) {\n if (value === void 0) return [fallback];\n const values = splitTopLevel(value, \",\");\n if (!values?.length) return null;\n for (let index = 0; index < values.length; index++) {\n if (!values[index]) return null;\n }\n return values;\n}\nfunction parseTransitionLonghands(input) {\n const properties = parseLonghandList(input.transitionProperty, \"all\");\n const durations = parseLonghandList(input.transitionDuration, \"0s\");\n const timings = parseLonghandList(input.transitionTimingFunction, \"ease\");\n const delays = parseLonghandList(input.transitionDelay, \"0s\");\n const behaviors = parseLonghandList(input.transitionBehavior, \"normal\");\n if (!properties || !durations || !timings || !delays || !behaviors) {\n return {\n ok: false,\n diagnostics: [\n {\n code: \"transition-invalid-list\",\n message: \"transition longhands must be non-empty comma-separated lists\"\n }\n ]\n };\n }\n const entries = [];\n const diagnostics = [];\n for (let index = 0; index < properties.length; index++) {\n const property = properties[index];\n const duration = durations[index % durations.length];\n const timingFunction = timings[index % timings.length];\n const delay = delays[index % delays.length];\n const behavior = behaviors[index % behaviors.length];\n if (globalValues.has(property) || globalValues.has(duration) || globalValues.has(timingFunction) || globalValues.has(delay) || globalValues.has(behavior)) {\n diagnostics.push({\n code: \"transition-invalid-list\",\n message: \"CSS-wide values cannot be mixed into transition longhand lists; use the transition shorthand global value\"\n });\n break;\n }\n if (!(identifierPattern.test(property) || /^--[-_a-zA-Z0-9]+$/.test(property))) {\n diagnostics.push({\n code: \"transition-invalid-token\",\n token: property,\n message: `\"${property}\" is not a transition property`\n });\n }\n if (!isTime(duration) || Number(duration.match(timePattern)?.[1]) < 0) {\n diagnostics.push({\n code: \"transition-invalid-duration\",\n token: duration,\n message: `\"${duration}\" is not a non-negative transition duration`\n });\n }\n if (!isTimingFunction(timingFunction)) {\n diagnostics.push({\n code: \"transition-invalid-token\",\n token: timingFunction,\n message: `\"${timingFunction}\" is not a transition timing function`\n });\n }\n if (!isTime(delay)) {\n diagnostics.push({\n code: \"transition-invalid-token\",\n token: delay,\n message: `\"${delay}\" is not a transition delay`\n });\n }\n if (!behaviorValues.has(behavior)) {\n diagnostics.push({\n code: \"transition-invalid-token\",\n token: behavior,\n message: `\"${behavior}\" is not a transition behavior`\n });\n }\n entries.push({\n property,\n timing: { type: \"css\", duration, timingFunction },\n delay,\n behavior\n });\n }\n let hasNone = false;\n for (let index = 0; index < properties.length; index++) {\n if (properties[index] === \"none\") {\n hasNone = true;\n break;\n }\n }\n if (hasNone && properties.length > 1) {\n diagnostics.push({\n code: \"transition-invalid-list\",\n message: '\"none\" cannot be combined with other transition properties'\n });\n }\n return diagnostics.length ? { ok: false, diagnostics } : { ok: true, value: { kind: \"transition\", entries } };\n}\nfunction serializeTransition(value) {\n if (value.kind === \"global\") return value.value;\n if (value.enter || value.exit || value.config) return null;\n for (let index = 0; index < value.entries.length; index++) {\n if (value.entries[index].timing.type === \"preset\") return null;\n }\n let serialized = \"\";\n for (let index = 0; index < value.entries.length; index++) {\n const entry = value.entries[index];\n if (index) serialized += \", \";\n if (entry.timing.type !== \"css\") return null;\n if (entry.property === \"none\") {\n if (entry.timing.duration !== \"0s\" || entry.timing.timingFunction !== \"ease\" || entry.delay !== \"0s\" || entry.behavior !== \"normal\") {\n return null;\n }\n serialized += \"none\";\n continue;\n }\n serialized += `${entry.property} ${entry.timing.duration} ${entry.timing.timingFunction} ${entry.delay} ${entry.behavior}`;\n }\n return serialized;\n}\nexport {\n parseTransition,\n parseTransitionLonghands,\n serializeTransition\n};\n//# sourceMappingURL=transition.js.map\n"],"mappings":"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"}