zyzz 0.0.0 → 0.0.2

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 (678) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +380 -0
  3. package/dist/Config.d.ts +170 -0
  4. package/dist/Config.d.ts.map +1 -0
  5. package/dist/Config.js +249 -0
  6. package/dist/Config.js.map +1 -0
  7. package/dist/Props.d.ts +7 -0
  8. package/dist/Props.d.ts.map +1 -0
  9. package/dist/Props.js +3 -0
  10. package/dist/Props.js.map +1 -0
  11. package/dist/Style.d.ts +167 -0
  12. package/dist/Style.d.ts.map +1 -0
  13. package/dist/Style.js +284 -0
  14. package/dist/Style.js.map +1 -0
  15. package/dist/Theme.d.ts +154 -0
  16. package/dist/Theme.d.ts.map +1 -0
  17. package/dist/Theme.js +257 -0
  18. package/dist/Theme.js.map +1 -0
  19. package/dist/babel/NativeEdits.d.ts +8 -0
  20. package/dist/babel/NativeEdits.d.ts.map +1 -0
  21. package/dist/babel/NativeEdits.js +233 -0
  22. package/dist/babel/NativeEdits.js.map +1 -0
  23. package/dist/babel/NativeJsx.d.ts +10 -0
  24. package/dist/babel/NativeJsx.d.ts.map +1 -0
  25. package/dist/babel/NativeJsx.js +204 -0
  26. package/dist/babel/NativeJsx.js.map +1 -0
  27. package/dist/babel/index.d.ts +51 -0
  28. package/dist/babel/index.d.ts.map +1 -0
  29. package/dist/babel/index.js +220 -0
  30. package/dist/babel/index.js.map +1 -0
  31. package/dist/cli/index.d.ts +3 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +178 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/compiler/Graph.d.ts +64 -0
  36. package/dist/compiler/Graph.d.ts.map +1 -0
  37. package/dist/compiler/Graph.js +1111 -0
  38. package/dist/compiler/Graph.js.map +1 -0
  39. package/dist/compiler/Native.d.ts +53 -0
  40. package/dist/compiler/Native.d.ts.map +1 -0
  41. package/dist/compiler/Native.js +617 -0
  42. package/dist/compiler/Native.js.map +1 -0
  43. package/dist/compiler/Source.d.ts +165 -0
  44. package/dist/compiler/Source.d.ts.map +1 -0
  45. package/dist/compiler/Source.js +990 -0
  46. package/dist/compiler/Source.js.map +1 -0
  47. package/dist/compiler/Transform.d.ts +57 -0
  48. package/dist/compiler/Transform.d.ts.map +1 -0
  49. package/dist/compiler/Transform.js +884 -0
  50. package/dist/compiler/Transform.js.map +1 -0
  51. package/dist/compiler/index.d.ts +13 -0
  52. package/dist/compiler/index.d.ts.map +1 -0
  53. package/dist/compiler/index.js +13 -0
  54. package/dist/compiler/index.js.map +1 -0
  55. package/dist/compiler/internal/Applications.d.ts +35 -0
  56. package/dist/compiler/internal/Applications.d.ts.map +1 -0
  57. package/dist/compiler/internal/Applications.js +248 -0
  58. package/dist/compiler/internal/Applications.js.map +1 -0
  59. package/dist/compiler/internal/AtRules.d.ts +8 -0
  60. package/dist/compiler/internal/AtRules.d.ts.map +1 -0
  61. package/dist/compiler/internal/AtRules.js +180 -0
  62. package/dist/compiler/internal/AtRules.js.map +1 -0
  63. package/dist/compiler/internal/Catalogs.d.ts +19 -0
  64. package/dist/compiler/internal/Catalogs.d.ts.map +1 -0
  65. package/dist/compiler/internal/Catalogs.js +68 -0
  66. package/dist/compiler/internal/Catalogs.js.map +1 -0
  67. package/dist/compiler/internal/ColorProfiles.d.ts +3 -0
  68. package/dist/compiler/internal/ColorProfiles.d.ts.map +1 -0
  69. package/dist/compiler/internal/ColorProfiles.js +84 -0
  70. package/dist/compiler/internal/ColorProfiles.js.map +1 -0
  71. package/dist/compiler/internal/CompositionBindings.d.ts +16 -0
  72. package/dist/compiler/internal/CompositionBindings.d.ts.map +1 -0
  73. package/dist/compiler/internal/CompositionBindings.js +89 -0
  74. package/dist/compiler/internal/CompositionBindings.js.map +1 -0
  75. package/dist/compiler/internal/Compositions.d.ts +32 -0
  76. package/dist/compiler/internal/Compositions.d.ts.map +1 -0
  77. package/dist/compiler/internal/Compositions.js +464 -0
  78. package/dist/compiler/internal/Compositions.js.map +1 -0
  79. package/dist/compiler/internal/Configurations.d.ts +21 -0
  80. package/dist/compiler/internal/Configurations.d.ts.map +1 -0
  81. package/dist/compiler/internal/Configurations.js +171 -0
  82. package/dist/compiler/internal/Configurations.js.map +1 -0
  83. package/dist/compiler/internal/Contract.d.ts +27 -0
  84. package/dist/compiler/internal/Contract.d.ts.map +1 -0
  85. package/dist/compiler/internal/Contract.js +600 -0
  86. package/dist/compiler/internal/Contract.js.map +1 -0
  87. package/dist/compiler/internal/Contributions.d.ts +54 -0
  88. package/dist/compiler/internal/Contributions.d.ts.map +1 -0
  89. package/dist/compiler/internal/Contributions.js +1109 -0
  90. package/dist/compiler/internal/Contributions.js.map +1 -0
  91. package/dist/compiler/internal/Descriptors.d.ts +15 -0
  92. package/dist/compiler/internal/Descriptors.d.ts.map +1 -0
  93. package/dist/compiler/internal/Descriptors.js +183 -0
  94. package/dist/compiler/internal/Descriptors.js.map +1 -0
  95. package/dist/compiler/internal/Dynamic.d.ts +14 -0
  96. package/dist/compiler/internal/Dynamic.d.ts.map +1 -0
  97. package/dist/compiler/internal/Dynamic.js +172 -0
  98. package/dist/compiler/internal/Dynamic.js.map +1 -0
  99. package/dist/compiler/internal/Edits.d.ts +12 -0
  100. package/dist/compiler/internal/Edits.d.ts.map +1 -0
  101. package/dist/compiler/internal/Edits.js +5 -0
  102. package/dist/compiler/internal/Edits.js.map +1 -0
  103. package/dist/compiler/internal/Expression.d.ts +12 -0
  104. package/dist/compiler/internal/Expression.d.ts.map +1 -0
  105. package/dist/compiler/internal/Expression.js +98 -0
  106. package/dist/compiler/internal/Expression.js.map +1 -0
  107. package/dist/compiler/internal/Functions.d.ts +5 -0
  108. package/dist/compiler/internal/Functions.d.ts.map +1 -0
  109. package/dist/compiler/internal/Functions.js +191 -0
  110. package/dist/compiler/internal/Functions.js.map +1 -0
  111. package/dist/compiler/internal/Identifiers.d.ts +9 -0
  112. package/dist/compiler/internal/Identifiers.d.ts.map +1 -0
  113. package/dist/compiler/internal/Identifiers.js +106 -0
  114. package/dist/compiler/internal/Identifiers.js.map +1 -0
  115. package/dist/compiler/internal/Keyframes.d.ts +5 -0
  116. package/dist/compiler/internal/Keyframes.d.ts.map +1 -0
  117. package/dist/compiler/internal/Keyframes.js +51 -0
  118. package/dist/compiler/internal/Keyframes.js.map +1 -0
  119. package/dist/compiler/internal/Namespaces.d.ts +17 -0
  120. package/dist/compiler/internal/Namespaces.d.ts.map +1 -0
  121. package/dist/compiler/internal/Namespaces.js +265 -0
  122. package/dist/compiler/internal/Namespaces.js.map +1 -0
  123. package/dist/compiler/internal/NativeBindings.d.ts +74 -0
  124. package/dist/compiler/internal/NativeBindings.d.ts.map +1 -0
  125. package/dist/compiler/internal/NativeBindings.js +117 -0
  126. package/dist/compiler/internal/NativeBindings.js.map +1 -0
  127. package/dist/compiler/internal/PackedStyles.d.ts +35 -0
  128. package/dist/compiler/internal/PackedStyles.d.ts.map +1 -0
  129. package/dist/compiler/internal/PackedStyles.js +345 -0
  130. package/dist/compiler/internal/PackedStyles.js.map +1 -0
  131. package/dist/compiler/internal/Properties.d.ts +5 -0
  132. package/dist/compiler/internal/Properties.d.ts.map +1 -0
  133. package/dist/compiler/internal/Properties.js +82 -0
  134. package/dist/compiler/internal/Properties.js.map +1 -0
  135. package/dist/compiler/internal/RecipeConditions.d.ts +41 -0
  136. package/dist/compiler/internal/RecipeConditions.d.ts.map +1 -0
  137. package/dist/compiler/internal/RecipeConditions.js +82 -0
  138. package/dist/compiler/internal/RecipeConditions.js.map +1 -0
  139. package/dist/compiler/internal/RecipePayloads.d.ts +31 -0
  140. package/dist/compiler/internal/RecipePayloads.d.ts.map +1 -0
  141. package/dist/compiler/internal/RecipePayloads.js +99 -0
  142. package/dist/compiler/internal/RecipePayloads.js.map +1 -0
  143. package/dist/compiler/internal/Recipes.d.ts +32 -0
  144. package/dist/compiler/internal/Recipes.d.ts.map +1 -0
  145. package/dist/compiler/internal/Recipes.js +339 -0
  146. package/dist/compiler/internal/Recipes.js.map +1 -0
  147. package/dist/compiler/internal/Relative.d.ts +19 -0
  148. package/dist/compiler/internal/Relative.d.ts.map +1 -0
  149. package/dist/compiler/internal/Relative.js +62 -0
  150. package/dist/compiler/internal/Relative.js.map +1 -0
  151. package/dist/compiler/internal/Scope.d.ts +10 -0
  152. package/dist/compiler/internal/Scope.d.ts.map +1 -0
  153. package/dist/compiler/internal/Scope.js +28 -0
  154. package/dist/compiler/internal/Scope.js.map +1 -0
  155. package/dist/compiler/internal/Selectors.d.ts +12 -0
  156. package/dist/compiler/internal/Selectors.d.ts.map +1 -0
  157. package/dist/compiler/internal/Selectors.js +265 -0
  158. package/dist/compiler/internal/Selectors.js.map +1 -0
  159. package/dist/compiler/internal/Static.d.ts +39 -0
  160. package/dist/compiler/internal/Static.d.ts.map +1 -0
  161. package/dist/compiler/internal/Static.js +532 -0
  162. package/dist/compiler/internal/Static.js.map +1 -0
  163. package/dist/compiler/internal/Stylesheets.d.ts +47 -0
  164. package/dist/compiler/internal/Stylesheets.d.ts.map +1 -0
  165. package/dist/compiler/internal/Stylesheets.js +272 -0
  166. package/dist/compiler/internal/Stylesheets.js.map +1 -0
  167. package/dist/compiler/internal/Syntax.d.ts +17 -0
  168. package/dist/compiler/internal/Syntax.d.ts.map +1 -0
  169. package/dist/compiler/internal/Syntax.js +19 -0
  170. package/dist/compiler/internal/Syntax.js.map +1 -0
  171. package/dist/compiler/internal/Themes.d.ts +158 -0
  172. package/dist/compiler/internal/Themes.d.ts.map +1 -0
  173. package/dist/compiler/internal/Themes.js +1169 -0
  174. package/dist/compiler/internal/Themes.js.map +1 -0
  175. package/dist/compiler/internal/Variables.d.ts +31 -0
  176. package/dist/compiler/internal/Variables.d.ts.map +1 -0
  177. package/dist/compiler/internal/Variables.js +376 -0
  178. package/dist/compiler/internal/Variables.js.map +1 -0
  179. package/dist/compiler/internal/ViewTransitions.d.ts +3 -0
  180. package/dist/compiler/internal/ViewTransitions.d.ts.map +1 -0
  181. package/dist/compiler/internal/ViewTransitions.js +68 -0
  182. package/dist/compiler/internal/ViewTransitions.js.map +1 -0
  183. package/dist/cx.d.ts +18 -0
  184. package/dist/cx.d.ts.map +1 -0
  185. package/dist/cx.js +60 -0
  186. package/dist/cx.js.map +1 -0
  187. package/dist/default.d.ts +2008 -0
  188. package/dist/default.d.ts.map +1 -0
  189. package/dist/default.js +243 -0
  190. package/dist/default.js.map +7 -0
  191. package/dist/default.js.zyzz.json +1 -0
  192. package/dist/index.d.ts +21 -0
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +19 -0
  195. package/dist/index.js.map +1 -0
  196. package/dist/internal/Authoring.d.ts +26 -0
  197. package/dist/internal/Authoring.d.ts.map +1 -0
  198. package/dist/internal/Authoring.js +134 -0
  199. package/dist/internal/Authoring.js.map +1 -0
  200. package/dist/internal/Binding.d.ts +64 -0
  201. package/dist/internal/Binding.d.ts.map +1 -0
  202. package/dist/internal/Binding.js +27 -0
  203. package/dist/internal/Binding.js.map +1 -0
  204. package/dist/internal/BindingDomains.d.ts +11 -0
  205. package/dist/internal/BindingDomains.d.ts.map +1 -0
  206. package/dist/internal/BindingDomains.js +459 -0
  207. package/dist/internal/BindingDomains.js.map +1 -0
  208. package/dist/internal/Cascade.d.ts +45 -0
  209. package/dist/internal/Cascade.d.ts.map +1 -0
  210. package/dist/internal/Cascade.js +165 -0
  211. package/dist/internal/Cascade.js.map +1 -0
  212. package/dist/internal/Compound.d.ts +132 -0
  213. package/dist/internal/Compound.d.ts.map +1 -0
  214. package/dist/internal/Compound.js +2 -0
  215. package/dist/internal/Compound.js.map +1 -0
  216. package/dist/internal/Condition.d.ts +33 -0
  217. package/dist/internal/Condition.d.ts.map +1 -0
  218. package/dist/internal/Condition.js +180 -0
  219. package/dist/internal/Condition.js.map +1 -0
  220. package/dist/internal/Corner.d.ts +9 -0
  221. package/dist/internal/Corner.d.ts.map +1 -0
  222. package/dist/internal/Corner.js +14 -0
  223. package/dist/internal/Corner.js.map +1 -0
  224. package/dist/internal/FunctionSyntax.d.ts +27 -0
  225. package/dist/internal/FunctionSyntax.d.ts.map +1 -0
  226. package/dist/internal/FunctionSyntax.js +91 -0
  227. package/dist/internal/FunctionSyntax.js.map +1 -0
  228. package/dist/internal/FunctionValue.d.ts +19 -0
  229. package/dist/internal/FunctionValue.d.ts.map +1 -0
  230. package/dist/internal/FunctionValue.js +2 -0
  231. package/dist/internal/FunctionValue.js.map +1 -0
  232. package/dist/internal/Geometry.d.ts +8 -0
  233. package/dist/internal/Geometry.d.ts.map +1 -0
  234. package/dist/internal/Geometry.js +2 -0
  235. package/dist/internal/Geometry.js.map +1 -0
  236. package/dist/internal/Grid.d.ts +15 -0
  237. package/dist/internal/Grid.d.ts.map +1 -0
  238. package/dist/internal/Grid.js +2 -0
  239. package/dist/internal/Grid.js.map +1 -0
  240. package/dist/internal/Identifier.d.ts +15 -0
  241. package/dist/internal/Identifier.d.ts.map +1 -0
  242. package/dist/internal/Identifier.js +2 -0
  243. package/dist/internal/Identifier.js.map +1 -0
  244. package/dist/internal/Identity.d.ts +16 -0
  245. package/dist/internal/Identity.d.ts.map +1 -0
  246. package/dist/internal/Identity.js +78 -0
  247. package/dist/internal/Identity.js.map +1 -0
  248. package/dist/internal/Lexical.d.ts +89 -0
  249. package/dist/internal/Lexical.d.ts.map +1 -0
  250. package/dist/internal/Lexical.js +15 -0
  251. package/dist/internal/Lexical.js.map +1 -0
  252. package/dist/internal/Literal.d.ts +3459 -0
  253. package/dist/internal/Literal.d.ts.map +1 -0
  254. package/dist/internal/Literal.js +3371 -0
  255. package/dist/internal/Literal.js.map +1 -0
  256. package/dist/internal/NativeProperties.d.ts +596 -0
  257. package/dist/internal/NativeProperties.d.ts.map +1 -0
  258. package/dist/internal/NativeProperties.js +2 -0
  259. package/dist/internal/NativeProperties.js.map +1 -0
  260. package/dist/internal/Numeric.d.ts +23 -0
  261. package/dist/internal/Numeric.d.ts.map +1 -0
  262. package/dist/internal/Numeric.js +2 -0
  263. package/dist/internal/Numeric.js.map +1 -0
  264. package/dist/internal/Query.d.ts +15 -0
  265. package/dist/internal/Query.d.ts.map +1 -0
  266. package/dist/internal/Query.js +58 -0
  267. package/dist/internal/Query.js.map +1 -0
  268. package/dist/internal/Recipe.d.ts +17 -0
  269. package/dist/internal/Recipe.d.ts.map +1 -0
  270. package/dist/internal/Recipe.js +2 -0
  271. package/dist/internal/Recipe.js.map +1 -0
  272. package/dist/internal/RuleReference.d.ts +23 -0
  273. package/dist/internal/RuleReference.d.ts.map +1 -0
  274. package/dist/internal/RuleReference.js +65 -0
  275. package/dist/internal/RuleReference.js.map +1 -0
  276. package/dist/internal/Scheme.d.ts +12 -0
  277. package/dist/internal/Scheme.d.ts.map +1 -0
  278. package/dist/internal/Scheme.js +16 -0
  279. package/dist/internal/Scheme.js.map +1 -0
  280. package/dist/internal/Shorthands.d.ts +20 -0
  281. package/dist/internal/Shorthands.d.ts.map +1 -0
  282. package/dist/internal/Shorthands.js +49 -0
  283. package/dist/internal/Shorthands.js.map +1 -0
  284. package/dist/internal/Targets.d.ts +43 -0
  285. package/dist/internal/Targets.d.ts.map +1 -0
  286. package/dist/internal/Targets.js +60 -0
  287. package/dist/internal/Targets.js.map +1 -0
  288. package/dist/internal/Token.d.ts +104 -0
  289. package/dist/internal/Token.d.ts.map +1 -0
  290. package/dist/internal/Token.js +162 -0
  291. package/dist/internal/Token.js.map +1 -0
  292. package/dist/internal/Tuple.d.ts +23 -0
  293. package/dist/internal/Tuple.d.ts.map +1 -0
  294. package/dist/internal/Tuple.js +2 -0
  295. package/dist/internal/Tuple.js.map +1 -0
  296. package/dist/internal/Value.d.ts +74 -0
  297. package/dist/internal/Value.d.ts.map +1 -0
  298. package/dist/internal/Value.js +60 -0
  299. package/dist/internal/Value.js.map +1 -0
  300. package/dist/metro/Graph.d.ts +8 -0
  301. package/dist/metro/Graph.d.ts.map +1 -0
  302. package/dist/metro/Graph.js +63 -0
  303. package/dist/metro/Graph.js.map +1 -0
  304. package/dist/metro/Watch.d.ts +21 -0
  305. package/dist/metro/Watch.d.ts.map +1 -0
  306. package/dist/metro/Watch.js +51 -0
  307. package/dist/metro/Watch.js.map +1 -0
  308. package/dist/metro/index.d.ts +30 -0
  309. package/dist/metro/index.d.ts.map +1 -0
  310. package/dist/metro/index.js +52 -0
  311. package/dist/metro/index.js.map +1 -0
  312. package/dist/metro/transformer.d.ts +21 -0
  313. package/dist/metro/transformer.d.ts.map +1 -0
  314. package/dist/metro/transformer.js +71 -0
  315. package/dist/metro/transformer.js.map +1 -0
  316. package/dist/next/index.d.ts +18 -0
  317. package/dist/next/index.d.ts.map +1 -0
  318. package/dist/next/index.js +92 -0
  319. package/dist/next/index.js.map +1 -0
  320. package/dist/next/loader.d.ts +16 -0
  321. package/dist/next/loader.d.ts.map +1 -0
  322. package/dist/next/loader.js +282 -0
  323. package/dist/next/loader.js.map +1 -0
  324. package/dist/node/Host.d.ts +80 -0
  325. package/dist/node/Host.d.ts.map +1 -0
  326. package/dist/node/Host.js +882 -0
  327. package/dist/node/Host.js.map +1 -0
  328. package/dist/node/index.d.ts +7 -0
  329. package/dist/node/index.d.ts.map +1 -0
  330. package/dist/node/index.js +7 -0
  331. package/dist/node/index.js.map +1 -0
  332. package/dist/react-native/Host.d.ts +76 -0
  333. package/dist/react-native/Host.d.ts.map +1 -0
  334. package/dist/react-native/Host.js +209 -0
  335. package/dist/react-native/Host.js.map +1 -0
  336. package/dist/react-native/StyleSheet.d.ts +226 -0
  337. package/dist/react-native/StyleSheet.d.ts.map +1 -0
  338. package/dist/react-native/StyleSheet.js +606 -0
  339. package/dist/react-native/StyleSheet.js.map +1 -0
  340. package/dist/react-native/Variants.d.ts +38 -0
  341. package/dist/react-native/Variants.d.ts.map +1 -0
  342. package/dist/react-native/Variants.js +66 -0
  343. package/dist/react-native/Variants.js.map +1 -0
  344. package/dist/react-native/index.d.ts +8 -0
  345. package/dist/react-native/index.d.ts.map +1 -0
  346. package/dist/react-native/index.js +8 -0
  347. package/dist/react-native/index.js.map +1 -0
  348. package/dist/react-native/internal/Color.d.ts +7 -0
  349. package/dist/react-native/internal/Color.d.ts.map +1 -0
  350. package/dist/react-native/internal/Color.js +93 -0
  351. package/dist/react-native/internal/Color.js.map +1 -0
  352. package/dist/react-native/internal/NativeSchema.d.ts +5138 -0
  353. package/dist/react-native/internal/NativeSchema.d.ts.map +1 -0
  354. package/dist/react-native/internal/NativeSchema.js +3097 -0
  355. package/dist/react-native/internal/NativeSchema.js.map +1 -0
  356. package/dist/react-native/internal/Scalar.d.ts +95 -0
  357. package/dist/react-native/internal/Scalar.d.ts.map +1 -0
  358. package/dist/react-native/internal/Scalar.js +199 -0
  359. package/dist/react-native/internal/Scalar.js.map +1 -0
  360. package/dist/react-native/internal/Values.d.ts +5 -0
  361. package/dist/react-native/internal/Values.d.ts.map +1 -0
  362. package/dist/react-native/internal/Values.js +65 -0
  363. package/dist/react-native/internal/Values.js.map +1 -0
  364. package/dist/react-native/react.d.ts +22 -0
  365. package/dist/react-native/react.d.ts.map +1 -0
  366. package/dist/react-native/react.js +26 -0
  367. package/dist/react-native/react.js.map +1 -0
  368. package/dist/reset.css +244 -0
  369. package/dist/runtime/Appearance.d.ts +55 -0
  370. package/dist/runtime/Appearance.d.ts.map +1 -0
  371. package/dist/runtime/Appearance.js +84 -0
  372. package/dist/runtime/Appearance.js.map +1 -0
  373. package/dist/runtime/Composition.d.ts +46 -0
  374. package/dist/runtime/Composition.d.ts.map +1 -0
  375. package/dist/runtime/Composition.js +52 -0
  376. package/dist/runtime/Composition.js.map +1 -0
  377. package/dist/runtime/CompositionHtml.d.ts +15 -0
  378. package/dist/runtime/CompositionHtml.d.ts.map +1 -0
  379. package/dist/runtime/CompositionHtml.js +20 -0
  380. package/dist/runtime/CompositionHtml.js.map +1 -0
  381. package/dist/runtime/ConditionalRecipe.d.ts +30 -0
  382. package/dist/runtime/ConditionalRecipe.d.ts.map +1 -0
  383. package/dist/runtime/ConditionalRecipe.js +39 -0
  384. package/dist/runtime/ConditionalRecipe.js.map +1 -0
  385. package/dist/runtime/Dynamic.d.ts +19 -0
  386. package/dist/runtime/Dynamic.d.ts.map +1 -0
  387. package/dist/runtime/Dynamic.js +22 -0
  388. package/dist/runtime/Dynamic.js.map +1 -0
  389. package/dist/runtime/Html.d.ts +32 -0
  390. package/dist/runtime/Html.d.ts.map +1 -0
  391. package/dist/runtime/Html.js +63 -0
  392. package/dist/runtime/Html.js.map +1 -0
  393. package/dist/runtime/Native.d.ts +48 -0
  394. package/dist/runtime/Native.d.ts.map +1 -0
  395. package/dist/runtime/Native.js +78 -0
  396. package/dist/runtime/Native.js.map +1 -0
  397. package/dist/runtime/NativeContext.d.ts +17 -0
  398. package/dist/runtime/NativeContext.d.ts.map +1 -0
  399. package/dist/runtime/NativeContext.js +47 -0
  400. package/dist/runtime/NativeContext.js.map +1 -0
  401. package/dist/runtime/NativeDynamic.d.ts +47 -0
  402. package/dist/runtime/NativeDynamic.d.ts.map +1 -0
  403. package/dist/runtime/NativeDynamic.js +141 -0
  404. package/dist/runtime/NativeDynamic.js.map +1 -0
  405. package/dist/runtime/PayloadRecipe.d.ts +22 -0
  406. package/dist/runtime/PayloadRecipe.d.ts.map +1 -0
  407. package/dist/runtime/PayloadRecipe.js +59 -0
  408. package/dist/runtime/PayloadRecipe.js.map +1 -0
  409. package/dist/runtime/Props.d.ts +21 -0
  410. package/dist/runtime/Props.d.ts.map +1 -0
  411. package/dist/runtime/Props.js +17 -0
  412. package/dist/runtime/Props.js.map +1 -0
  413. package/dist/runtime/Recipe.d.ts +52 -0
  414. package/dist/runtime/Recipe.d.ts.map +1 -0
  415. package/dist/runtime/Recipe.js +30 -0
  416. package/dist/runtime/Recipe.js.map +1 -0
  417. package/dist/runtime/Selection.d.ts +31 -0
  418. package/dist/runtime/Selection.d.ts.map +1 -0
  419. package/dist/runtime/Selection.js +30 -0
  420. package/dist/runtime/Selection.js.map +1 -0
  421. package/dist/runtime/Variable.d.ts +6 -0
  422. package/dist/runtime/Variable.d.ts.map +1 -0
  423. package/dist/runtime/Variable.js +10 -0
  424. package/dist/runtime/Variable.js.map +1 -0
  425. package/dist/runtime/index.d.ts +33 -0
  426. package/dist/runtime/index.d.ts.map +1 -0
  427. package/dist/runtime/index.js +33 -0
  428. package/dist/runtime/index.js.map +1 -0
  429. package/dist/styleFunction.d.ts +72 -0
  430. package/dist/styleFunction.d.ts.map +1 -0
  431. package/dist/styleFunction.js +18 -0
  432. package/dist/styleFunction.js.map +1 -0
  433. package/dist/themes/LICENSE.tailwind +21 -0
  434. package/dist/variable.d.ts +50 -0
  435. package/dist/variable.d.ts.map +1 -0
  436. package/dist/variable.js +20 -0
  437. package/dist/variable.js.map +1 -0
  438. package/dist/variants.d.ts +84 -0
  439. package/dist/variants.d.ts.map +1 -0
  440. package/dist/variants.js +21 -0
  441. package/dist/variants.js.map +1 -0
  442. package/dist/vite/index.d.ts +24 -0
  443. package/dist/vite/index.d.ts.map +1 -0
  444. package/dist/vite/index.js +1089 -0
  445. package/dist/vite/index.js.map +1 -0
  446. package/dist/web/Css.d.ts +81 -0
  447. package/dist/web/Css.d.ts.map +1 -0
  448. package/dist/web/Css.js +593 -0
  449. package/dist/web/Css.js.map +1 -0
  450. package/dist/web/colorProfile.d.ts +28 -0
  451. package/dist/web/colorProfile.d.ts.map +1 -0
  452. package/dist/web/colorProfile.js +8 -0
  453. package/dist/web/colorProfile.js.map +1 -0
  454. package/dist/web/counterStyle.d.ts +48 -0
  455. package/dist/web/counterStyle.d.ts.map +1 -0
  456. package/dist/web/counterStyle.js +8 -0
  457. package/dist/web/counterStyle.js.map +1 -0
  458. package/dist/web/cssFunction.d.ts +80 -0
  459. package/dist/web/cssFunction.d.ts.map +1 -0
  460. package/dist/web/cssFunction.js +18 -0
  461. package/dist/web/cssFunction.js.map +1 -0
  462. package/dist/web/customMedia.d.ts +12 -0
  463. package/dist/web/customMedia.d.ts.map +1 -0
  464. package/dist/web/customMedia.js +7 -0
  465. package/dist/web/customMedia.js.map +1 -0
  466. package/dist/web/fontFace.d.ts +26 -0
  467. package/dist/web/fontFace.d.ts.map +1 -0
  468. package/dist/web/fontFace.js +7 -0
  469. package/dist/web/fontFace.js.map +1 -0
  470. package/dist/web/fontFeatureValues.d.ts +40 -0
  471. package/dist/web/fontFeatureValues.d.ts.map +1 -0
  472. package/dist/web/fontFeatureValues.js +7 -0
  473. package/dist/web/fontFeatureValues.js.map +1 -0
  474. package/dist/web/fontPaletteValues.d.ts +21 -0
  475. package/dist/web/fontPaletteValues.d.ts.map +1 -0
  476. package/dist/web/fontPaletteValues.js +9 -0
  477. package/dist/web/fontPaletteValues.js.map +1 -0
  478. package/dist/web/global.d.ts +19 -0
  479. package/dist/web/global.d.ts.map +1 -0
  480. package/dist/web/global.js +6 -0
  481. package/dist/web/global.js.map +1 -0
  482. package/dist/web/importCss.d.ts +18 -0
  483. package/dist/web/importCss.d.ts.map +1 -0
  484. package/dist/web/importCss.js +7 -0
  485. package/dist/web/importCss.js.map +1 -0
  486. package/dist/web/index.d.ts +22 -0
  487. package/dist/web/index.d.ts.map +1 -0
  488. package/dist/web/index.js +22 -0
  489. package/dist/web/index.js.map +1 -0
  490. package/dist/web/internal/Block.d.ts +18 -0
  491. package/dist/web/internal/Block.d.ts.map +1 -0
  492. package/dist/web/internal/Block.js +13 -0
  493. package/dist/web/internal/Block.js.map +1 -0
  494. package/dist/web/internal/ClassName.d.ts +19 -0
  495. package/dist/web/internal/ClassName.d.ts.map +1 -0
  496. package/dist/web/internal/ClassName.js +77 -0
  497. package/dist/web/internal/ClassName.js.map +1 -0
  498. package/dist/web/internal/Context.d.ts +11 -0
  499. package/dist/web/internal/Context.d.ts.map +1 -0
  500. package/dist/web/internal/Context.js +2 -0
  501. package/dist/web/internal/Context.js.map +1 -0
  502. package/dist/web/internal/Contributions.d.ts +70 -0
  503. package/dist/web/internal/Contributions.d.ts.map +1 -0
  504. package/dist/web/internal/Contributions.js +109 -0
  505. package/dist/web/internal/Contributions.js.map +1 -0
  506. package/dist/web/internal/Namespace.d.ts +13 -0
  507. package/dist/web/internal/Namespace.d.ts.map +1 -0
  508. package/dist/web/internal/Namespace.js +13 -0
  509. package/dist/web/internal/Namespace.js.map +1 -0
  510. package/dist/web/internal/Themes.d.ts +13 -0
  511. package/dist/web/internal/Themes.d.ts.map +1 -0
  512. package/dist/web/internal/Themes.js +96 -0
  513. package/dist/web/internal/Themes.js.map +1 -0
  514. package/dist/web/keyframes.d.ts +14 -0
  515. package/dist/web/keyframes.d.ts.map +1 -0
  516. package/dist/web/keyframes.js +8 -0
  517. package/dist/web/keyframes.js.map +1 -0
  518. package/dist/web/layers.d.ts +4 -0
  519. package/dist/web/layers.d.ts.map +1 -0
  520. package/dist/web/layers.js +7 -0
  521. package/dist/web/layers.js.map +1 -0
  522. package/dist/web/namespace.d.ts +14 -0
  523. package/dist/web/namespace.d.ts.map +1 -0
  524. package/dist/web/namespace.js +7 -0
  525. package/dist/web/namespace.js.map +1 -0
  526. package/dist/web/page.d.ts +38 -0
  527. package/dist/web/page.d.ts.map +1 -0
  528. package/dist/web/page.js +7 -0
  529. package/dist/web/page.js.map +1 -0
  530. package/dist/web/positionTry.d.ts +14 -0
  531. package/dist/web/positionTry.d.ts.map +1 -0
  532. package/dist/web/positionTry.js +9 -0
  533. package/dist/web/positionTry.js.map +1 -0
  534. package/dist/web/property.d.ts +24 -0
  535. package/dist/web/property.d.ts.map +1 -0
  536. package/dist/web/property.js +7 -0
  537. package/dist/web/property.js.map +1 -0
  538. package/dist/web/viewTransition.d.ts +29 -0
  539. package/dist/web/viewTransition.d.ts.map +1 -0
  540. package/dist/web/viewTransition.js +7 -0
  541. package/dist/web/viewTransition.js.map +1 -0
  542. package/package.json +136 -10
  543. package/src/Config.ts +690 -0
  544. package/src/Props.ts +8 -0
  545. package/src/Style.ts +748 -0
  546. package/src/Theme.ts +713 -0
  547. package/src/babel/NativeEdits.ts +273 -0
  548. package/src/babel/NativeJsx.ts +260 -0
  549. package/src/babel/index.ts +332 -0
  550. package/src/cli/index.ts +196 -0
  551. package/src/compiler/Graph.ts +1586 -0
  552. package/src/compiler/Native.ts +801 -0
  553. package/src/compiler/Source.ts +1550 -0
  554. package/src/compiler/Transform.ts +1235 -0
  555. package/src/compiler/index.ts +12 -0
  556. package/src/compiler/internal/Applications.ts +378 -0
  557. package/src/compiler/internal/AtRules.ts +202 -0
  558. package/src/compiler/internal/Catalogs.ts +114 -0
  559. package/src/compiler/internal/ColorProfiles.ts +93 -0
  560. package/src/compiler/internal/CompositionBindings.ts +120 -0
  561. package/src/compiler/internal/Compositions.ts +629 -0
  562. package/src/compiler/internal/Configurations.ts +244 -0
  563. package/src/compiler/internal/Contract.ts +846 -0
  564. package/src/compiler/internal/Contributions.ts +1507 -0
  565. package/src/compiler/internal/Descriptors.ts +238 -0
  566. package/src/compiler/internal/Dynamic.ts +266 -0
  567. package/src/compiler/internal/Edits.ts +13 -0
  568. package/src/compiler/internal/Expression.ts +135 -0
  569. package/src/compiler/internal/Functions.ts +206 -0
  570. package/src/compiler/internal/Identifiers.ts +124 -0
  571. package/src/compiler/internal/Keyframes.ts +62 -0
  572. package/src/compiler/internal/Namespaces.ts +296 -0
  573. package/src/compiler/internal/NativeBindings.ts +151 -0
  574. package/src/compiler/internal/PackedStyles.ts +464 -0
  575. package/src/compiler/internal/Properties.ts +121 -0
  576. package/src/compiler/internal/RecipeConditions.ts +139 -0
  577. package/src/compiler/internal/RecipePayloads.ts +132 -0
  578. package/src/compiler/internal/Recipes.ts +531 -0
  579. package/src/compiler/internal/Relative.ts +87 -0
  580. package/src/compiler/internal/Scope.ts +36 -0
  581. package/src/compiler/internal/Selectors.ts +334 -0
  582. package/src/compiler/internal/Static.ts +783 -0
  583. package/src/compiler/internal/Stylesheets.ts +361 -0
  584. package/src/compiler/internal/Syntax.ts +31 -0
  585. package/src/compiler/internal/Themes.ts +1794 -0
  586. package/src/compiler/internal/Variables.ts +497 -0
  587. package/src/compiler/internal/ViewTransitions.ts +82 -0
  588. package/src/cx.ts +98 -0
  589. package/src/default.ts +484 -0
  590. package/src/index.ts +20 -0
  591. package/src/internal/Authoring.ts +199 -0
  592. package/src/internal/Binding.ts +187 -0
  593. package/src/internal/BindingDomains.ts +458 -0
  594. package/src/internal/Cascade.ts +165 -0
  595. package/src/internal/Compound.ts +522 -0
  596. package/src/internal/Condition.ts +283 -0
  597. package/src/internal/Corner.ts +17 -0
  598. package/src/internal/FunctionSyntax.ts +271 -0
  599. package/src/internal/FunctionValue.ts +96 -0
  600. package/src/internal/Geometry.ts +30 -0
  601. package/src/internal/Grid.ts +67 -0
  602. package/src/internal/Identifier.ts +14 -0
  603. package/src/internal/Identity.ts +89 -0
  604. package/src/internal/Lexical.ts +202 -0
  605. package/src/internal/Literal.ts +3820 -0
  606. package/src/internal/NativeProperties.ts +936 -0
  607. package/src/internal/Numeric.ts +77 -0
  608. package/src/internal/Query.ts +87 -0
  609. package/src/internal/Recipe.ts +17 -0
  610. package/src/internal/RuleReference.ts +102 -0
  611. package/src/internal/Scheme.ts +20 -0
  612. package/src/internal/Shorthands.ts +120 -0
  613. package/src/internal/Targets.ts +162 -0
  614. package/src/internal/Token.ts +380 -0
  615. package/src/internal/Tuple.ts +29 -0
  616. package/src/internal/Value.ts +320 -0
  617. package/src/metro/Graph.ts +78 -0
  618. package/src/metro/Watch.ts +88 -0
  619. package/src/metro/index.ts +99 -0
  620. package/src/metro/transformer.ts +97 -0
  621. package/src/next/index.ts +114 -0
  622. package/src/next/loader.ts +369 -0
  623. package/src/node/Host.ts +1204 -0
  624. package/src/node/index.ts +6 -0
  625. package/src/react-native/Host.ts +289 -0
  626. package/src/react-native/StyleSheet.ts +1084 -0
  627. package/src/react-native/Variants.ts +122 -0
  628. package/src/react-native/index.ts +7 -0
  629. package/src/react-native/internal/Color.ts +110 -0
  630. package/src/react-native/internal/NativeSchema.ts +3096 -0
  631. package/src/react-native/internal/Scalar.ts +253 -0
  632. package/src/react-native/internal/Values.ts +87 -0
  633. package/src/react-native/react.ts +47 -0
  634. package/src/reset.css +244 -0
  635. package/src/runtime/Appearance.ts +155 -0
  636. package/src/runtime/Composition.ts +87 -0
  637. package/src/runtime/CompositionHtml.ts +38 -0
  638. package/src/runtime/ConditionalRecipe.ts +70 -0
  639. package/src/runtime/Dynamic.ts +51 -0
  640. package/src/runtime/Html.ts +91 -0
  641. package/src/runtime/Native.ts +144 -0
  642. package/src/runtime/NativeContext.ts +74 -0
  643. package/src/runtime/NativeDynamic.ts +246 -0
  644. package/src/runtime/PayloadRecipe.ts +96 -0
  645. package/src/runtime/Props.ts +33 -0
  646. package/src/runtime/Recipe.ts +74 -0
  647. package/src/runtime/Selection.ts +82 -0
  648. package/src/runtime/Variable.ts +15 -0
  649. package/src/runtime/index.ts +45 -0
  650. package/src/styleFunction.ts +138 -0
  651. package/src/themes/LICENSE.tailwind +21 -0
  652. package/src/variable.ts +105 -0
  653. package/src/variants.ts +218 -0
  654. package/src/vite/index.ts +1473 -0
  655. package/src/web/Css.ts +801 -0
  656. package/src/web/colorProfile.ts +60 -0
  657. package/src/web/counterStyle.ts +82 -0
  658. package/src/web/cssFunction.ts +181 -0
  659. package/src/web/customMedia.ts +16 -0
  660. package/src/web/fontFace.ts +41 -0
  661. package/src/web/fontFeatureValues.ts +79 -0
  662. package/src/web/fontPaletteValues.ts +42 -0
  663. package/src/web/global.ts +39 -0
  664. package/src/web/importCss.ts +23 -0
  665. package/src/web/index.ts +22 -0
  666. package/src/web/internal/Block.ts +29 -0
  667. package/src/web/internal/ClassName.ts +112 -0
  668. package/src/web/internal/Context.ts +16 -0
  669. package/src/web/internal/Contributions.ts +219 -0
  670. package/src/web/internal/Namespace.ts +21 -0
  671. package/src/web/internal/Themes.ts +133 -0
  672. package/src/web/keyframes.ts +43 -0
  673. package/src/web/layers.ts +6 -0
  674. package/src/web/namespace.ts +19 -0
  675. package/src/web/page.ts +140 -0
  676. package/src/web/positionTry.ts +71 -0
  677. package/src/web/property.ts +35 -0
  678. package/src/web/viewTransition.ts +89 -0
@@ -0,0 +1,464 @@
1
+ /** Resolves known applications into ordered compiler-owned composition groups. @module */
2
+ import * as Identity from '../../internal/Identity.js';
3
+ import * as Walker from 'oxc-walker';
4
+ import * as ConditionalRecipe from '../../runtime/ConditionalRecipe.js';
5
+ import * as Applications from './Applications.js';
6
+ import * as CompositionBindings from './CompositionBindings.js';
7
+ import * as Expression from './Expression.js';
8
+ import * as Scope from './Scope.js';
9
+ import * as Themes from './Themes.js';
10
+ /** Collects ordered compositions without evaluating expressions or changing binding reads. */
11
+ export function collect(options) {
12
+ if (!options.program.body.some((node) => node.type === 'ImportDeclaration' &&
13
+ node.source.value === 'zyzz' &&
14
+ node.importKind !== 'type' &&
15
+ node.specifiers.some((specifier) => specifier.type === 'ImportSpecifier' &&
16
+ (specifier.imported.type === 'Identifier'
17
+ ? specifier.imported.name
18
+ : specifier.imported.value) === 'cx')))
19
+ return [];
20
+ const bodies = new Map();
21
+ const undefinedReads = new Set();
22
+ const applications = Applications.create(options.program, options.calls, {
23
+ dynamic: true,
24
+ });
25
+ const scope = new Scope.Tracker();
26
+ const bindings = CompositionBindings.create({
27
+ declaration: (name) => scope.getDeclaration(name)?.node,
28
+ });
29
+ const nodes = [];
30
+ const aliases = new Map();
31
+ const externalCalls = new Map();
32
+ const externalStyles = new Map();
33
+ const externalApplications = new Map();
34
+ function external(node) {
35
+ if (node.type === 'Identifier') {
36
+ const binding = scope.getDeclaration(node.name);
37
+ const alias = binding?.node && aliases.get(binding.node);
38
+ if (alias)
39
+ return alias;
40
+ if (binding?.type === 'Import' &&
41
+ binding.importNode.importKind !== 'type')
42
+ return options.links?.[node.name];
43
+ }
44
+ if (node.type === 'MemberExpression' &&
45
+ !node.computed &&
46
+ !node.optional &&
47
+ node.property.type === 'Identifier')
48
+ return external(node.object)?.members?.[node.property.name];
49
+ return undefined;
50
+ }
51
+ Walker.walk(options.program, {
52
+ scopeTracker: scope,
53
+ enter(node, parent) {
54
+ applications?.enter(node, parent);
55
+ bindings.enter(node, parent);
56
+ if (node.type === 'VariableDeclarator' &&
57
+ node.init &&
58
+ parent?.type === 'VariableDeclaration' &&
59
+ parent.kind === 'const') {
60
+ const link = external(node.init);
61
+ if (link && node.id.type === 'Identifier')
62
+ aliases.set(node.id, link);
63
+ if (link && node.id.type === 'ObjectPattern')
64
+ for (const property of node.id.properties)
65
+ if (property.type === 'Property' &&
66
+ !property.computed &&
67
+ property.key.type === 'Identifier' &&
68
+ property.value.type === 'Identifier') {
69
+ const member = link.members?.[property.key.name];
70
+ if (member)
71
+ aliases.set(property.value, member);
72
+ }
73
+ }
74
+ if (node.type === 'CallExpression') {
75
+ const link = external(node.callee);
76
+ if (link?.style && !node.optional) {
77
+ const name = link.binding;
78
+ externalCalls.set(name, {
79
+ end: -1,
80
+ identity: name,
81
+ portable: link.style.className,
82
+ name,
83
+ ...(link.style.output ? { output: link.style.output } : {}),
84
+ ownership: {
85
+ attributes: link.style.attributes,
86
+ identity: name,
87
+ slots: link.style.slots,
88
+ },
89
+ start: node.start,
90
+ });
91
+ externalStyles.set(name, { ...link.style.style, name });
92
+ externalApplications.set(node.start, {
93
+ calleeEnd: node.callee.end,
94
+ end: node.end,
95
+ name,
96
+ start: node.start,
97
+ });
98
+ }
99
+ const call = options.calls.find((call) => call.start === node.start);
100
+ const argument = node.arguments[0];
101
+ const body = call?.body ??
102
+ (argument?.type === 'ArrowFunctionExpression'
103
+ ? Expression.unwrap(argument.body)
104
+ : argument);
105
+ if (call && body?.type === 'ObjectExpression')
106
+ bodies.set(call.start, body);
107
+ }
108
+ if (node.type === 'Identifier' &&
109
+ node.name === 'undefined' &&
110
+ !scope.getDeclaration(node.name))
111
+ undefinedReads.add(node.start);
112
+ if (node.type !== 'CallExpression' || node.callee.type !== 'Identifier')
113
+ return;
114
+ const binding = scope.getDeclaration(node.callee.name);
115
+ if (binding?.type !== 'Import' ||
116
+ binding.importNode.source.value !== 'zyzz' ||
117
+ binding.node.type !== 'ImportSpecifier' ||
118
+ binding.importNode.importKind === 'type' ||
119
+ binding.node.importKind === 'type')
120
+ return;
121
+ const imported = binding.node.imported;
122
+ if ((imported.type === 'Identifier' ? imported.name : imported.value) ===
123
+ 'cx')
124
+ nodes.push(node);
125
+ },
126
+ });
127
+ const applied = new Map([...(applications?.find() ?? []), ...externalApplications.values()].map((application) => [application.start, application]));
128
+ const calls = new Map(options.calls.map((call) => [call.start, call]));
129
+ const byName = new Map([...options.calls, ...externalCalls.values()].map((call) => [
130
+ call.name,
131
+ call,
132
+ ]));
133
+ const styles = new Map([...options.styles, ...externalStyles.values()].map((style) => [
134
+ style.name,
135
+ style,
136
+ ]));
137
+ const result = [];
138
+ for (const node of nodes.sort((a, b) => a.start < b.start && a.end >= b.end
139
+ ? 1
140
+ : b.start < a.start && b.end >= a.end
141
+ ? -1
142
+ : a.start - b.start)) {
143
+ const selected = [];
144
+ const inputs = [];
145
+ let runtime = false;
146
+ let conditions = 0;
147
+ const attributes = new Map();
148
+ function owners(call) {
149
+ if (call.ownership)
150
+ return [call.ownership];
151
+ if (call.runtimeComposition)
152
+ return call.runtimeComposition.flatMap((input) => input.owners);
153
+ return [
154
+ {
155
+ identity: call.name,
156
+ attributes: Object.keys(call.recipe?.axes ?? {}).flatMap((axis) => [
157
+ `data-${axis}`,
158
+ ...(call.recipe?.conditions ?? []).map((_, condition) => ConditionalRecipe.attribute({ axis, condition })),
159
+ ]),
160
+ slots: [
161
+ ...Object.values(call.slots ?? {}).map((slot) => slot.name),
162
+ ...(call.recipe?.payloads ?? []).flatMap((payload) => payload.slots.flatMap((slots) => Object.values(slots))),
163
+ ],
164
+ },
165
+ ];
166
+ }
167
+ function input(call, value, condition, applicationStart = value.start) {
168
+ const owned = owners(call);
169
+ for (const owner of owned)
170
+ for (const attribute of owner.attributes) {
171
+ const previous = attributes.get(attribute);
172
+ if (previous && previous !== owner.identity)
173
+ throw new Themes.InvalidError(`Recipe attribute ${attribute} has conflicting owners.`, value);
174
+ attributes.set(attribute, owner.identity);
175
+ }
176
+ inputs.push({
177
+ applicationStart,
178
+ end: value.end,
179
+ name: call.name,
180
+ owners: owned,
181
+ start: value.start,
182
+ ...(condition !== undefined ? { condition } : {}),
183
+ });
184
+ }
185
+ const guards = [];
186
+ if (node.optional)
187
+ throw new Themes.InvalidError('Composition does not support optional calls.', node);
188
+ for (const argument of node.arguments) {
189
+ const expression = Expression.unwrap(argument);
190
+ const resolved = bindings.resolve(expression, nodes);
191
+ const conditional = resolved.type === 'LogicalExpression' && resolved.operator === '&&';
192
+ const condition = conditional ? conditions++ : undefined;
193
+ const value = conditional
194
+ ? bindings.resolve(resolved.right, nodes)
195
+ : resolved;
196
+ runtime ||= conditional || resolved !== expression;
197
+ if (conditional &&
198
+ (undefinedReads.has(value.start) ||
199
+ (value.type === 'Literal' &&
200
+ (value.value === false || value.value === null)) ||
201
+ (value.type === 'UnaryExpression' &&
202
+ value.operator === 'void' &&
203
+ value.argument.type === 'Literal')))
204
+ throw new Themes.InvalidError('Conditional omissions must be evaluated outside composition.', expression);
205
+ const omitted = undefinedReads.has(value.start) ||
206
+ (value.type === 'Literal' &&
207
+ (value.value === false || value.value === null)) ||
208
+ (value.type === 'UnaryExpression' &&
209
+ value.operator === 'void' &&
210
+ value.argument.type === 'Literal');
211
+ if (omitted && resolved !== expression)
212
+ inputs.push({
213
+ end: expression.end,
214
+ name: '',
215
+ owners: [],
216
+ start: expression.start,
217
+ });
218
+ if (undefinedReads.has(value.start))
219
+ continue;
220
+ if (value.type === 'Literal' &&
221
+ (value.value === false || value.value === null))
222
+ continue;
223
+ if (value.type === 'UnaryExpression' &&
224
+ value.operator === 'void' &&
225
+ value.argument.type === 'Literal')
226
+ continue;
227
+ if (value.type !== 'CallExpression' || value.optional)
228
+ throw new Themes.InvalidError('Composition requires statically known local style applications.', value);
229
+ const nested = calls.get(value.start);
230
+ if (nested?.compositionCases && resolved !== expression)
231
+ throw new Themes.InvalidError('Conditional composition results must remain direct arguments.', expression);
232
+ if (nested?.compositionCases && nested.end === value.end) {
233
+ if (conditional)
234
+ throw new Themes.InvalidError('Conditional nested compositions require flattening into one cx call.', expression);
235
+ for (const child of nested.runtimeComposition) {
236
+ if (child.name === '') {
237
+ inputs.push(child);
238
+ continue;
239
+ }
240
+ const call = byName.get(child.name) ??
241
+ [...calls.values()].find((call) => call.name === child.name);
242
+ if (!call)
243
+ throw new Themes.InvalidError('Nested composition has an unresolved definition.', expression);
244
+ selected.push(call);
245
+ input(call, { ...node, start: child.start, end: child.end }, child.condition === undefined ? undefined : conditions++, child.applicationStart);
246
+ }
247
+ runtime = true;
248
+ continue;
249
+ }
250
+ if (nested?.end === value.end &&
251
+ (nested.composition || nested.runtimeComposition)) {
252
+ selected.push(nested);
253
+ guards.push(...(nested.composition ?? []));
254
+ input(nested, expression, condition, value.start);
255
+ runtime ||= !!nested.runtimeComposition;
256
+ continue;
257
+ }
258
+ const found = applied.get(value.start);
259
+ const application = found?.end === value.end ? found : undefined;
260
+ const call = application
261
+ ? byName.get(application.name)
262
+ : value.callee.type === 'CallExpression'
263
+ ? (() => {
264
+ const call = calls.get(value.callee.start);
265
+ return call?.end === value.callee.end ? call : undefined;
266
+ })()
267
+ : undefined;
268
+ if (!call || call.composition || call.runtimeComposition)
269
+ throw new Themes.InvalidError('Composition requires statically known local style applications.', value);
270
+ selected.push(call.ownership ? { ...call, start: value.start } : call);
271
+ input(call, expression, condition, value.start);
272
+ runtime ||= !!(call.ownership ||
273
+ call.recipe ||
274
+ call.slots ||
275
+ value.arguments.length);
276
+ if (application)
277
+ guards.push(options.source.slice(application.start, application.calleeEnd));
278
+ }
279
+ if (selected.some((call) => call.output !== selected[0]?.output))
280
+ throw new Themes.InvalidError('Composition cannot mix HTML and React props.', node);
281
+ if (conditions > 8)
282
+ throw new Themes.InvalidError('Composition supports at most eight conditional arguments.', node);
283
+ const name = `composition-${options.identity}-${node.start}`;
284
+ const style = {
285
+ cssOutput: 'atomic',
286
+ name,
287
+ declarations: [],
288
+ rules: selected.flatMap((call) => {
289
+ const style = styles.get(call.name);
290
+ return (style.rules?.map((rule) => ({
291
+ ...rule,
292
+ style: {
293
+ ...rule.style,
294
+ cssOutput: rule.style.cssOutput ?? style.cssOutput,
295
+ },
296
+ })) ?? [{ style }]);
297
+ }),
298
+ };
299
+ const identities = selected.flatMap((call) => call.identity ? [call.identity] : []);
300
+ function properties(call, body = call.body ?? bodies.get(call.start)) {
301
+ // Imported declarations map to the application; publisher maps retain authored locations.
302
+ if (call.ownership) {
303
+ function declarations(style) {
304
+ return style.rules
305
+ ? style.rules.flatMap((rule) => declarations(rule.style))
306
+ : style.declarations;
307
+ }
308
+ return declarations(styles.get(call.name)).map((declaration) => ({
309
+ type: 'Property',
310
+ computed: false,
311
+ kind: 'init',
312
+ method: false,
313
+ shorthand: false,
314
+ start: call.start,
315
+ end: call.start,
316
+ key: {
317
+ type: 'Literal',
318
+ value: declaration.property,
319
+ raw: JSON.stringify(declaration.property),
320
+ start: call.start,
321
+ end: call.start,
322
+ },
323
+ value: {
324
+ type: 'Literal',
325
+ value: '',
326
+ raw: '""',
327
+ start: call.start,
328
+ end: call.start,
329
+ },
330
+ }));
331
+ }
332
+ return (body?.properties.flatMap((property) => {
333
+ if (property.type !== 'Property')
334
+ return [property];
335
+ const value = Expression.unwrap(property.value);
336
+ if (value.type === 'ObjectExpression')
337
+ return [
338
+ {
339
+ ...property,
340
+ value: { ...value, properties: properties(call, value) },
341
+ },
342
+ ];
343
+ const key = property.key.type === 'Identifier'
344
+ ? property.key.name
345
+ : property.key.type === 'Literal'
346
+ ? String(property.key.value)
347
+ : '';
348
+ return (call.shorthands?.[key] ?? [key]).map((key) => ({
349
+ ...property,
350
+ key: {
351
+ type: 'Literal',
352
+ raw: JSON.stringify(key),
353
+ value: key,
354
+ start: property.key.start,
355
+ end: property.key.end,
356
+ },
357
+ }));
358
+ }) ?? []);
359
+ }
360
+ const portable = (calls) => calls.every((call) => call.portable)
361
+ ? Identity.composition(calls.flatMap((call) => call.portableInputs ?? [call.portable]))
362
+ : undefined;
363
+ const call = {
364
+ ...(portable(selected)
365
+ ? {
366
+ portable: portable(selected),
367
+ portableInputs: selected.flatMap((call) => call.portableInputs ?? [call.portable]),
368
+ }
369
+ : {}),
370
+ name,
371
+ start: node.start,
372
+ end: node.end,
373
+ ...(runtime ? { runtimeComposition: inputs } : { composition: guards }),
374
+ body: {
375
+ type: 'ObjectExpression',
376
+ start: node.start,
377
+ end: node.end,
378
+ properties: selected.flatMap((call) => properties(call)),
379
+ },
380
+ ...(selected[0]?.output ? { output: selected[0].output } : {}),
381
+ ...(identities.length ? { identity: identities.join(' ') } : {}),
382
+ };
383
+ calls.set(node.start, call);
384
+ styles.set(name, style);
385
+ const cases = [];
386
+ const names = [];
387
+ // Omitted bindings retain evaluation but own no selected style.
388
+ const selectedInputs = inputs.filter((input) => input.name !== '');
389
+ for (let mask = 0; mask < 2 ** conditions - 1; mask++) {
390
+ const included = selected.filter((_, index) => selectedInputs[index].condition === undefined ||
391
+ mask & (1 << selectedInputs[index].condition));
392
+ const name = `${call.name}-${mask}`;
393
+ names.push(name);
394
+ cases.push({
395
+ call: {
396
+ ...(portable(included)
397
+ ? {
398
+ portable: portable(included),
399
+ portableInputs: included.flatMap((call) => call.portableInputs ?? [call.portable]),
400
+ }
401
+ : {}),
402
+ name,
403
+ start: call.start,
404
+ end: call.end,
405
+ compositionCase: true,
406
+ body: {
407
+ ...call.body,
408
+ properties: included.flatMap((call) => properties(call)),
409
+ },
410
+ identity: included
411
+ .flatMap((call) => (call.identity ? [call.identity] : []))
412
+ .join(' '),
413
+ },
414
+ style: {
415
+ cssOutput: 'atomic',
416
+ name,
417
+ declarations: [],
418
+ rules: included.flatMap((call) => {
419
+ const style = styles.get(call.name);
420
+ return (style.rules?.map((rule) => ({
421
+ ...rule,
422
+ style: {
423
+ ...rule.style,
424
+ cssOutput: rule.style.cssOutput ?? style.cssOutput,
425
+ },
426
+ })) ?? [{ style }]);
427
+ }),
428
+ },
429
+ });
430
+ }
431
+ names.push(call.name);
432
+ const composed = conditions ? { ...call, compositionCases: names } : call;
433
+ calls.set(node.start, composed);
434
+ result.push({
435
+ call: composed,
436
+ style: immutable(style),
437
+ ...(cases.length
438
+ ? {
439
+ cases: cases.map((entry) => ({
440
+ ...entry,
441
+ style: immutable(entry.style),
442
+ })),
443
+ }
444
+ : {}),
445
+ });
446
+ }
447
+ return result.filter(({ call }) => !result.some(({ call: other }) => !!other.composition &&
448
+ other.start < call.start &&
449
+ other.end >= call.end));
450
+ }
451
+ function immutable(style) {
452
+ if (Object.isFrozen(style))
453
+ return style;
454
+ return Object.freeze({
455
+ ...style,
456
+ declarations: Object.freeze([...style.declarations]),
457
+ ...(style.rules
458
+ ? {
459
+ rules: Object.freeze(style.rules.map((rule) => Object.freeze({ ...rule, style: immutable(rule.style) }))),
460
+ }
461
+ : {}),
462
+ });
463
+ }
464
+ //# sourceMappingURL=Compositions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Compositions.js","sourceRoot":"","sources":["../../../src/compiler/internal/Compositions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type * as Ast from '@oxc-project/types';
2
+ import type * as Themes from './Themes.js';
3
+ /** Reads a direct configuration factory without executing authored expressions. */
4
+ export declare function collect(options: collect.Options): Themes.Link;
5
+ /** Inputs supplied by the lexical theme collector. */
6
+ export declare namespace collect {
7
+ /** Literal reader, source span, identity, and preceding immutable bindings. */
8
+ type Options = {
9
+ /** Existing literal theme reader for scalar input. */
10
+ readonly data: (node: Ast.Node) => unknown;
11
+ /** Direct module-level configuration factory span. */
12
+ readonly expression: Ast.CallExpression;
13
+ /** Stable module/binding identity. */
14
+ readonly name: string;
15
+ /** Looks up preceding immutable theme definitions. */
16
+ readonly resolve: (node: Ast.Node) => Themes.Link | undefined;
17
+ };
18
+ }
19
+ /** Encodes validated literal options as a declaration type, never executable text. */
20
+ export declare function type(value: unknown): string;
21
+ //# sourceMappingURL=Configurations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Configurations.d.ts","sourceRoot":"","sources":["../../../src/compiler/internal/Configurations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,GAAG,MAAM,oBAAoB,CAAA;AAK9C,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAE1C,mFAAmF;AACnF,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAkM7D;AAED,sDAAsD;AACtD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,+EAA+E;IAC/E,KAAK,OAAO,GAAG;QACb,sDAAsD;QACtD,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,OAAO,CAAA;QAC1C,sDAAsD;QACtD,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAA;QACvC,sCAAsC;QACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,sDAAsD;QACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,GAAG,SAAS,CAAA;KAC9D,CAAA;CACF;AAED,sFAAsF;AACtF,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAO3C"}