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,532 @@
1
+ import * as Expression from './Expression.js';
2
+ import * as Themes from './Themes.js';
3
+ import * as Walker from 'oxc-walker';
4
+ /** Collects lexical immutable values and local scalar/object type declarations. */
5
+ export function collect(program, scope, imports = {}) {
6
+ const collector = create(program, scope, imports);
7
+ Walker.walk(program, { ...collector.visitor, scopeTracker: scope });
8
+ return collector;
9
+ }
10
+ /** Collects immutable references during a host-owned traversal of frozen scopes. */
11
+ export function create(program, scope, imports = {}) {
12
+ const values = new Map();
13
+ const references = new Map();
14
+ const usages = new Map();
15
+ const types = new Map();
16
+ const typeReferences = new Map();
17
+ const used = new Set();
18
+ const absent = new Set();
19
+ function collectValues(statements) {
20
+ for (const statement of statements) {
21
+ const node = statement.type === 'ExportNamedDeclaration'
22
+ ? statement.declaration
23
+ : statement;
24
+ if (node?.type === 'TSModuleDeclaration' &&
25
+ node.body?.type === 'TSModuleBlock')
26
+ collectValues(node.body.body);
27
+ if (node?.type === 'VariableDeclaration' && node.kind === 'const')
28
+ for (const declaration of node.declarations)
29
+ if (declaration.id.type === 'Identifier' && declaration.init) {
30
+ values.set(declaration.start, declaration.init);
31
+ }
32
+ }
33
+ }
34
+ collectValues(program.body);
35
+ const imported = new Set();
36
+ for (const statement of program.body)
37
+ if (statement.type === 'ImportDeclaration' &&
38
+ statement.importKind !== 'type')
39
+ for (const specifier of statement.specifiers) {
40
+ const value = imports[specifier.local.name];
41
+ if (!value)
42
+ continue;
43
+ values.set(specifier.start, value);
44
+ imported.add(specifier.start);
45
+ }
46
+ const ancestors = [];
47
+ const visitor = {
48
+ enter(node, parent) {
49
+ ancestors.push(node);
50
+ if (node.type === 'TSTypeAliasDeclaration' && !node.typeParameters)
51
+ types.set(node.id.start, node.typeAnnotation);
52
+ if (node.type === 'TSInterfaceDeclaration' &&
53
+ !node.extends?.length &&
54
+ !node.typeParameters) {
55
+ const key = scope.getDeclaration(node.id.name, { mode: 'type' })?.node.start ??
56
+ node.id.start;
57
+ const previous = types.get(key);
58
+ types.set(key, {
59
+ ...node.body,
60
+ type: 'TSTypeLiteral',
61
+ members: [
62
+ ...(previous?.type === 'TSTypeLiteral' ? previous.members : []),
63
+ ...node.body.body,
64
+ ],
65
+ });
66
+ }
67
+ if (node.type === 'TSTypeReference' &&
68
+ node.typeName.type === 'Identifier' &&
69
+ !node.typeArguments) {
70
+ const declaration = scope.getDeclaration(node.typeName.name, {
71
+ mode: 'type',
72
+ });
73
+ if (declaration)
74
+ typeReferences.set(node.start, declaration.node.start);
75
+ }
76
+ if (node.type !== 'Identifier' ||
77
+ !parent ||
78
+ !Walker.isReferenceIdentifier(node, parent))
79
+ return undefined;
80
+ // Distinguish unbound references from nodes that are not references.
81
+ const binding = scope.getDeclaration(node.name) ?? null;
82
+ if (!binding && node.name === 'undefined')
83
+ absent.add(node.start);
84
+ if (!binding || !values.has(binding.node.start))
85
+ return binding;
86
+ references.set(node.start, binding.node.start);
87
+ const value = Expression.unwrap(values.get(binding.node.start));
88
+ // Escape paths are only consulted for object and array resolutions.
89
+ if (value.type === 'ArrowFunctionExpression' ||
90
+ value.type === 'CallExpression' ||
91
+ value.type === 'FunctionExpression' ||
92
+ value.type === 'Literal' ||
93
+ value.type === 'NewExpression')
94
+ return binding;
95
+ const previous = usages.get(binding.node.start);
96
+ if (previous)
97
+ previous.push([...ancestors]);
98
+ else
99
+ usages.set(binding.node.start, [[...ancestors]]);
100
+ return binding;
101
+ },
102
+ leave() {
103
+ ancestors.pop();
104
+ },
105
+ };
106
+ let aliases;
107
+ function root(node) {
108
+ node = Expression.unwrap(node);
109
+ while (node.type === 'MemberExpression')
110
+ node = node.object;
111
+ return node.type === 'Identifier' ? references.get(node.start) : undefined;
112
+ }
113
+ function initial(input, seen = new Set()) {
114
+ const node = Expression.unwrap(input);
115
+ if (node.type === 'Identifier') {
116
+ const binding = references.get(node.start);
117
+ if (binding === undefined || seen.has(binding))
118
+ return undefined;
119
+ const value = values.get(binding);
120
+ if (!value)
121
+ return undefined;
122
+ seen.add(binding);
123
+ return initial(value, seen);
124
+ }
125
+ if (node.type === 'MemberExpression' && !node.optional) {
126
+ const object = initial(node.object, seen);
127
+ const key = !node.computed && node.property.type === 'Identifier'
128
+ ? node.property.name
129
+ : node.property.type === 'Literal'
130
+ ? String(node.property.value)
131
+ : undefined;
132
+ if (object?.type === 'ObjectExpression' && key !== undefined) {
133
+ for (const property of [...object.properties].reverse()) {
134
+ if (property.type === 'SpreadElement')
135
+ return undefined;
136
+ const name = property.key.type === 'Identifier' && !property.computed
137
+ ? property.key.name
138
+ : property.key.type === 'Literal'
139
+ ? String(property.key.value)
140
+ : undefined;
141
+ if (name === key)
142
+ return property.method || property.kind !== 'init'
143
+ ? undefined
144
+ : initial(property.value, seen);
145
+ }
146
+ }
147
+ if (object?.type === 'ArrayExpression' &&
148
+ key !== undefined &&
149
+ /^(?:0|[1-9]\d*)$/.test(key)) {
150
+ if (object.elements
151
+ .slice(0, Number(key) + 1)
152
+ .some((element) => element?.type === 'SpreadElement'))
153
+ return undefined;
154
+ const element = object.elements[Number(key)];
155
+ return element && element.type !== 'SpreadElement'
156
+ ? initial(element, seen)
157
+ : undefined;
158
+ }
159
+ return undefined;
160
+ }
161
+ return node;
162
+ }
163
+ function scalar(node) {
164
+ const value = initial(node);
165
+ return (value?.type === 'Literal' ||
166
+ value?.type === 'TemplateLiteral' ||
167
+ (value?.type === 'UnaryExpression' && value.operator !== 'delete'));
168
+ }
169
+ function owners(input) {
170
+ const node = Expression.unwrap(input);
171
+ if (scalar(node))
172
+ return [];
173
+ const owner = root(node);
174
+ if (owner !== undefined)
175
+ return [owner];
176
+ if (node.type === 'ObjectExpression')
177
+ return node.properties.flatMap((property) => property.type === 'SpreadElement'
178
+ ? owners(property.argument)
179
+ : property.type === 'Property'
180
+ ? owners(property.value)
181
+ : []);
182
+ if (node.type === 'ArrayExpression')
183
+ return node.elements.flatMap((element) => element
184
+ ? owners(element.type === 'SpreadElement' ? element.argument : element)
185
+ : []);
186
+ return [];
187
+ }
188
+ function paths(binding, seen = new Set()) {
189
+ if (!aliases) {
190
+ aliases = new Map();
191
+ for (const [id, input] of values)
192
+ for (const owner of owners(input))
193
+ aliases.set(owner, [...(aliases.get(owner) ?? []), id]);
194
+ }
195
+ if (seen.has(binding))
196
+ return [];
197
+ seen.add(binding);
198
+ return [
199
+ ...(usages.get(binding) ?? []),
200
+ ...(aliases.get(binding) ?? []).flatMap((alias) => paths(alias, seen)),
201
+ ];
202
+ }
203
+ function resolve(node, allowed, active = new Set()) {
204
+ node = Expression.unwrap(node);
205
+ if (node.type === 'Identifier') {
206
+ const binding = references.get(node.start);
207
+ const value = binding === undefined ? undefined : values.get(binding);
208
+ if (binding === undefined || !value)
209
+ return node;
210
+ if (active.has(binding) ||
211
+ (!imported.has(binding) && node.start < value.end))
212
+ throw new Themes.InvalidError('Static bindings must be acyclic and follow their declaration.', node);
213
+ active.add(binding);
214
+ const resolved = resolve(value, allowed, active);
215
+ active.delete(binding);
216
+ if (['CallExpression', 'NewExpression', 'Identifier'].includes(resolved.type))
217
+ return node;
218
+ if (resolved.type === 'ObjectExpression' ||
219
+ resolved.type === 'ArrayExpression') {
220
+ for (const path of paths(binding)) {
221
+ if (path.some((node) => allowed.has(node.start)))
222
+ continue;
223
+ if (!path.some((node) => node.type === 'AssignmentExpression' ||
224
+ node.type === 'UpdateExpression' ||
225
+ ((node.type === 'ForInStatement' ||
226
+ node.type === 'ForOfStatement') &&
227
+ path.includes(node.left)) ||
228
+ (node.type === 'UnaryExpression' && node.operator === 'delete')) &&
229
+ path.some((node) => node.type === 'MemberExpression' && scalar(node)))
230
+ continue;
231
+ const unsupported = path.find((node) => ![
232
+ 'Program',
233
+ 'TSModuleDeclaration',
234
+ 'TSModuleBlock',
235
+ 'VariableDeclaration',
236
+ 'VariableDeclarator',
237
+ 'Identifier',
238
+ 'MemberExpression',
239
+ 'ObjectExpression',
240
+ 'Property',
241
+ 'ArrayExpression',
242
+ 'SpreadElement',
243
+ 'TSAsExpression',
244
+ 'TSSatisfiesExpression',
245
+ 'TSNonNullExpression',
246
+ 'TSTypeAssertion',
247
+ 'ExportNamedDeclaration',
248
+ 'ExportDefaultDeclaration',
249
+ 'ExportSpecifier',
250
+ ].includes(node.type));
251
+ if (unsupported)
252
+ throw new Themes.InvalidError('Static data cannot be mutated or escape through unsupported expressions.', unsupported);
253
+ const write = path.find((node) => (node.type === 'VariableDeclarator' &&
254
+ (node.id.type !== 'Identifier' || !values.has(node.start))) ||
255
+ node.type === 'AssignmentExpression' ||
256
+ node.type === 'UpdateExpression' ||
257
+ (node.type === 'UnaryExpression' && node.operator === 'delete') ||
258
+ ((node.type === 'ForInStatement' ||
259
+ node.type === 'ForOfStatement') &&
260
+ path.some((value) => value === node.left)));
261
+ const call = path.find((node) => node.type === 'CallExpression' || node.type === 'NewExpression');
262
+ if (write || call)
263
+ throw new Themes.InvalidError('Static data cannot be mutated or escape to runtime calls.', write ?? call);
264
+ }
265
+ }
266
+ used.add(resolved.start);
267
+ return resolved;
268
+ }
269
+ if (node.type === 'MemberExpression' && !node.optional) {
270
+ const object = resolve(node.object, allowed, active);
271
+ const key = node.property.type === 'Identifier' && !node.computed
272
+ ? node.property.name
273
+ : node.property.type === 'Literal'
274
+ ? String(node.property.value)
275
+ : undefined;
276
+ if (key !== undefined && object.type === 'ObjectExpression') {
277
+ const entries = properties(object, allowed);
278
+ if (entries.some((property) => property.type === 'Property' &&
279
+ property.computed &&
280
+ property.key.type !== 'Literal'))
281
+ throw new Themes.InvalidError('Static member reads cannot cross unresolved computed keys.', node);
282
+ const property = entries.find((property) => property.type === 'Property' &&
283
+ (property.key.type === 'Identifier'
284
+ ? property.key.name
285
+ : property.key.type === 'Literal'
286
+ ? String(property.key.value)
287
+ : undefined) === key);
288
+ if (property?.type === 'Property')
289
+ return resolve(property.value, allowed, active);
290
+ }
291
+ if (key !== undefined &&
292
+ object.type === 'ArrayExpression' &&
293
+ /^(?:0|[1-9]\d*)$/.test(key)) {
294
+ if (object.elements
295
+ .slice(0, Number(key) + 1)
296
+ .some((element) => element?.type === 'SpreadElement'))
297
+ throw new Themes.InvalidError('Static array indexes cannot cross spread elements.', node);
298
+ const element = object.elements[Number(key)];
299
+ if (element && element.type !== 'SpreadElement')
300
+ return resolve(element, allowed, active);
301
+ }
302
+ }
303
+ used.add(node.start);
304
+ return node;
305
+ }
306
+ function properties(node, allowed) {
307
+ const result = new Map();
308
+ for (const property of node.properties) {
309
+ const entries = property.type === 'SpreadElement'
310
+ ? (() => {
311
+ const value = resolve(property.argument, allowed);
312
+ if (value.type !== 'ObjectExpression')
313
+ throw new Themes.InvalidError('Static spreads require an immutable object literal.', property);
314
+ return properties(value, allowed);
315
+ })()
316
+ : [property];
317
+ for (const entry of entries) {
318
+ if (entry.type !== 'Property')
319
+ throw new Themes.InvalidError('Unsupported static object entry.', entry);
320
+ if (!entry.computed &&
321
+ ((entry.key.type === 'Identifier' &&
322
+ entry.key.name === '__proto__') ||
323
+ (entry.key.type === 'Literal' && entry.key.value === '__proto__')))
324
+ throw new Themes.InvalidError('Static object prototypes are unsupported.', entry);
325
+ if (entry.computed && entry.key.type !== 'Literal') {
326
+ result.set(`computed:${entry.start}`, entry);
327
+ continue;
328
+ }
329
+ const key = entry.key.type === 'Identifier'
330
+ ? entry.key.name
331
+ : entry.key.type === 'Literal'
332
+ ? String(entry.key.value)
333
+ : undefined;
334
+ if (key === undefined || entry.method || entry.kind !== 'init')
335
+ throw new Themes.InvalidError('Static data requires literal property keys without methods.', entry);
336
+ result.set(key, entry.shorthand ? { ...entry, shorthand: false } : entry);
337
+ }
338
+ }
339
+ return [...result.values()];
340
+ }
341
+ function type(node, active = new Set()) {
342
+ if (node.type === 'TSTypeReference' &&
343
+ node.typeName.type === 'Identifier') {
344
+ const name = typeReferences.get(node.start);
345
+ if (name === undefined)
346
+ return node;
347
+ const value = types.get(name);
348
+ if (!value)
349
+ return node;
350
+ if (active.has(name))
351
+ throw new Themes.InvalidError('Dynamic type aliases must be acyclic.', node);
352
+ active.add(name);
353
+ const result = type(value, active);
354
+ active.delete(name);
355
+ return result;
356
+ }
357
+ if (node.type === 'TSParenthesizedType')
358
+ return type(node.typeAnnotation, active);
359
+ if (node.type === 'TSIntersectionType') {
360
+ const parts = node.types.map((value) => type(value, active));
361
+ if (parts.every((part) => part.type === 'TSTypeLiteral'))
362
+ return {
363
+ ...node,
364
+ type: 'TSTypeLiteral',
365
+ members: parts
366
+ .flatMap((part) => part.type === 'TSTypeLiteral' ? part.members : [])
367
+ .reduce((members, member) => {
368
+ if (member.type !== 'TSPropertySignature' ||
369
+ member.computed ||
370
+ !member.typeAnnotation)
371
+ return [...members, member];
372
+ const key = member.key.type === 'Identifier'
373
+ ? member.key.name
374
+ : member.key.type === 'Literal'
375
+ ? member.key.value
376
+ : undefined;
377
+ const index = members.findIndex((value) => value.type === 'TSPropertySignature' &&
378
+ !value.computed &&
379
+ value.typeAnnotation &&
380
+ key !== undefined &&
381
+ key ===
382
+ (value.key.type === 'Identifier'
383
+ ? value.key.name
384
+ : value.key.type === 'Literal'
385
+ ? value.key.value
386
+ : undefined));
387
+ const previous = members[index];
388
+ if (previous?.type !== 'TSPropertySignature' ||
389
+ !previous.typeAnnotation)
390
+ return [...members, member];
391
+ members[index] = {
392
+ ...previous,
393
+ optional: previous.optional && member.optional,
394
+ typeAnnotation: {
395
+ ...previous.typeAnnotation,
396
+ typeAnnotation: {
397
+ type: 'TSIntersectionType',
398
+ start: previous.start,
399
+ end: member.end,
400
+ types: [
401
+ previous.typeAnnotation.typeAnnotation,
402
+ member.typeAnnotation.typeAnnotation,
403
+ ],
404
+ },
405
+ },
406
+ };
407
+ return members;
408
+ }, []),
409
+ };
410
+ return { ...node, types: parts };
411
+ }
412
+ if (node.type === 'TSUnionType')
413
+ return {
414
+ ...node,
415
+ types: node.types.map((value) => type(value, active)),
416
+ };
417
+ if (node.type === 'TSTemplateLiteralType')
418
+ return {
419
+ ...node,
420
+ types: node.types.map((value) => type(value, active)),
421
+ };
422
+ return node;
423
+ }
424
+ function normalize(node, allowed, opaque = new Set(), omitUndefined = false) {
425
+ if (opaque.has(node.start))
426
+ return node;
427
+ node = resolve(node, allowed);
428
+ if (node.type === 'ObjectExpression') {
429
+ const expanded = properties(node, allowed).filter((property) => {
430
+ if (!omitUndefined || property.type !== 'Property')
431
+ return true;
432
+ const value = Expression.unwrap(property.value);
433
+ return !(value.type === 'Identifier' &&
434
+ value.name === 'undefined' &&
435
+ absent.has(value.start));
436
+ });
437
+ const normalized = expanded.map((property) => property.type === 'Property'
438
+ ? (() => {
439
+ const value = normalize(property.value, allowed, opaque, omitUndefined);
440
+ return value === property.value
441
+ ? property
442
+ : { ...property, value };
443
+ })()
444
+ : property);
445
+ return normalized.length === node.properties.length &&
446
+ normalized.every((property, index) => property === node.properties[index])
447
+ ? node
448
+ : { ...node, properties: normalized };
449
+ }
450
+ if (node.type === 'ArrayExpression') {
451
+ const elements = node.elements.map((element) => element && element.type !== 'SpreadElement'
452
+ ? normalize(element, allowed, opaque, omitUndefined)
453
+ : element);
454
+ return elements.every((element, index) => element === node.elements[index])
455
+ ? node
456
+ : { ...node, elements };
457
+ }
458
+ if (node.type === 'TemplateLiteral') {
459
+ const expressions = node.expressions.map((expression) => normalize(expression, allowed, opaque, omitUndefined));
460
+ return expressions.every((expression, index) => expression === node.expressions[index])
461
+ ? node
462
+ : { ...node, expressions };
463
+ }
464
+ return node;
465
+ }
466
+ return {
467
+ visitor,
468
+ /** Recognizes the unshadowed undefined value without evaluating expressions. */
469
+ absent(input) {
470
+ const node = Expression.unwrap(input);
471
+ return (node.type === 'Identifier' &&
472
+ node.name === 'undefined' &&
473
+ absent.has(node.start));
474
+ },
475
+ /** Resolves an exported immutable literal without evaluating module code. */
476
+ exported(name) {
477
+ for (const statement of program.body) {
478
+ const declaration = statement.type === 'ExportNamedDeclaration'
479
+ ? statement.declaration
480
+ : statement;
481
+ if (declaration?.type !== 'VariableDeclaration' ||
482
+ declaration.kind !== 'const')
483
+ continue;
484
+ for (const value of declaration.declarations) {
485
+ if (value.id.type !== 'Identifier' ||
486
+ value.id.name !== name ||
487
+ !value.init)
488
+ continue;
489
+ const reference = {
490
+ ...value.id,
491
+ start: program.end + 1,
492
+ end: program.end + 1,
493
+ };
494
+ references.set(reference.start, value.start);
495
+ try {
496
+ return normalize(reference, new Set(), new Set(), true);
497
+ }
498
+ finally {
499
+ references.delete(reference.start);
500
+ }
501
+ }
502
+ }
503
+ for (const statement of program.body) {
504
+ if (statement.type !== 'ImportDeclaration')
505
+ continue;
506
+ const specifier = statement.specifiers.find((specifier) => specifier.local.name === name);
507
+ if (!specifier || !imports[name])
508
+ continue;
509
+ const reference = {
510
+ ...specifier.local,
511
+ start: program.end + 1,
512
+ end: program.end + 1,
513
+ };
514
+ references.set(reference.start, specifier.start);
515
+ try {
516
+ return normalize(reference, new Set(), new Set(), true);
517
+ }
518
+ finally {
519
+ references.delete(reference.start);
520
+ }
521
+ }
522
+ return undefined;
523
+ },
524
+ resolve,
525
+ properties,
526
+ type,
527
+ used,
528
+ normalize,
529
+ bindings: new Set(values.keys()),
530
+ };
531
+ }
532
+ //# sourceMappingURL=Static.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Static.js","sourceRoot":"","sources":["../../../src/compiler/internal/Static.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /** Carries source-owned stylesheet sections across packed boundaries and rebases their assets. @module */
2
+ import * as Mapping from '@jridgewell/gen-mapping';
3
+ import type * as Namespace from '../../web/internal/Namespace.js';
4
+ /** Identifies the owner of invalid packed stylesheet output. */
5
+ export declare class ConflictError extends Error {
6
+ readonly source: string;
7
+ /** Attaches the contract/source identity to the rendering failure. */
8
+ constructor(source: string, message: string);
9
+ name: string;
10
+ }
11
+ /** Ordered CSS owned by one portable source module. */
12
+ export type Section = {
13
+ /** Isolated selector namespaces belonging to the source owner. */
14
+ readonly namespaces?: readonly Namespace.Definition[] | undefined;
15
+ /** Portable identity of the contributing source module. */
16
+ readonly source: string;
17
+ /** Trusted graph owner; ignored when reading external metadata. */
18
+ readonly owner?: string | undefined;
19
+ /** Import chain to the declaring contract when repacked through dependencies. */
20
+ readonly dependency?: readonly string[] | undefined;
21
+ /** Stable contribution identity within its source module. */
22
+ readonly key?: string | undefined;
23
+ /** Ordered emitted CSS before host asset relocation. */
24
+ readonly css: string;
25
+ /** Authored layer-order constraints retained across packages. */
26
+ readonly layers: readonly (readonly string[])[];
27
+ /** Original source text, when available for source maps. */
28
+ readonly content?: string | undefined;
29
+ /** Start offset of this contribution in original source text. */
30
+ readonly start?: number | undefined;
31
+ };
32
+ /** Resolves a relative path within a portable graph, retaining query/hash suffixes. */
33
+ export declare function resolve(source: string, reference: string): string;
34
+ /** Makes a module location relative to another module for relocation in a package. */
35
+ export declare function relative(owner: string, source: string): string;
36
+ /** Combines reachable sections, layer constraints, source maps, and asset identities. */
37
+ export declare function render(sections: readonly Section[]): {
38
+ css: string;
39
+ map: Mapping.EncodedSourceMap;
40
+ assets: Record<string, string>;
41
+ owners: Record<string, string>;
42
+ };
43
+ /** Reads packed sections as validated data; CSS is parsed before emission. */
44
+ export declare function read(value: unknown): readonly Section[];
45
+ /** Serializes source text once per packed source identity. */
46
+ export declare function write(sections: readonly Section[]): readonly Section[];
47
+ //# sourceMappingURL=Stylesheets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Stylesheets.d.ts","sourceRoot":"","sources":["../../../src/compiler/internal/Stylesheets.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAClD,OAAO,KAAK,KAAK,SAAS,MAAM,iCAAiC,CAAA;AAKjE,gEAAgE;AAChE,qBAAa,aAAc,SAAQ,KAAK;IAGpC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAFzB,sEAAsE;IACtE,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAGhB;IACQ,IAAI,SAA8B;CAC5C;AAED,uDAAuD;AACvD,MAAM,MAAM,OAAO,GAAG;IACpB,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,SAAS,CAAC,UAAU,EAAE,GAAG,SAAS,CAAA;IACjE,2DAA2D;IAC3D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,mEAAmE;IACnE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACnD,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAA;IAC/C,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACpC,CAAA;AAED,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAkBjE;AAED,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED,yFAAyF;AACzF,wBAAgB,MAAM,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE;;;;;EAuLlD;AAED,8EAA8E;AAC9E,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,OAAO,EAAE,CA8EvD;AAED,8DAA8D;AAC9D,wBAAgB,KAAK,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,OAAO,EAAE,CAWtE"}