@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,42 @@
1
+ "use strict";
2
+
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all) __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true
12
+ });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
+ get: () => from[key],
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
21
+ return to;
22
+ };
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+ var valueTypes_exports = {};
25
+ __export(valueTypes_exports, {
26
+ grammarMaxNonPlatformDepth: () => grammarMaxNonPlatformDepth,
27
+ reservedCssIdents: () => reservedCssIdents
28
+ });
29
+ module.exports = __toCommonJS(valueTypes_exports);
30
+ var grammarMaxNonPlatformDepth = 5;
31
+ var reservedCssIdents = /* @__PURE__ */ new Set([
32
+ "inherit",
33
+ "initial",
34
+ "unset",
35
+ "revert",
36
+ "none",
37
+ "auto",
38
+ "transparent",
39
+ "currentColor"
40
+ ]);
41
+
42
+ //# sourceMappingURL=valueTypes.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valueTypes.native.js","names":[],"sources":["cjs/valueTypes.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar valueTypes_exports = {};\n__export(valueTypes_exports, {\n grammarMaxNonPlatformDepth: () => grammarMaxNonPlatformDepth,\n reservedCssIdents: () => reservedCssIdents\n});\nmodule.exports = __toCommonJS(valueTypes_exports);\nvar grammarMaxNonPlatformDepth = 5;\nvar reservedCssIdents = /* @__PURE__ */ new Set([\n \"inherit\",\n \"initial\",\n \"unset\",\n \"revert\",\n \"none\",\n \"auto\",\n \"transparent\",\n \"currentColor\"\n]);\n//# sourceMappingURL=valueTypes.js.map\n"],"mappings":";;;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,qBAAqB,CAAC;AAC1B,SAAS,oBAAoB;CAC3B,kCAAkC;CAClC,yBAAyB;AAC3B,CAAC;AACD,OAAO,UAAU,aAAa,kBAAkB;AAChD,IAAI,6BAA6B;AACjC,IAAI,oCAAoC,IAAI,IAAI;CAC9C;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC"}
@@ -0,0 +1,150 @@
1
+ const namedCssColors = new Set("aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen".split(" "));
2
+ const colorFunctions = /* @__PURE__ */ new Set([
3
+ "rgb",
4
+ "rgba",
5
+ "hsl",
6
+ "hsla",
7
+ "hwb",
8
+ "lab",
9
+ "lch",
10
+ "oklab",
11
+ "oklch",
12
+ "color"
13
+ ]);
14
+ function splitTopLevelComponents(value) {
15
+ const components = [];
16
+ let current = "";
17
+ let depth = 0;
18
+ let quote = "";
19
+ let escaped = false;
20
+ for (let index = 0; index < value.length; index++) {
21
+ const char = value[index];
22
+ if (escaped) {
23
+ current += char;
24
+ escaped = false;
25
+ continue;
26
+ }
27
+ if (char === "\\") {
28
+ current += char;
29
+ escaped = true;
30
+ continue;
31
+ }
32
+ if (quote) {
33
+ current += char;
34
+ if (char === quote) quote = "";
35
+ continue;
36
+ }
37
+ if (char === "\"" || char === "'") {
38
+ current += char;
39
+ quote = char;
40
+ continue;
41
+ }
42
+ if (char === "(") depth++;
43
+ if (char === ")") depth--;
44
+ const code = value.charCodeAt(index);
45
+ const whitespace = code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
46
+ if (depth === 0 && whitespace) {
47
+ if (current) {
48
+ components.push(current);
49
+ current = "";
50
+ }
51
+ } else {
52
+ current += char;
53
+ }
54
+ }
55
+ if (current) components.push(current);
56
+ return components;
57
+ }
58
+ function classifyComponent(component, colorTokens) {
59
+ const functionMatch = /^([a-z][a-z0-9-]*)\([\s\S]*\)$/i.exec(component);
60
+ if (functionMatch) {
61
+ const name = functionMatch[1].toLowerCase();
62
+ if (name === "url" || name === "image-set" || name.endsWith("-gradient")) {
63
+ return "image";
64
+ }
65
+ if (colorFunctions.has(name)) return "color";
66
+ }
67
+ if (/^#[\da-f]{3}(?:[\da-f]{1}|[\da-f]{3}(?:[\da-f]{2})?)?$/i.test(component)) {
68
+ return "color";
69
+ }
70
+ const tokenName = component.replace(/\/\d+$/, "");
71
+ if (colorTokens.has(tokenName)) return "color";
72
+ const lower = component.toLowerCase();
73
+ if (lower === "transparent" || lower === "currentcolor" || namedCssColors.has(lower)) {
74
+ return "color";
75
+ }
76
+ return null;
77
+ }
78
+ function splitBackgroundValue(value, colorTokens) {
79
+ const colorProgram = {
80
+ base: null,
81
+ clauses: []
82
+ };
83
+ const imageProgram = {
84
+ base: null,
85
+ clauses: []
86
+ };
87
+ const errors = [];
88
+ let hasColor = false;
89
+ let hasImage = false;
90
+ for (let clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {
91
+ const isBase = clauseIndex === -1;
92
+ const payload = isBase ? value.base : value.clauses[clauseIndex].payload;
93
+ if (payload === null) continue;
94
+ let colorComponent = null;
95
+ let imageComponent = null;
96
+ const where = isBase ? "base" : clauseIndex;
97
+ for (const component of splitTopLevelComponents(payload)) {
98
+ const kind = classifyComponent(component, colorTokens);
99
+ if (kind === "image" && imageComponent === null) {
100
+ imageComponent = component;
101
+ } else if (kind === "color" && colorComponent === null) {
102
+ colorComponent = component;
103
+ } else {
104
+ errors.push({
105
+ code: "unsupported-bg-component",
106
+ component,
107
+ where
108
+ });
109
+ }
110
+ }
111
+ if (colorComponent !== null) {
112
+ hasColor = true;
113
+ if (isBase) {
114
+ colorProgram.base = colorComponent;
115
+ } else {
116
+ colorProgram.clauses.push({
117
+ modifiers: value.clauses[clauseIndex].modifiers,
118
+ payload: colorComponent
119
+ });
120
+ }
121
+ }
122
+ if (imageComponent !== null) {
123
+ hasImage = true;
124
+ if (isBase) {
125
+ imageProgram.base = imageComponent;
126
+ } else {
127
+ imageProgram.clauses.push({
128
+ modifiers: value.clauses[clauseIndex].modifiers,
129
+ payload: imageComponent
130
+ });
131
+ }
132
+ }
133
+ }
134
+ const entries = [];
135
+ if (hasColor) entries.push({
136
+ property: "backgroundColor",
137
+ value: colorProgram
138
+ });
139
+ if (hasImage) entries.push({
140
+ property: "backgroundImage",
141
+ value: imageProgram
142
+ });
143
+ return {
144
+ entries,
145
+ errors
146
+ };
147
+ }
148
+
149
+ export { classifyComponent, namedCssColors, splitBackgroundValue, splitTopLevelComponents };
150
+ //# sourceMappingURL=backgroundFamily.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundFamily.js","names":[],"sources":["esm/backgroundFamily.js"],"sourcesContent":["const namedCssColors = new Set(\n \"aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen\".split(\n \" \"\n )\n);\nconst colorFunctions = /* @__PURE__ */ new Set([\n \"rgb\",\n \"rgba\",\n \"hsl\",\n \"hsla\",\n \"hwb\",\n \"lab\",\n \"lch\",\n \"oklab\",\n \"oklch\",\n \"color\"\n]);\nfunction splitTopLevelComponents(value) {\n const components = [];\n let current = \"\";\n let depth = 0;\n let quote = \"\";\n let escaped = false;\n for (let index = 0; index < value.length; index++) {\n const char = value[index];\n if (escaped) {\n current += char;\n escaped = false;\n continue;\n }\n if (char === \"\\\\\") {\n current += char;\n escaped = true;\n continue;\n }\n if (quote) {\n current += char;\n if (char === quote) quote = \"\";\n continue;\n }\n if (char === '\"' || char === \"'\") {\n current += char;\n quote = char;\n continue;\n }\n if (char === \"(\") depth++;\n if (char === \")\") depth--;\n const code = value.charCodeAt(index);\n const whitespace = code === 9 || code === 10 || code === 12 || code === 13 || code === 32;\n if (depth === 0 && whitespace) {\n if (current) {\n components.push(current);\n current = \"\";\n }\n } else {\n current += char;\n }\n }\n if (current) components.push(current);\n return components;\n}\nfunction classifyComponent(component, colorTokens) {\n const functionMatch = /^([a-z][a-z0-9-]*)\\([\\s\\S]*\\)$/i.exec(component);\n if (functionMatch) {\n const name = functionMatch[1].toLowerCase();\n if (name === \"url\" || name === \"image-set\" || name.endsWith(\"-gradient\")) {\n return \"image\";\n }\n if (colorFunctions.has(name)) return \"color\";\n }\n if (/^#[\\da-f]{3}(?:[\\da-f]{1}|[\\da-f]{3}(?:[\\da-f]{2})?)?$/i.test(component)) {\n return \"color\";\n }\n const tokenName = component.replace(/\\/\\d+$/, \"\");\n if (colorTokens.has(tokenName)) return \"color\";\n const lower = component.toLowerCase();\n if (lower === \"transparent\" || lower === \"currentcolor\" || namedCssColors.has(lower)) {\n return \"color\";\n }\n return null;\n}\nfunction splitBackgroundValue(value, colorTokens) {\n const colorProgram = {\n base: null,\n clauses: []\n };\n const imageProgram = {\n base: null,\n clauses: []\n };\n const errors = [];\n let hasColor = false;\n let hasImage = false;\n for (let clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {\n const isBase = clauseIndex === -1;\n const payload = isBase ? value.base : value.clauses[clauseIndex].payload;\n if (payload === null) continue;\n let colorComponent = null;\n let imageComponent = null;\n const where = isBase ? \"base\" : clauseIndex;\n for (const component of splitTopLevelComponents(payload)) {\n const kind = classifyComponent(component, colorTokens);\n if (kind === \"image\" && imageComponent === null) {\n imageComponent = component;\n } else if (kind === \"color\" && colorComponent === null) {\n colorComponent = component;\n } else {\n errors.push({ code: \"unsupported-bg-component\", component, where });\n }\n }\n if (colorComponent !== null) {\n hasColor = true;\n if (isBase) {\n colorProgram.base = colorComponent;\n } else {\n colorProgram.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: colorComponent\n });\n }\n }\n if (imageComponent !== null) {\n hasImage = true;\n if (isBase) {\n imageProgram.base = imageComponent;\n } else {\n imageProgram.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: imageComponent\n });\n }\n }\n }\n const entries = [];\n if (hasColor) entries.push({ property: \"backgroundColor\", value: colorProgram });\n if (hasImage) entries.push({ property: \"backgroundImage\", value: imageProgram });\n return { entries, errors };\n}\nexport {\n classifyComponent,\n namedCssColors,\n splitBackgroundValue,\n splitTopLevelComponents\n};\n//# sourceMappingURL=backgroundFamily.js.map\n"],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ var namedCssColors = new Set("aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen".split(" "));
2
+ var colorFunctions = /* @__PURE__ */ new Set([
3
+ "rgb",
4
+ "rgba",
5
+ "hsl",
6
+ "hsla",
7
+ "hwb",
8
+ "lab",
9
+ "lch",
10
+ "oklab",
11
+ "oklch",
12
+ "color"
13
+ ]);
14
+ function splitTopLevelComponents(value) {
15
+ var components = [];
16
+ var current = "";
17
+ var depth = 0;
18
+ var quote = "";
19
+ var escaped = false;
20
+ for (var index = 0; index < value.length; index++) {
21
+ var char = value[index];
22
+ if (escaped) {
23
+ current += char;
24
+ escaped = false;
25
+ continue;
26
+ }
27
+ if (char === "\\") {
28
+ current += char;
29
+ escaped = true;
30
+ continue;
31
+ }
32
+ if (quote) {
33
+ current += char;
34
+ if (char === quote) quote = "";
35
+ continue;
36
+ }
37
+ if (char === "\"" || char === "'") {
38
+ current += char;
39
+ quote = char;
40
+ continue;
41
+ }
42
+ if (char === "(") depth++;
43
+ if (char === ")") depth--;
44
+ var code = value.charCodeAt(index);
45
+ var whitespace = code === 9 || code === 10 || code === 12 || code === 13 || code === 32;
46
+ if (depth === 0 && whitespace) {
47
+ if (current) {
48
+ components.push(current);
49
+ current = "";
50
+ }
51
+ } else {
52
+ current += char;
53
+ }
54
+ }
55
+ if (current) components.push(current);
56
+ return components;
57
+ }
58
+ function classifyComponent(component, colorTokens) {
59
+ var functionMatch = /^([a-z][a-z0-9-]*)\([\s\S]*\)$/i.exec(component);
60
+ if (functionMatch) {
61
+ var name = functionMatch[1].toLowerCase();
62
+ if (name === "url" || name === "image-set" || name.endsWith("-gradient")) {
63
+ return "image";
64
+ }
65
+ if (colorFunctions.has(name)) return "color";
66
+ }
67
+ if (/^#[\da-f]{3}(?:[\da-f]{1}|[\da-f]{3}(?:[\da-f]{2})?)?$/i.test(component)) {
68
+ return "color";
69
+ }
70
+ var tokenName = component.replace(/\/\d+$/, "");
71
+ if (colorTokens.has(tokenName)) return "color";
72
+ var lower = component.toLowerCase();
73
+ if (lower === "transparent" || lower === "currentcolor" || namedCssColors.has(lower)) {
74
+ return "color";
75
+ }
76
+ return null;
77
+ }
78
+ function splitBackgroundValue(value, colorTokens) {
79
+ var colorProgram = {
80
+ base: null,
81
+ clauses: []
82
+ };
83
+ var imageProgram = {
84
+ base: null,
85
+ clauses: []
86
+ };
87
+ var errors = [];
88
+ var hasColor = false;
89
+ var hasImage = false;
90
+ for (var clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {
91
+ var isBase = clauseIndex === -1;
92
+ var payload = isBase ? value.base : value.clauses[clauseIndex].payload;
93
+ if (payload === null) continue;
94
+ var colorComponent = null;
95
+ var imageComponent = null;
96
+ var where = isBase ? "base" : clauseIndex;
97
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
98
+ try {
99
+ for (var _iterator = splitTopLevelComponents(payload)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
100
+ var component = _step.value;
101
+ var kind = classifyComponent(component, colorTokens);
102
+ if (kind === "image" && imageComponent === null) {
103
+ imageComponent = component;
104
+ } else if (kind === "color" && colorComponent === null) {
105
+ colorComponent = component;
106
+ } else {
107
+ errors.push({
108
+ code: "unsupported-bg-component",
109
+ component,
110
+ where
111
+ });
112
+ }
113
+ }
114
+ } catch (err) {
115
+ _didIteratorError = true;
116
+ _iteratorError = err;
117
+ } finally {
118
+ try {
119
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
120
+ _iterator.return();
121
+ }
122
+ } finally {
123
+ if (_didIteratorError) {
124
+ throw _iteratorError;
125
+ }
126
+ }
127
+ }
128
+ if (colorComponent !== null) {
129
+ hasColor = true;
130
+ if (isBase) {
131
+ colorProgram.base = colorComponent;
132
+ } else {
133
+ colorProgram.clauses.push({
134
+ modifiers: value.clauses[clauseIndex].modifiers,
135
+ payload: colorComponent
136
+ });
137
+ }
138
+ }
139
+ if (imageComponent !== null) {
140
+ hasImage = true;
141
+ if (isBase) {
142
+ imageProgram.base = imageComponent;
143
+ } else {
144
+ imageProgram.clauses.push({
145
+ modifiers: value.clauses[clauseIndex].modifiers,
146
+ payload: imageComponent
147
+ });
148
+ }
149
+ }
150
+ }
151
+ var entries = [];
152
+ if (hasColor) entries.push({
153
+ property: "backgroundColor",
154
+ value: colorProgram
155
+ });
156
+ if (hasImage) entries.push({
157
+ property: "backgroundImage",
158
+ value: imageProgram
159
+ });
160
+ return {
161
+ entries,
162
+ errors
163
+ };
164
+ }
165
+
166
+ export { classifyComponent, namedCssColors, splitBackgroundValue, splitTopLevelComponents };
167
+ //# sourceMappingURL=backgroundFamily.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backgroundFamily.native.js","names":[],"sources":["esm/backgroundFamily.native.js"],"sourcesContent":["var namedCssColors = new Set(\"aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan darkblue darkcyan darkgoldenrod darkgray darkgreen darkgrey darkkhaki darkmagenta darkolivegreen darkorange darkorchid darkred darksalmon darkseagreen darkslateblue darkslategray darkslategrey darkturquoise darkviolet deeppink deepskyblue dimgray dimgrey dodgerblue firebrick floralwhite forestgreen fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen\".split(\" \"));\nvar colorFunctions = /* @__PURE__ */ new Set([\n \"rgb\",\n \"rgba\",\n \"hsl\",\n \"hsla\",\n \"hwb\",\n \"lab\",\n \"lch\",\n \"oklab\",\n \"oklch\",\n \"color\"\n]);\nfunction splitTopLevelComponents(value) {\n var components = [];\n var current = \"\";\n var depth = 0;\n var quote = \"\";\n var escaped = false;\n for (var index = 0; index < value.length; index++) {\n var char = value[index];\n if (escaped) {\n current += char;\n escaped = false;\n continue;\n }\n if (char === \"\\\\\") {\n current += char;\n escaped = true;\n continue;\n }\n if (quote) {\n current += char;\n if (char === quote) quote = \"\";\n continue;\n }\n if (char === '\"' || char === \"'\") {\n current += char;\n quote = char;\n continue;\n }\n if (char === \"(\") depth++;\n if (char === \")\") depth--;\n var code = value.charCodeAt(index);\n var whitespace = code === 9 || code === 10 || code === 12 || code === 13 || code === 32;\n if (depth === 0 && whitespace) {\n if (current) {\n components.push(current);\n current = \"\";\n }\n } else {\n current += char;\n }\n }\n if (current) components.push(current);\n return components;\n}\nfunction classifyComponent(component, colorTokens) {\n var functionMatch = /^([a-z][a-z0-9-]*)\\([\\s\\S]*\\)$/i.exec(component);\n if (functionMatch) {\n var name = functionMatch[1].toLowerCase();\n if (name === \"url\" || name === \"image-set\" || name.endsWith(\"-gradient\")) {\n return \"image\";\n }\n if (colorFunctions.has(name)) return \"color\";\n }\n if (/^#[\\da-f]{3}(?:[\\da-f]{1}|[\\da-f]{3}(?:[\\da-f]{2})?)?$/i.test(component)) {\n return \"color\";\n }\n var tokenName = component.replace(/\\/\\d+$/, \"\");\n if (colorTokens.has(tokenName)) return \"color\";\n var lower = component.toLowerCase();\n if (lower === \"transparent\" || lower === \"currentcolor\" || namedCssColors.has(lower)) {\n return \"color\";\n }\n return null;\n}\nfunction splitBackgroundValue(value, colorTokens) {\n var colorProgram = {\n base: null,\n clauses: []\n };\n var imageProgram = {\n base: null,\n clauses: []\n };\n var errors = [];\n var hasColor = false;\n var hasImage = false;\n for (var clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {\n var isBase = clauseIndex === -1;\n var payload = isBase ? value.base : value.clauses[clauseIndex].payload;\n if (payload === null) continue;\n var colorComponent = null;\n var imageComponent = null;\n var where = isBase ? \"base\" : clauseIndex;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = splitTopLevelComponents(payload)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n var kind = classifyComponent(component, colorTokens);\n if (kind === \"image\" && imageComponent === null) {\n imageComponent = component;\n } else if (kind === \"color\" && colorComponent === null) {\n colorComponent = component;\n } else {\n errors.push({\n code: \"unsupported-bg-component\",\n component,\n where\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n if (colorComponent !== null) {\n hasColor = true;\n if (isBase) {\n colorProgram.base = colorComponent;\n } else {\n colorProgram.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: colorComponent\n });\n }\n }\n if (imageComponent !== null) {\n hasImage = true;\n if (isBase) {\n imageProgram.base = imageComponent;\n } else {\n imageProgram.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: imageComponent\n });\n }\n }\n }\n var entries = [];\n if (hasColor) entries.push({\n property: \"backgroundColor\",\n value: colorProgram\n });\n if (hasImage) entries.push({\n property: \"backgroundImage\",\n value: imageProgram\n });\n return {\n entries,\n errors\n };\n}\nexport {\n classifyComponent,\n namedCssColors,\n splitBackgroundValue,\n splitTopLevelComponents\n};\n//# sourceMappingURL=backgroundFamily.js.map\n"],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ import { classifyComponent, splitTopLevelComponents } from "./backgroundFamily.mjs";
2
+
3
+ const sides = [
4
+ "Top",
5
+ "Right",
6
+ "Bottom",
7
+ "Left"
8
+ ];
9
+ const borderFamilyTargets = {
10
+ border: {
11
+ width: sides.map((side) => `border${side}Width`),
12
+ style: sides.map((side) => `border${side}Style`),
13
+ color: sides.map((side) => `border${side}Color`)
14
+ },
15
+ ...Object.fromEntries(sides.map((side) => [`border${side}`, {
16
+ width: [`border${side}Width`],
17
+ style: [`border${side}Style`],
18
+ color: [`border${side}Color`]
19
+ }])),
20
+ outline: {
21
+ width: ["outlineWidth"],
22
+ style: ["outlineStyle"],
23
+ color: ["outlineColor"]
24
+ },
25
+ borderBlock: {
26
+ width: ["borderBlockStartWidth", "borderBlockEndWidth"],
27
+ style: ["borderBlockStartStyle", "borderBlockEndStyle"],
28
+ color: ["borderBlockStartColor", "borderBlockEndColor"]
29
+ },
30
+ borderInline: {
31
+ width: ["borderInlineStartWidth", "borderInlineEndWidth"],
32
+ style: ["borderInlineStartStyle", "borderInlineEndStyle"],
33
+ color: ["borderInlineStartColor", "borderInlineEndColor"]
34
+ }
35
+ };
36
+ const lineStyles = /* @__PURE__ */ new Set([
37
+ "none",
38
+ "hidden",
39
+ "dotted",
40
+ "dashed",
41
+ "solid",
42
+ "double",
43
+ "groove",
44
+ "ridge",
45
+ "inset",
46
+ "outset"
47
+ ]);
48
+ const widthKeywords = /* @__PURE__ */ new Set([
49
+ "thin",
50
+ "medium",
51
+ "thick"
52
+ ]);
53
+ const lengthPattern = /^-?(\d+\.?\d*|\.\d+)([a-z%]+)?$/i;
54
+ function classifyBorderComponent(component, property, colorTokens) {
55
+ const lower = component.toLowerCase();
56
+ if (lineStyles.has(lower)) return "style";
57
+ if (lower === "auto" && property === "outline") return "style";
58
+ if (widthKeywords.has(lower) || lengthPattern.test(component)) return "width";
59
+ if (classifyComponent(component, colorTokens) === "color") return "color";
60
+ if (/^(calc|var|min|max|clamp)\(/i.test(component)) return "width";
61
+ return null;
62
+ }
63
+ function splitBorderValue(property, value, colorTokens) {
64
+ const targets = borderFamilyTargets[property];
65
+ const errors = [];
66
+ const kinds = [
67
+ "width",
68
+ "style",
69
+ "color"
70
+ ];
71
+ const programs = {
72
+ width: {
73
+ base: null,
74
+ clauses: [],
75
+ present: false
76
+ },
77
+ style: {
78
+ base: null,
79
+ clauses: [],
80
+ present: false
81
+ },
82
+ color: {
83
+ base: null,
84
+ clauses: [],
85
+ present: false
86
+ }
87
+ };
88
+ for (let clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {
89
+ const isBase = clauseIndex === -1;
90
+ const payload = isBase ? value.base : value.clauses[clauseIndex].payload;
91
+ if (payload === null) continue;
92
+ const where = isBase ? "base" : clauseIndex;
93
+ const found = {};
94
+ for (const component of splitTopLevelComponents(payload)) {
95
+ const kind = classifyBorderComponent(component, property, colorTokens);
96
+ if (kind === null || found[kind] !== void 0) {
97
+ errors.push({
98
+ code: "unsupported-border-component",
99
+ component,
100
+ where
101
+ });
102
+ continue;
103
+ }
104
+ found[kind] = component;
105
+ }
106
+ if (found.style === "none" && found.width === void 0) {
107
+ found.width = "0";
108
+ }
109
+ for (const kind of kinds) {
110
+ const component = found[kind];
111
+ if (component === void 0) continue;
112
+ const program = programs[kind];
113
+ program.present = true;
114
+ if (isBase) {
115
+ program.base = component;
116
+ } else {
117
+ program.clauses.push({
118
+ modifiers: value.clauses[clauseIndex].modifiers,
119
+ payload: component
120
+ });
121
+ }
122
+ }
123
+ }
124
+ const entries = [];
125
+ for (const kind of kinds) {
126
+ const program = programs[kind];
127
+ if (!program.present) continue;
128
+ const shared = {
129
+ base: program.base,
130
+ clauses: program.clauses
131
+ };
132
+ for (const longhand of targets[kind]) {
133
+ entries.push({
134
+ property: longhand,
135
+ value: shared
136
+ });
137
+ }
138
+ }
139
+ return {
140
+ entries,
141
+ errors
142
+ };
143
+ }
144
+
145
+ export { borderFamilyTargets, splitBorderValue };
146
+ //# sourceMappingURL=borderFamily.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"borderFamily.js","names":[],"sources":["esm/borderFamily.js"],"sourcesContent":["import { classifyComponent, splitTopLevelComponents } from \"./backgroundFamily\";\nconst sides = [\"Top\", \"Right\", \"Bottom\", \"Left\"];\nconst borderFamilyTargets = {\n border: {\n width: sides.map((side) => `border${side}Width`),\n style: sides.map((side) => `border${side}Style`),\n color: sides.map((side) => `border${side}Color`)\n },\n ...Object.fromEntries(\n sides.map((side) => [\n `border${side}`,\n {\n width: [`border${side}Width`],\n style: [`border${side}Style`],\n color: [`border${side}Color`]\n }\n ])\n ),\n outline: {\n width: [\"outlineWidth\"],\n style: [\"outlineStyle\"],\n color: [\"outlineColor\"]\n },\n // logical shorthands split into CSS logical longhands. web lowers them\n // verbatim; RN has no logical block/inline border properties, so native\n // evaluation diagnoses and drops these longhands (no silent physical\n // approximation — the mapping depends on writing mode)\n borderBlock: {\n width: [\"borderBlockStartWidth\", \"borderBlockEndWidth\"],\n style: [\"borderBlockStartStyle\", \"borderBlockEndStyle\"],\n color: [\"borderBlockStartColor\", \"borderBlockEndColor\"]\n },\n borderInline: {\n width: [\"borderInlineStartWidth\", \"borderInlineEndWidth\"],\n style: [\"borderInlineStartStyle\", \"borderInlineEndStyle\"],\n color: [\"borderInlineStartColor\", \"borderInlineEndColor\"]\n }\n};\nconst lineStyles = /* @__PURE__ */ new Set([\n \"none\",\n \"hidden\",\n \"dotted\",\n \"dashed\",\n \"solid\",\n \"double\",\n \"groove\",\n \"ridge\",\n \"inset\",\n \"outset\"\n]);\nconst widthKeywords = /* @__PURE__ */ new Set([\"thin\", \"medium\", \"thick\"]);\nconst lengthPattern = /^-?(\\d+\\.?\\d*|\\.\\d+)([a-z%]+)?$/i;\nfunction classifyBorderComponent(component, property, colorTokens) {\n const lower = component.toLowerCase();\n if (lineStyles.has(lower)) return \"style\";\n if (lower === \"auto\" && property === \"outline\") return \"style\";\n if (widthKeywords.has(lower) || lengthPattern.test(component)) return \"width\";\n if (classifyComponent(component, colorTokens) === \"color\") return \"color\";\n if (/^(calc|var|min|max|clamp)\\(/i.test(component)) return \"width\";\n return null;\n}\nfunction splitBorderValue(property, value, colorTokens) {\n const targets = borderFamilyTargets[property];\n const errors = [];\n const kinds = [\"width\", \"style\", \"color\"];\n const programs = {\n width: { base: null, clauses: [], present: false },\n style: { base: null, clauses: [], present: false },\n color: { base: null, clauses: [], present: false }\n };\n for (let clauseIndex = -1; clauseIndex < value.clauses.length; clauseIndex++) {\n const isBase = clauseIndex === -1;\n const payload = isBase ? value.base : value.clauses[clauseIndex].payload;\n if (payload === null) continue;\n const where = isBase ? \"base\" : clauseIndex;\n const found = {};\n for (const component of splitTopLevelComponents(payload)) {\n const kind = classifyBorderComponent(component, property, colorTokens);\n if (kind === null || found[kind] !== void 0) {\n errors.push({ code: \"unsupported-border-component\", component, where });\n continue;\n }\n found[kind] = component;\n }\n if (found.style === \"none\" && found.width === void 0) {\n found.width = \"0\";\n }\n for (const kind of kinds) {\n const component = found[kind];\n if (component === void 0) continue;\n const program = programs[kind];\n program.present = true;\n if (isBase) {\n program.base = component;\n } else {\n program.clauses.push({\n modifiers: value.clauses[clauseIndex].modifiers,\n payload: component\n });\n }\n }\n }\n const entries = [];\n for (const kind of kinds) {\n const program = programs[kind];\n if (!program.present) continue;\n const shared = { base: program.base, clauses: program.clauses };\n for (const longhand of targets[kind]) {\n entries.push({ property: longhand, value: shared });\n }\n }\n return { entries, errors };\n}\nexport {\n borderFamilyTargets,\n splitBorderValue\n};\n//# sourceMappingURL=borderFamily.js.map\n"],"mappings":";;;AACA,MAAM,QAAQ;CAAC;CAAO;CAAS;CAAU;AAAM;AAC/C,MAAM,sBAAsB;CAC1B,QAAQ;EACN,OAAO,MAAM,KAAK,SAAS,SAAS,KAAK,MAAM;EAC/C,OAAO,MAAM,KAAK,SAAS,SAAS,KAAK,MAAM;EAC/C,OAAO,MAAM,KAAK,SAAS,SAAS,KAAK,MAAM;CACjD;CACA,GAAG,OAAO,YACR,MAAM,KAAK,SAAS,CAClB,SAAS,QACT;EACE,OAAO,CAAC,SAAS,KAAK,MAAM;EAC5B,OAAO,CAAC,SAAS,KAAK,MAAM;EAC5B,OAAO,CAAC,SAAS,KAAK,MAAM;CAC9B,CACF,CAAC,CACH;CACA,SAAS;EACP,OAAO,CAAC,cAAc;EACtB,OAAO,CAAC,cAAc;EACtB,OAAO,CAAC,cAAc;CACxB;CAKA,aAAa;EACX,OAAO,CAAC,yBAAyB,qBAAqB;EACtD,OAAO,CAAC,yBAAyB,qBAAqB;EACtD,OAAO,CAAC,yBAAyB,qBAAqB;CACxD;CACA,cAAc;EACZ,OAAO,CAAC,0BAA0B,sBAAsB;EACxD,OAAO,CAAC,0BAA0B,sBAAsB;EACxD,OAAO,CAAC,0BAA0B,sBAAsB;CAC1D;AACF;AACA,MAAM,6BAA6B,IAAI,IAAI;CACzC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AACD,MAAM,gCAAgC,IAAI,IAAI;CAAC;CAAQ;CAAU;AAAO,CAAC;AACzE,MAAM,gBAAgB;AACtB,SAAS,wBAAwB,WAAW,UAAU,aAAa;CACjE,MAAM,QAAQ,UAAU,YAAY;CACpC,IAAI,WAAW,IAAI,KAAK,GAAG,OAAO;CAClC,IAAI,UAAU,UAAU,aAAa,WAAW,OAAO;CACvD,IAAI,cAAc,IAAI,KAAK,KAAK,cAAc,KAAK,SAAS,GAAG,OAAO;CACtE,IAAI,kBAAkB,WAAW,WAAW,MAAM,SAAS,OAAO;CAClE,IAAI,+BAA+B,KAAK,SAAS,GAAG,OAAO;CAC3D,OAAO;AACT;AACA,SAAS,iBAAiB,UAAU,OAAO,aAAa;CACtD,MAAM,UAAU,oBAAoB;CACpC,MAAM,SAAS,CAAC;CAChB,MAAM,QAAQ;EAAC;EAAS;EAAS;CAAO;CACxC,MAAM,WAAW;EACf,OAAO;GAAE,MAAM;GAAM,SAAS,CAAC;GAAG,SAAS;EAAM;EACjD,OAAO;GAAE,MAAM;GAAM,SAAS,CAAC;GAAG,SAAS;EAAM;EACjD,OAAO;GAAE,MAAM;GAAM,SAAS,CAAC;GAAG,SAAS;EAAM;CACnD;CACA,KAAK,IAAI,cAAc,CAAC,GAAG,cAAc,MAAM,QAAQ,QAAQ,eAAe;EAC5E,MAAM,SAAS,gBAAgB,CAAC;EAChC,MAAM,UAAU,SAAS,MAAM,OAAO,MAAM,QAAQ,aAAa;EACjE,IAAI,YAAY,MAAM;EACtB,MAAM,QAAQ,SAAS,SAAS;EAChC,MAAM,QAAQ,CAAC;EACf,KAAK,MAAM,aAAa,wBAAwB,OAAO,GAAG;GACxD,MAAM,OAAO,wBAAwB,WAAW,UAAU,WAAW;GACrE,IAAI,SAAS,QAAQ,MAAM,UAAU,KAAK,GAAG;IAC3C,OAAO,KAAK;KAAE,MAAM;KAAgC;KAAW;IAAM,CAAC;IACtE;GACF;GACA,MAAM,QAAQ;EAChB;EACA,IAAI,MAAM,UAAU,UAAU,MAAM,UAAU,KAAK,GAAG;GACpD,MAAM,QAAQ;EAChB;EACA,KAAK,MAAM,QAAQ,OAAO;GACxB,MAAM,YAAY,MAAM;GACxB,IAAI,cAAc,KAAK,GAAG;GAC1B,MAAM,UAAU,SAAS;GACzB,QAAQ,UAAU;GAClB,IAAI,QAAQ;IACV,QAAQ,OAAO;GACjB,OAAO;IACL,QAAQ,QAAQ,KAAK;KACnB,WAAW,MAAM,QAAQ,aAAa;KACtC,SAAS;IACX,CAAC;GACH;EACF;CACF;CACA,MAAM,UAAU,CAAC;CACjB,KAAK,MAAM,QAAQ,OAAO;EACxB,MAAM,UAAU,SAAS;EACzB,IAAI,CAAC,QAAQ,SAAS;EACtB,MAAM,SAAS;GAAE,MAAM,QAAQ;GAAM,SAAS,QAAQ;EAAQ;EAC9D,KAAK,MAAM,YAAY,QAAQ,OAAO;GACpC,QAAQ,KAAK;IAAE,UAAU;IAAU,OAAO;GAAO,CAAC;EACpD;CACF;CACA,OAAO;EAAE;EAAS;CAAO;AAC3B"}