zyzz 0.0.0 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +380 -0
  3. package/dist/Config.d.ts +170 -0
  4. package/dist/Config.d.ts.map +1 -0
  5. package/dist/Config.js +249 -0
  6. package/dist/Config.js.map +1 -0
  7. package/dist/Props.d.ts +7 -0
  8. package/dist/Props.d.ts.map +1 -0
  9. package/dist/Props.js +3 -0
  10. package/dist/Props.js.map +1 -0
  11. package/dist/Style.d.ts +170 -0
  12. package/dist/Style.d.ts.map +1 -0
  13. package/dist/Style.js +325 -0
  14. package/dist/Style.js.map +1 -0
  15. package/dist/Theme.d.ts +157 -0
  16. package/dist/Theme.d.ts.map +1 -0
  17. package/dist/Theme.js +273 -0
  18. package/dist/Theme.js.map +1 -0
  19. package/dist/babel/NativeEdits.d.ts +8 -0
  20. package/dist/babel/NativeEdits.d.ts.map +1 -0
  21. package/dist/babel/NativeEdits.js +233 -0
  22. package/dist/babel/NativeEdits.js.map +1 -0
  23. package/dist/babel/NativeJsx.d.ts +10 -0
  24. package/dist/babel/NativeJsx.d.ts.map +1 -0
  25. package/dist/babel/NativeJsx.js +204 -0
  26. package/dist/babel/NativeJsx.js.map +1 -0
  27. package/dist/babel/index.d.ts +51 -0
  28. package/dist/babel/index.d.ts.map +1 -0
  29. package/dist/babel/index.js +220 -0
  30. package/dist/babel/index.js.map +1 -0
  31. package/dist/cli/index.d.ts +3 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +178 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/compiler/Graph.d.ts +64 -0
  36. package/dist/compiler/Graph.d.ts.map +1 -0
  37. package/dist/compiler/Graph.js +1111 -0
  38. package/dist/compiler/Graph.js.map +1 -0
  39. package/dist/compiler/Native.d.ts +53 -0
  40. package/dist/compiler/Native.d.ts.map +1 -0
  41. package/dist/compiler/Native.js +617 -0
  42. package/dist/compiler/Native.js.map +1 -0
  43. package/dist/compiler/Source.d.ts +167 -0
  44. package/dist/compiler/Source.d.ts.map +1 -0
  45. package/dist/compiler/Source.js +1012 -0
  46. package/dist/compiler/Source.js.map +1 -0
  47. package/dist/compiler/Transform.d.ts +57 -0
  48. package/dist/compiler/Transform.d.ts.map +1 -0
  49. package/dist/compiler/Transform.js +886 -0
  50. package/dist/compiler/Transform.js.map +1 -0
  51. package/dist/compiler/index.d.ts +13 -0
  52. package/dist/compiler/index.d.ts.map +1 -0
  53. package/dist/compiler/index.js +13 -0
  54. package/dist/compiler/index.js.map +1 -0
  55. package/dist/compiler/internal/Applications.d.ts +35 -0
  56. package/dist/compiler/internal/Applications.d.ts.map +1 -0
  57. package/dist/compiler/internal/Applications.js +248 -0
  58. package/dist/compiler/internal/Applications.js.map +1 -0
  59. package/dist/compiler/internal/AtRules.d.ts +8 -0
  60. package/dist/compiler/internal/AtRules.d.ts.map +1 -0
  61. package/dist/compiler/internal/AtRules.js +180 -0
  62. package/dist/compiler/internal/AtRules.js.map +1 -0
  63. package/dist/compiler/internal/Catalogs.d.ts +19 -0
  64. package/dist/compiler/internal/Catalogs.d.ts.map +1 -0
  65. package/dist/compiler/internal/Catalogs.js +68 -0
  66. package/dist/compiler/internal/Catalogs.js.map +1 -0
  67. package/dist/compiler/internal/ColorProfiles.d.ts +3 -0
  68. package/dist/compiler/internal/ColorProfiles.d.ts.map +1 -0
  69. package/dist/compiler/internal/ColorProfiles.js +84 -0
  70. package/dist/compiler/internal/ColorProfiles.js.map +1 -0
  71. package/dist/compiler/internal/CompositionBindings.d.ts +16 -0
  72. package/dist/compiler/internal/CompositionBindings.d.ts.map +1 -0
  73. package/dist/compiler/internal/CompositionBindings.js +89 -0
  74. package/dist/compiler/internal/CompositionBindings.js.map +1 -0
  75. package/dist/compiler/internal/Compositions.d.ts +32 -0
  76. package/dist/compiler/internal/Compositions.d.ts.map +1 -0
  77. package/dist/compiler/internal/Compositions.js +464 -0
  78. package/dist/compiler/internal/Compositions.js.map +1 -0
  79. package/dist/compiler/internal/Configurations.d.ts +21 -0
  80. package/dist/compiler/internal/Configurations.d.ts.map +1 -0
  81. package/dist/compiler/internal/Configurations.js +171 -0
  82. package/dist/compiler/internal/Configurations.js.map +1 -0
  83. package/dist/compiler/internal/Contract.d.ts +27 -0
  84. package/dist/compiler/internal/Contract.d.ts.map +1 -0
  85. package/dist/compiler/internal/Contract.js +607 -0
  86. package/dist/compiler/internal/Contract.js.map +1 -0
  87. package/dist/compiler/internal/Contributions.d.ts +54 -0
  88. package/dist/compiler/internal/Contributions.d.ts.map +1 -0
  89. package/dist/compiler/internal/Contributions.js +1109 -0
  90. package/dist/compiler/internal/Contributions.js.map +1 -0
  91. package/dist/compiler/internal/Descriptors.d.ts +15 -0
  92. package/dist/compiler/internal/Descriptors.d.ts.map +1 -0
  93. package/dist/compiler/internal/Descriptors.js +183 -0
  94. package/dist/compiler/internal/Descriptors.js.map +1 -0
  95. package/dist/compiler/internal/Dynamic.d.ts +14 -0
  96. package/dist/compiler/internal/Dynamic.d.ts.map +1 -0
  97. package/dist/compiler/internal/Dynamic.js +172 -0
  98. package/dist/compiler/internal/Dynamic.js.map +1 -0
  99. package/dist/compiler/internal/Edits.d.ts +12 -0
  100. package/dist/compiler/internal/Edits.d.ts.map +1 -0
  101. package/dist/compiler/internal/Edits.js +5 -0
  102. package/dist/compiler/internal/Edits.js.map +1 -0
  103. package/dist/compiler/internal/Expression.d.ts +12 -0
  104. package/dist/compiler/internal/Expression.d.ts.map +1 -0
  105. package/dist/compiler/internal/Expression.js +98 -0
  106. package/dist/compiler/internal/Expression.js.map +1 -0
  107. package/dist/compiler/internal/Functions.d.ts +5 -0
  108. package/dist/compiler/internal/Functions.d.ts.map +1 -0
  109. package/dist/compiler/internal/Functions.js +191 -0
  110. package/dist/compiler/internal/Functions.js.map +1 -0
  111. package/dist/compiler/internal/Identifiers.d.ts +9 -0
  112. package/dist/compiler/internal/Identifiers.d.ts.map +1 -0
  113. package/dist/compiler/internal/Identifiers.js +106 -0
  114. package/dist/compiler/internal/Identifiers.js.map +1 -0
  115. package/dist/compiler/internal/Keyframes.d.ts +5 -0
  116. package/dist/compiler/internal/Keyframes.d.ts.map +1 -0
  117. package/dist/compiler/internal/Keyframes.js +51 -0
  118. package/dist/compiler/internal/Keyframes.js.map +1 -0
  119. package/dist/compiler/internal/Namespaces.d.ts +17 -0
  120. package/dist/compiler/internal/Namespaces.d.ts.map +1 -0
  121. package/dist/compiler/internal/Namespaces.js +265 -0
  122. package/dist/compiler/internal/Namespaces.js.map +1 -0
  123. package/dist/compiler/internal/NativeBindings.d.ts +74 -0
  124. package/dist/compiler/internal/NativeBindings.d.ts.map +1 -0
  125. package/dist/compiler/internal/NativeBindings.js +117 -0
  126. package/dist/compiler/internal/NativeBindings.js.map +1 -0
  127. package/dist/compiler/internal/PackedStyles.d.ts +35 -0
  128. package/dist/compiler/internal/PackedStyles.d.ts.map +1 -0
  129. package/dist/compiler/internal/PackedStyles.js +345 -0
  130. package/dist/compiler/internal/PackedStyles.js.map +1 -0
  131. package/dist/compiler/internal/Properties.d.ts +5 -0
  132. package/dist/compiler/internal/Properties.d.ts.map +1 -0
  133. package/dist/compiler/internal/Properties.js +82 -0
  134. package/dist/compiler/internal/Properties.js.map +1 -0
  135. package/dist/compiler/internal/RecipeConditions.d.ts +41 -0
  136. package/dist/compiler/internal/RecipeConditions.d.ts.map +1 -0
  137. package/dist/compiler/internal/RecipeConditions.js +82 -0
  138. package/dist/compiler/internal/RecipeConditions.js.map +1 -0
  139. package/dist/compiler/internal/RecipePayloads.d.ts +31 -0
  140. package/dist/compiler/internal/RecipePayloads.d.ts.map +1 -0
  141. package/dist/compiler/internal/RecipePayloads.js +99 -0
  142. package/dist/compiler/internal/RecipePayloads.js.map +1 -0
  143. package/dist/compiler/internal/Recipes.d.ts +32 -0
  144. package/dist/compiler/internal/Recipes.d.ts.map +1 -0
  145. package/dist/compiler/internal/Recipes.js +339 -0
  146. package/dist/compiler/internal/Recipes.js.map +1 -0
  147. package/dist/compiler/internal/Relative.d.ts +19 -0
  148. package/dist/compiler/internal/Relative.d.ts.map +1 -0
  149. package/dist/compiler/internal/Relative.js +62 -0
  150. package/dist/compiler/internal/Relative.js.map +1 -0
  151. package/dist/compiler/internal/Scope.d.ts +10 -0
  152. package/dist/compiler/internal/Scope.d.ts.map +1 -0
  153. package/dist/compiler/internal/Scope.js +28 -0
  154. package/dist/compiler/internal/Scope.js.map +1 -0
  155. package/dist/compiler/internal/Selectors.d.ts +12 -0
  156. package/dist/compiler/internal/Selectors.d.ts.map +1 -0
  157. package/dist/compiler/internal/Selectors.js +265 -0
  158. package/dist/compiler/internal/Selectors.js.map +1 -0
  159. package/dist/compiler/internal/Static.d.ts +39 -0
  160. package/dist/compiler/internal/Static.d.ts.map +1 -0
  161. package/dist/compiler/internal/Static.js +532 -0
  162. package/dist/compiler/internal/Static.js.map +1 -0
  163. package/dist/compiler/internal/Stylesheets.d.ts +47 -0
  164. package/dist/compiler/internal/Stylesheets.d.ts.map +1 -0
  165. package/dist/compiler/internal/Stylesheets.js +272 -0
  166. package/dist/compiler/internal/Stylesheets.js.map +1 -0
  167. package/dist/compiler/internal/Syntax.d.ts +17 -0
  168. package/dist/compiler/internal/Syntax.d.ts.map +1 -0
  169. package/dist/compiler/internal/Syntax.js +19 -0
  170. package/dist/compiler/internal/Syntax.js.map +1 -0
  171. package/dist/compiler/internal/Themes.d.ts +158 -0
  172. package/dist/compiler/internal/Themes.d.ts.map +1 -0
  173. package/dist/compiler/internal/Themes.js +1169 -0
  174. package/dist/compiler/internal/Themes.js.map +1 -0
  175. package/dist/compiler/internal/Variables.d.ts +31 -0
  176. package/dist/compiler/internal/Variables.d.ts.map +1 -0
  177. package/dist/compiler/internal/Variables.js +376 -0
  178. package/dist/compiler/internal/Variables.js.map +1 -0
  179. package/dist/compiler/internal/ViewTransitions.d.ts +3 -0
  180. package/dist/compiler/internal/ViewTransitions.d.ts.map +1 -0
  181. package/dist/compiler/internal/ViewTransitions.js +68 -0
  182. package/dist/compiler/internal/ViewTransitions.js.map +1 -0
  183. package/dist/cx.d.ts +18 -0
  184. package/dist/cx.d.ts.map +1 -0
  185. package/dist/cx.js +60 -0
  186. package/dist/cx.js.map +1 -0
  187. package/dist/default.d.ts +3225 -0
  188. package/dist/default.d.ts.map +1 -0
  189. package/dist/default.js +547 -0
  190. package/dist/default.js.map +7 -0
  191. package/dist/default.js.zyzz.json +1 -0
  192. package/dist/index.d.ts +21 -0
  193. package/dist/index.d.ts.map +1 -0
  194. package/dist/index.js +19 -0
  195. package/dist/index.js.map +1 -0
  196. package/dist/internal/Authoring.d.ts +26 -0
  197. package/dist/internal/Authoring.d.ts.map +1 -0
  198. package/dist/internal/Authoring.js +134 -0
  199. package/dist/internal/Authoring.js.map +1 -0
  200. package/dist/internal/Binding.d.ts +64 -0
  201. package/dist/internal/Binding.d.ts.map +1 -0
  202. package/dist/internal/Binding.js +27 -0
  203. package/dist/internal/Binding.js.map +1 -0
  204. package/dist/internal/BindingDomains.d.ts +11 -0
  205. package/dist/internal/BindingDomains.d.ts.map +1 -0
  206. package/dist/internal/BindingDomains.js +459 -0
  207. package/dist/internal/BindingDomains.js.map +1 -0
  208. package/dist/internal/Cascade.d.ts +45 -0
  209. package/dist/internal/Cascade.d.ts.map +1 -0
  210. package/dist/internal/Cascade.js +165 -0
  211. package/dist/internal/Cascade.js.map +1 -0
  212. package/dist/internal/Compound.d.ts +132 -0
  213. package/dist/internal/Compound.d.ts.map +1 -0
  214. package/dist/internal/Compound.js +2 -0
  215. package/dist/internal/Compound.js.map +1 -0
  216. package/dist/internal/Condition.d.ts +33 -0
  217. package/dist/internal/Condition.d.ts.map +1 -0
  218. package/dist/internal/Condition.js +180 -0
  219. package/dist/internal/Condition.js.map +1 -0
  220. package/dist/internal/Corner.d.ts +9 -0
  221. package/dist/internal/Corner.d.ts.map +1 -0
  222. package/dist/internal/Corner.js +14 -0
  223. package/dist/internal/Corner.js.map +1 -0
  224. package/dist/internal/FunctionSyntax.d.ts +27 -0
  225. package/dist/internal/FunctionSyntax.d.ts.map +1 -0
  226. package/dist/internal/FunctionSyntax.js +91 -0
  227. package/dist/internal/FunctionSyntax.js.map +1 -0
  228. package/dist/internal/FunctionValue.d.ts +19 -0
  229. package/dist/internal/FunctionValue.d.ts.map +1 -0
  230. package/dist/internal/FunctionValue.js +2 -0
  231. package/dist/internal/FunctionValue.js.map +1 -0
  232. package/dist/internal/Geometry.d.ts +8 -0
  233. package/dist/internal/Geometry.d.ts.map +1 -0
  234. package/dist/internal/Geometry.js +2 -0
  235. package/dist/internal/Geometry.js.map +1 -0
  236. package/dist/internal/Grid.d.ts +15 -0
  237. package/dist/internal/Grid.d.ts.map +1 -0
  238. package/dist/internal/Grid.js +2 -0
  239. package/dist/internal/Grid.js.map +1 -0
  240. package/dist/internal/Identifier.d.ts +15 -0
  241. package/dist/internal/Identifier.d.ts.map +1 -0
  242. package/dist/internal/Identifier.js +2 -0
  243. package/dist/internal/Identifier.js.map +1 -0
  244. package/dist/internal/Identity.d.ts +16 -0
  245. package/dist/internal/Identity.d.ts.map +1 -0
  246. package/dist/internal/Identity.js +78 -0
  247. package/dist/internal/Identity.js.map +1 -0
  248. package/dist/internal/Lexical.d.ts +89 -0
  249. package/dist/internal/Lexical.d.ts.map +1 -0
  250. package/dist/internal/Lexical.js +15 -0
  251. package/dist/internal/Lexical.js.map +1 -0
  252. package/dist/internal/Literal.d.ts +3459 -0
  253. package/dist/internal/Literal.d.ts.map +1 -0
  254. package/dist/internal/Literal.js +3371 -0
  255. package/dist/internal/Literal.js.map +1 -0
  256. package/dist/internal/NativeProperties.d.ts +596 -0
  257. package/dist/internal/NativeProperties.d.ts.map +1 -0
  258. package/dist/internal/NativeProperties.js +2 -0
  259. package/dist/internal/NativeProperties.js.map +1 -0
  260. package/dist/internal/Numeric.d.ts +23 -0
  261. package/dist/internal/Numeric.d.ts.map +1 -0
  262. package/dist/internal/Numeric.js +2 -0
  263. package/dist/internal/Numeric.js.map +1 -0
  264. package/dist/internal/Query.d.ts +15 -0
  265. package/dist/internal/Query.d.ts.map +1 -0
  266. package/dist/internal/Query.js +58 -0
  267. package/dist/internal/Query.js.map +1 -0
  268. package/dist/internal/Recipe.d.ts +17 -0
  269. package/dist/internal/Recipe.d.ts.map +1 -0
  270. package/dist/internal/Recipe.js +2 -0
  271. package/dist/internal/Recipe.js.map +1 -0
  272. package/dist/internal/RuleReference.d.ts +23 -0
  273. package/dist/internal/RuleReference.d.ts.map +1 -0
  274. package/dist/internal/RuleReference.js +65 -0
  275. package/dist/internal/RuleReference.js.map +1 -0
  276. package/dist/internal/Scheme.d.ts +12 -0
  277. package/dist/internal/Scheme.d.ts.map +1 -0
  278. package/dist/internal/Scheme.js +16 -0
  279. package/dist/internal/Scheme.js.map +1 -0
  280. package/dist/internal/Shorthands.d.ts +20 -0
  281. package/dist/internal/Shorthands.d.ts.map +1 -0
  282. package/dist/internal/Shorthands.js +50 -0
  283. package/dist/internal/Shorthands.js.map +1 -0
  284. package/dist/internal/Targets.d.ts +43 -0
  285. package/dist/internal/Targets.d.ts.map +1 -0
  286. package/dist/internal/Targets.js +60 -0
  287. package/dist/internal/Targets.js.map +1 -0
  288. package/dist/internal/Token.d.ts +104 -0
  289. package/dist/internal/Token.d.ts.map +1 -0
  290. package/dist/internal/Token.js +162 -0
  291. package/dist/internal/Token.js.map +1 -0
  292. package/dist/internal/Tuple.d.ts +23 -0
  293. package/dist/internal/Tuple.d.ts.map +1 -0
  294. package/dist/internal/Tuple.js +2 -0
  295. package/dist/internal/Tuple.js.map +1 -0
  296. package/dist/internal/Typography.d.ts +23 -0
  297. package/dist/internal/Typography.d.ts.map +1 -0
  298. package/dist/internal/Typography.js +18 -0
  299. package/dist/internal/Typography.js.map +1 -0
  300. package/dist/internal/Value.d.ts +74 -0
  301. package/dist/internal/Value.d.ts.map +1 -0
  302. package/dist/internal/Value.js +60 -0
  303. package/dist/internal/Value.js.map +1 -0
  304. package/dist/metro/Graph.d.ts +8 -0
  305. package/dist/metro/Graph.d.ts.map +1 -0
  306. package/dist/metro/Graph.js +63 -0
  307. package/dist/metro/Graph.js.map +1 -0
  308. package/dist/metro/Watch.d.ts +21 -0
  309. package/dist/metro/Watch.d.ts.map +1 -0
  310. package/dist/metro/Watch.js +51 -0
  311. package/dist/metro/Watch.js.map +1 -0
  312. package/dist/metro/index.d.ts +30 -0
  313. package/dist/metro/index.d.ts.map +1 -0
  314. package/dist/metro/index.js +52 -0
  315. package/dist/metro/index.js.map +1 -0
  316. package/dist/metro/transformer.d.ts +21 -0
  317. package/dist/metro/transformer.d.ts.map +1 -0
  318. package/dist/metro/transformer.js +71 -0
  319. package/dist/metro/transformer.js.map +1 -0
  320. package/dist/next/index.d.ts +18 -0
  321. package/dist/next/index.d.ts.map +1 -0
  322. package/dist/next/index.js +92 -0
  323. package/dist/next/index.js.map +1 -0
  324. package/dist/next/loader.d.ts +16 -0
  325. package/dist/next/loader.d.ts.map +1 -0
  326. package/dist/next/loader.js +282 -0
  327. package/dist/next/loader.js.map +1 -0
  328. package/dist/node/Host.d.ts +80 -0
  329. package/dist/node/Host.d.ts.map +1 -0
  330. package/dist/node/Host.js +882 -0
  331. package/dist/node/Host.js.map +1 -0
  332. package/dist/node/index.d.ts +7 -0
  333. package/dist/node/index.d.ts.map +1 -0
  334. package/dist/node/index.js +7 -0
  335. package/dist/node/index.js.map +1 -0
  336. package/dist/react-native/Host.d.ts +76 -0
  337. package/dist/react-native/Host.d.ts.map +1 -0
  338. package/dist/react-native/Host.js +209 -0
  339. package/dist/react-native/Host.js.map +1 -0
  340. package/dist/react-native/StyleSheet.d.ts +226 -0
  341. package/dist/react-native/StyleSheet.d.ts.map +1 -0
  342. package/dist/react-native/StyleSheet.js +606 -0
  343. package/dist/react-native/StyleSheet.js.map +1 -0
  344. package/dist/react-native/Variants.d.ts +38 -0
  345. package/dist/react-native/Variants.d.ts.map +1 -0
  346. package/dist/react-native/Variants.js +66 -0
  347. package/dist/react-native/Variants.js.map +1 -0
  348. package/dist/react-native/index.d.ts +8 -0
  349. package/dist/react-native/index.d.ts.map +1 -0
  350. package/dist/react-native/index.js +8 -0
  351. package/dist/react-native/index.js.map +1 -0
  352. package/dist/react-native/internal/Color.d.ts +7 -0
  353. package/dist/react-native/internal/Color.d.ts.map +1 -0
  354. package/dist/react-native/internal/Color.js +93 -0
  355. package/dist/react-native/internal/Color.js.map +1 -0
  356. package/dist/react-native/internal/NativeSchema.d.ts +5138 -0
  357. package/dist/react-native/internal/NativeSchema.d.ts.map +1 -0
  358. package/dist/react-native/internal/NativeSchema.js +3097 -0
  359. package/dist/react-native/internal/NativeSchema.js.map +1 -0
  360. package/dist/react-native/internal/Scalar.d.ts +95 -0
  361. package/dist/react-native/internal/Scalar.d.ts.map +1 -0
  362. package/dist/react-native/internal/Scalar.js +199 -0
  363. package/dist/react-native/internal/Scalar.js.map +1 -0
  364. package/dist/react-native/internal/Values.d.ts +5 -0
  365. package/dist/react-native/internal/Values.d.ts.map +1 -0
  366. package/dist/react-native/internal/Values.js +65 -0
  367. package/dist/react-native/internal/Values.js.map +1 -0
  368. package/dist/react-native/react.d.ts +22 -0
  369. package/dist/react-native/react.d.ts.map +1 -0
  370. package/dist/react-native/react.js +26 -0
  371. package/dist/react-native/react.js.map +1 -0
  372. package/dist/reset.css +244 -0
  373. package/dist/runtime/Appearance.d.ts +55 -0
  374. package/dist/runtime/Appearance.d.ts.map +1 -0
  375. package/dist/runtime/Appearance.js +84 -0
  376. package/dist/runtime/Appearance.js.map +1 -0
  377. package/dist/runtime/Composition.d.ts +46 -0
  378. package/dist/runtime/Composition.d.ts.map +1 -0
  379. package/dist/runtime/Composition.js +52 -0
  380. package/dist/runtime/Composition.js.map +1 -0
  381. package/dist/runtime/CompositionHtml.d.ts +15 -0
  382. package/dist/runtime/CompositionHtml.d.ts.map +1 -0
  383. package/dist/runtime/CompositionHtml.js +20 -0
  384. package/dist/runtime/CompositionHtml.js.map +1 -0
  385. package/dist/runtime/ConditionalRecipe.d.ts +30 -0
  386. package/dist/runtime/ConditionalRecipe.d.ts.map +1 -0
  387. package/dist/runtime/ConditionalRecipe.js +39 -0
  388. package/dist/runtime/ConditionalRecipe.js.map +1 -0
  389. package/dist/runtime/Dynamic.d.ts +19 -0
  390. package/dist/runtime/Dynamic.d.ts.map +1 -0
  391. package/dist/runtime/Dynamic.js +22 -0
  392. package/dist/runtime/Dynamic.js.map +1 -0
  393. package/dist/runtime/Html.d.ts +32 -0
  394. package/dist/runtime/Html.d.ts.map +1 -0
  395. package/dist/runtime/Html.js +63 -0
  396. package/dist/runtime/Html.js.map +1 -0
  397. package/dist/runtime/Native.d.ts +48 -0
  398. package/dist/runtime/Native.d.ts.map +1 -0
  399. package/dist/runtime/Native.js +78 -0
  400. package/dist/runtime/Native.js.map +1 -0
  401. package/dist/runtime/NativeContext.d.ts +17 -0
  402. package/dist/runtime/NativeContext.d.ts.map +1 -0
  403. package/dist/runtime/NativeContext.js +47 -0
  404. package/dist/runtime/NativeContext.js.map +1 -0
  405. package/dist/runtime/NativeDynamic.d.ts +47 -0
  406. package/dist/runtime/NativeDynamic.d.ts.map +1 -0
  407. package/dist/runtime/NativeDynamic.js +141 -0
  408. package/dist/runtime/NativeDynamic.js.map +1 -0
  409. package/dist/runtime/PayloadRecipe.d.ts +22 -0
  410. package/dist/runtime/PayloadRecipe.d.ts.map +1 -0
  411. package/dist/runtime/PayloadRecipe.js +59 -0
  412. package/dist/runtime/PayloadRecipe.js.map +1 -0
  413. package/dist/runtime/Props.d.ts +21 -0
  414. package/dist/runtime/Props.d.ts.map +1 -0
  415. package/dist/runtime/Props.js +17 -0
  416. package/dist/runtime/Props.js.map +1 -0
  417. package/dist/runtime/Recipe.d.ts +52 -0
  418. package/dist/runtime/Recipe.d.ts.map +1 -0
  419. package/dist/runtime/Recipe.js +30 -0
  420. package/dist/runtime/Recipe.js.map +1 -0
  421. package/dist/runtime/Selection.d.ts +31 -0
  422. package/dist/runtime/Selection.d.ts.map +1 -0
  423. package/dist/runtime/Selection.js +30 -0
  424. package/dist/runtime/Selection.js.map +1 -0
  425. package/dist/runtime/Variable.d.ts +6 -0
  426. package/dist/runtime/Variable.d.ts.map +1 -0
  427. package/dist/runtime/Variable.js +10 -0
  428. package/dist/runtime/Variable.js.map +1 -0
  429. package/dist/runtime/index.d.ts +33 -0
  430. package/dist/runtime/index.d.ts.map +1 -0
  431. package/dist/runtime/index.js +33 -0
  432. package/dist/runtime/index.js.map +1 -0
  433. package/dist/styleFunction.d.ts +72 -0
  434. package/dist/styleFunction.d.ts.map +1 -0
  435. package/dist/styleFunction.js +18 -0
  436. package/dist/styleFunction.js.map +1 -0
  437. package/dist/themes/LICENSE.tailwind +21 -0
  438. package/dist/variable.d.ts +50 -0
  439. package/dist/variable.d.ts.map +1 -0
  440. package/dist/variable.js +20 -0
  441. package/dist/variable.js.map +1 -0
  442. package/dist/variants.d.ts +84 -0
  443. package/dist/variants.d.ts.map +1 -0
  444. package/dist/variants.js +21 -0
  445. package/dist/variants.js.map +1 -0
  446. package/dist/vite/index.d.ts +24 -0
  447. package/dist/vite/index.d.ts.map +1 -0
  448. package/dist/vite/index.js +1089 -0
  449. package/dist/vite/index.js.map +1 -0
  450. package/dist/web/Css.d.ts +81 -0
  451. package/dist/web/Css.d.ts.map +1 -0
  452. package/dist/web/Css.js +593 -0
  453. package/dist/web/Css.js.map +1 -0
  454. package/dist/web/colorProfile.d.ts +28 -0
  455. package/dist/web/colorProfile.d.ts.map +1 -0
  456. package/dist/web/colorProfile.js +8 -0
  457. package/dist/web/colorProfile.js.map +1 -0
  458. package/dist/web/counterStyle.d.ts +48 -0
  459. package/dist/web/counterStyle.d.ts.map +1 -0
  460. package/dist/web/counterStyle.js +8 -0
  461. package/dist/web/counterStyle.js.map +1 -0
  462. package/dist/web/cssFunction.d.ts +80 -0
  463. package/dist/web/cssFunction.d.ts.map +1 -0
  464. package/dist/web/cssFunction.js +18 -0
  465. package/dist/web/cssFunction.js.map +1 -0
  466. package/dist/web/customMedia.d.ts +12 -0
  467. package/dist/web/customMedia.d.ts.map +1 -0
  468. package/dist/web/customMedia.js +7 -0
  469. package/dist/web/customMedia.js.map +1 -0
  470. package/dist/web/fontFace.d.ts +26 -0
  471. package/dist/web/fontFace.d.ts.map +1 -0
  472. package/dist/web/fontFace.js +7 -0
  473. package/dist/web/fontFace.js.map +1 -0
  474. package/dist/web/fontFeatureValues.d.ts +40 -0
  475. package/dist/web/fontFeatureValues.d.ts.map +1 -0
  476. package/dist/web/fontFeatureValues.js +7 -0
  477. package/dist/web/fontFeatureValues.js.map +1 -0
  478. package/dist/web/fontPaletteValues.d.ts +21 -0
  479. package/dist/web/fontPaletteValues.d.ts.map +1 -0
  480. package/dist/web/fontPaletteValues.js +9 -0
  481. package/dist/web/fontPaletteValues.js.map +1 -0
  482. package/dist/web/global.d.ts +19 -0
  483. package/dist/web/global.d.ts.map +1 -0
  484. package/dist/web/global.js +6 -0
  485. package/dist/web/global.js.map +1 -0
  486. package/dist/web/importCss.d.ts +18 -0
  487. package/dist/web/importCss.d.ts.map +1 -0
  488. package/dist/web/importCss.js +7 -0
  489. package/dist/web/importCss.js.map +1 -0
  490. package/dist/web/index.d.ts +22 -0
  491. package/dist/web/index.d.ts.map +1 -0
  492. package/dist/web/index.js +22 -0
  493. package/dist/web/index.js.map +1 -0
  494. package/dist/web/internal/Block.d.ts +18 -0
  495. package/dist/web/internal/Block.d.ts.map +1 -0
  496. package/dist/web/internal/Block.js +13 -0
  497. package/dist/web/internal/Block.js.map +1 -0
  498. package/dist/web/internal/ClassName.d.ts +19 -0
  499. package/dist/web/internal/ClassName.d.ts.map +1 -0
  500. package/dist/web/internal/ClassName.js +77 -0
  501. package/dist/web/internal/ClassName.js.map +1 -0
  502. package/dist/web/internal/Context.d.ts +11 -0
  503. package/dist/web/internal/Context.d.ts.map +1 -0
  504. package/dist/web/internal/Context.js +2 -0
  505. package/dist/web/internal/Context.js.map +1 -0
  506. package/dist/web/internal/Contributions.d.ts +70 -0
  507. package/dist/web/internal/Contributions.d.ts.map +1 -0
  508. package/dist/web/internal/Contributions.js +109 -0
  509. package/dist/web/internal/Contributions.js.map +1 -0
  510. package/dist/web/internal/Namespace.d.ts +13 -0
  511. package/dist/web/internal/Namespace.d.ts.map +1 -0
  512. package/dist/web/internal/Namespace.js +13 -0
  513. package/dist/web/internal/Namespace.js.map +1 -0
  514. package/dist/web/internal/Themes.d.ts +13 -0
  515. package/dist/web/internal/Themes.d.ts.map +1 -0
  516. package/dist/web/internal/Themes.js +96 -0
  517. package/dist/web/internal/Themes.js.map +1 -0
  518. package/dist/web/keyframes.d.ts +14 -0
  519. package/dist/web/keyframes.d.ts.map +1 -0
  520. package/dist/web/keyframes.js +8 -0
  521. package/dist/web/keyframes.js.map +1 -0
  522. package/dist/web/layers.d.ts +4 -0
  523. package/dist/web/layers.d.ts.map +1 -0
  524. package/dist/web/layers.js +7 -0
  525. package/dist/web/layers.js.map +1 -0
  526. package/dist/web/namespace.d.ts +14 -0
  527. package/dist/web/namespace.d.ts.map +1 -0
  528. package/dist/web/namespace.js +7 -0
  529. package/dist/web/namespace.js.map +1 -0
  530. package/dist/web/page.d.ts +38 -0
  531. package/dist/web/page.d.ts.map +1 -0
  532. package/dist/web/page.js +7 -0
  533. package/dist/web/page.js.map +1 -0
  534. package/dist/web/positionTry.d.ts +14 -0
  535. package/dist/web/positionTry.d.ts.map +1 -0
  536. package/dist/web/positionTry.js +9 -0
  537. package/dist/web/positionTry.js.map +1 -0
  538. package/dist/web/property.d.ts +24 -0
  539. package/dist/web/property.d.ts.map +1 -0
  540. package/dist/web/property.js +7 -0
  541. package/dist/web/property.js.map +1 -0
  542. package/dist/web/viewTransition.d.ts +29 -0
  543. package/dist/web/viewTransition.d.ts.map +1 -0
  544. package/dist/web/viewTransition.js +7 -0
  545. package/dist/web/viewTransition.js.map +1 -0
  546. package/package.json +136 -10
  547. package/src/Config.ts +691 -0
  548. package/src/Props.ts +8 -0
  549. package/src/Style.ts +812 -0
  550. package/src/Theme.ts +784 -0
  551. package/src/babel/NativeEdits.ts +273 -0
  552. package/src/babel/NativeJsx.ts +260 -0
  553. package/src/babel/index.ts +332 -0
  554. package/src/cli/index.ts +196 -0
  555. package/src/compiler/Graph.ts +1586 -0
  556. package/src/compiler/Native.ts +801 -0
  557. package/src/compiler/Source.ts +1579 -0
  558. package/src/compiler/Transform.ts +1241 -0
  559. package/src/compiler/index.ts +12 -0
  560. package/src/compiler/internal/Applications.ts +378 -0
  561. package/src/compiler/internal/AtRules.ts +202 -0
  562. package/src/compiler/internal/Catalogs.ts +114 -0
  563. package/src/compiler/internal/ColorProfiles.ts +93 -0
  564. package/src/compiler/internal/CompositionBindings.ts +120 -0
  565. package/src/compiler/internal/Compositions.ts +629 -0
  566. package/src/compiler/internal/Configurations.ts +244 -0
  567. package/src/compiler/internal/Contract.ts +860 -0
  568. package/src/compiler/internal/Contributions.ts +1507 -0
  569. package/src/compiler/internal/Descriptors.ts +238 -0
  570. package/src/compiler/internal/Dynamic.ts +266 -0
  571. package/src/compiler/internal/Edits.ts +13 -0
  572. package/src/compiler/internal/Expression.ts +135 -0
  573. package/src/compiler/internal/Functions.ts +206 -0
  574. package/src/compiler/internal/Identifiers.ts +124 -0
  575. package/src/compiler/internal/Keyframes.ts +62 -0
  576. package/src/compiler/internal/Namespaces.ts +296 -0
  577. package/src/compiler/internal/NativeBindings.ts +151 -0
  578. package/src/compiler/internal/PackedStyles.ts +464 -0
  579. package/src/compiler/internal/Properties.ts +121 -0
  580. package/src/compiler/internal/RecipeConditions.ts +139 -0
  581. package/src/compiler/internal/RecipePayloads.ts +132 -0
  582. package/src/compiler/internal/Recipes.ts +531 -0
  583. package/src/compiler/internal/Relative.ts +87 -0
  584. package/src/compiler/internal/Scope.ts +36 -0
  585. package/src/compiler/internal/Selectors.ts +334 -0
  586. package/src/compiler/internal/Static.ts +783 -0
  587. package/src/compiler/internal/Stylesheets.ts +361 -0
  588. package/src/compiler/internal/Syntax.ts +31 -0
  589. package/src/compiler/internal/Themes.ts +1794 -0
  590. package/src/compiler/internal/Variables.ts +497 -0
  591. package/src/compiler/internal/ViewTransitions.ts +82 -0
  592. package/src/cx.ts +98 -0
  593. package/src/default.ts +1177 -0
  594. package/src/index.ts +20 -0
  595. package/src/internal/Authoring.ts +199 -0
  596. package/src/internal/Binding.ts +187 -0
  597. package/src/internal/BindingDomains.ts +458 -0
  598. package/src/internal/Cascade.ts +165 -0
  599. package/src/internal/Compound.ts +522 -0
  600. package/src/internal/Condition.ts +283 -0
  601. package/src/internal/Corner.ts +17 -0
  602. package/src/internal/FunctionSyntax.ts +271 -0
  603. package/src/internal/FunctionValue.ts +96 -0
  604. package/src/internal/Geometry.ts +30 -0
  605. package/src/internal/Grid.ts +67 -0
  606. package/src/internal/Identifier.ts +14 -0
  607. package/src/internal/Identity.ts +89 -0
  608. package/src/internal/Lexical.ts +202 -0
  609. package/src/internal/Literal.ts +3820 -0
  610. package/src/internal/NativeProperties.ts +936 -0
  611. package/src/internal/Numeric.ts +77 -0
  612. package/src/internal/Query.ts +87 -0
  613. package/src/internal/Recipe.ts +17 -0
  614. package/src/internal/RuleReference.ts +102 -0
  615. package/src/internal/Scheme.ts +20 -0
  616. package/src/internal/Shorthands.ts +122 -0
  617. package/src/internal/Targets.ts +162 -0
  618. package/src/internal/Token.ts +380 -0
  619. package/src/internal/Tuple.ts +29 -0
  620. package/src/internal/Typography.ts +51 -0
  621. package/src/internal/Value.ts +320 -0
  622. package/src/metro/Graph.ts +78 -0
  623. package/src/metro/Watch.ts +88 -0
  624. package/src/metro/index.ts +99 -0
  625. package/src/metro/transformer.ts +97 -0
  626. package/src/next/index.ts +114 -0
  627. package/src/next/loader.ts +369 -0
  628. package/src/node/Host.ts +1204 -0
  629. package/src/node/index.ts +6 -0
  630. package/src/react-native/Host.ts +289 -0
  631. package/src/react-native/StyleSheet.ts +1084 -0
  632. package/src/react-native/Variants.ts +122 -0
  633. package/src/react-native/index.ts +7 -0
  634. package/src/react-native/internal/Color.ts +110 -0
  635. package/src/react-native/internal/NativeSchema.ts +3096 -0
  636. package/src/react-native/internal/Scalar.ts +253 -0
  637. package/src/react-native/internal/Values.ts +87 -0
  638. package/src/react-native/react.ts +47 -0
  639. package/src/reset.css +244 -0
  640. package/src/runtime/Appearance.ts +155 -0
  641. package/src/runtime/Composition.ts +87 -0
  642. package/src/runtime/CompositionHtml.ts +38 -0
  643. package/src/runtime/ConditionalRecipe.ts +70 -0
  644. package/src/runtime/Dynamic.ts +51 -0
  645. package/src/runtime/Html.ts +91 -0
  646. package/src/runtime/Native.ts +144 -0
  647. package/src/runtime/NativeContext.ts +74 -0
  648. package/src/runtime/NativeDynamic.ts +246 -0
  649. package/src/runtime/PayloadRecipe.ts +96 -0
  650. package/src/runtime/Props.ts +33 -0
  651. package/src/runtime/Recipe.ts +74 -0
  652. package/src/runtime/Selection.ts +82 -0
  653. package/src/runtime/Variable.ts +15 -0
  654. package/src/runtime/index.ts +45 -0
  655. package/src/styleFunction.ts +138 -0
  656. package/src/themes/LICENSE.tailwind +21 -0
  657. package/src/variable.ts +105 -0
  658. package/src/variants.ts +218 -0
  659. package/src/vite/index.ts +1473 -0
  660. package/src/web/Css.ts +801 -0
  661. package/src/web/colorProfile.ts +60 -0
  662. package/src/web/counterStyle.ts +82 -0
  663. package/src/web/cssFunction.ts +181 -0
  664. package/src/web/customMedia.ts +16 -0
  665. package/src/web/fontFace.ts +41 -0
  666. package/src/web/fontFeatureValues.ts +79 -0
  667. package/src/web/fontPaletteValues.ts +42 -0
  668. package/src/web/global.ts +39 -0
  669. package/src/web/importCss.ts +23 -0
  670. package/src/web/index.ts +22 -0
  671. package/src/web/internal/Block.ts +29 -0
  672. package/src/web/internal/ClassName.ts +112 -0
  673. package/src/web/internal/Context.ts +16 -0
  674. package/src/web/internal/Contributions.ts +219 -0
  675. package/src/web/internal/Namespace.ts +21 -0
  676. package/src/web/internal/Themes.ts +133 -0
  677. package/src/web/keyframes.ts +43 -0
  678. package/src/web/layers.ts +6 -0
  679. package/src/web/namespace.ts +19 -0
  680. package/src/web/page.ts +140 -0
  681. package/src/web/positionTry.ts +71 -0
  682. package/src/web/property.ts +35 -0
  683. package/src/web/viewTransition.ts +89 -0
@@ -0,0 +1,77 @@
1
+ /** Refines CSS numeric token spellings entirely within TypeScript. @module */
2
+ type Digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
3
+
4
+ type Digits<
5
+ text extends string,
6
+ prefix extends string = '',
7
+ > = text extends `${infer first}${infer rest}`
8
+ ? first extends Digit
9
+ ? Digits<rest, `${prefix}${first}`>
10
+ : readonly [prefix, text]
11
+ : readonly [prefix, '']
12
+
13
+ type Exponent<
14
+ text extends string,
15
+ integer extends boolean,
16
+ > = text extends `${'e' | 'E'}${infer rest}`
17
+ ? Digits<Sign<rest>> extends readonly [
18
+ infer digits extends string,
19
+ infer unit extends string,
20
+ ]
21
+ ? digits extends ''
22
+ ? readonly [text, integer]
23
+ : readonly [unit, false]
24
+ : never
25
+ : readonly [text, integer]
26
+
27
+ type Sign<text extends string> = text extends `${'+' | '-'}${infer rest}`
28
+ ? rest
29
+ : text
30
+
31
+ type Zeros<text extends string> = text extends ''
32
+ ? true
33
+ : text extends `${'0' | '.'}${infer rest}`
34
+ ? Zeros<rest>
35
+ : false
36
+
37
+ /** Checks a complete CSS number or integer token without allowing JavaScript radix syntax. */
38
+ export type Checked<
39
+ value extends string | number,
40
+ integer extends boolean = false,
41
+ > = `${number}` extends `${value}`
42
+ ? value
43
+ : [Parse<`${value}`>] extends [never]
44
+ ? never
45
+ : Parse<`${value}`> extends readonly ['', infer whole extends boolean]
46
+ ? integer extends true
47
+ ? whole extends true
48
+ ? value
49
+ : never
50
+ : value
51
+ : never
52
+
53
+ /** Returns the unconsumed unit and whether the number has integer token syntax. */
54
+ export type Parse<text extends string> =
55
+ Digits<Sign<text>> extends readonly [
56
+ infer digits extends string,
57
+ infer rest extends string,
58
+ ]
59
+ ? rest extends `.${infer fraction}`
60
+ ? Digits<fraction> extends readonly [
61
+ infer decimal extends string,
62
+ infer unit extends string,
63
+ ]
64
+ ? decimal extends ''
65
+ ? never
66
+ : Exponent<unit, false>
67
+ : never
68
+ : digits extends ''
69
+ ? never
70
+ : Exponent<rest, true>
71
+ : never
72
+
73
+ /** Identifies signed zero mantissas for nonnegative and positive range constraints. */
74
+ export type Zero<value extends string | number> =
75
+ Sign<`${value}`> extends `${infer mantissa}${'e' | 'E'}${string}`
76
+ ? Zeros<mantissa>
77
+ : Zeros<Sign<`${value}`>>
@@ -0,0 +1,87 @@
1
+ /** Carries compile-time query metadata separately from declaration variables. @module */
2
+ import * as Literal from './Literal.js'
3
+
4
+ /** Named thresholds and eligible container identities. */
5
+ export type Metadata = {
6
+ readonly breakpoints: Readonly<Record<string, string>>
7
+ readonly containerNames: readonly string[]
8
+ readonly containers: Readonly<Record<string, string>>
9
+ }
10
+
11
+ /** Supported fixed nonnegative threshold lengths. */
12
+ export type Length = Exclude<Literal.Length, `${number}%` | number | '0'>
13
+
14
+ /** Checks threshold structure without converting relative CSS units. */
15
+ export function threshold(value: unknown): value is string {
16
+ if (typeof value !== 'string') return false
17
+
18
+ const match = /^([+]?(?:\d*\.\d+|\d+)(?:[eE][+-]?\d+)?)([a-z]+)$/i.exec(value)
19
+
20
+ return (
21
+ !!match &&
22
+ Number.isFinite(Number(match[1])) &&
23
+ Literal.lengthUnits.some(
24
+ (unit) => unit.toLowerCase() === match[2]!.toLowerCase(),
25
+ ) &&
26
+ match[2] !== '%'
27
+ )
28
+ }
29
+
30
+ /** Resolves exact named width comparisons and ranges; raw conditions pass through. */
31
+ export function resolve(key: string, metadata: Metadata): string {
32
+ const match = /^@(media|container)[ \t\n\r\f]+([\s\S]+)$/.exec(
33
+ key.replace(/\/\*[^]*?\*\//g, ' '),
34
+ )
35
+ if (!match) return key
36
+
37
+ const kind = match[1]!
38
+ const text = match[2]!.trim()
39
+ if (
40
+ text.includes('(') ||
41
+ (kind === 'media' &&
42
+ /^(?:(?:only|not)\s+)?(?:all|print|screen)(?:\s|,|$)/i.test(text))
43
+ )
44
+ return key
45
+ const pieces = text.split(/[ \t\n\r\f]+/)
46
+
47
+ const name =
48
+ kind === 'container' && pieces.length === 2 ? pieces.shift() : undefined
49
+ if (name && !metadata.containerNames.includes(name))
50
+ throw new Error('Unknown container name.')
51
+
52
+ if (pieces.length !== 1) throw new Error('Malformed query alias.')
53
+
54
+ const alias = pieces[0]!
55
+ const values = kind === 'media' ? metadata.breakpoints : metadata.containers
56
+
57
+ const read = (name: string) => {
58
+ const value = Object.hasOwn(values, name) ? values[name] : undefined
59
+ if (value === undefined) throw new Error('Unknown query threshold.')
60
+
61
+ return value
62
+ }
63
+
64
+ const condition = (() => {
65
+ if (alias.includes('..')) {
66
+ const range = alias.split('..')
67
+ if (range.length !== 2) throw new Error('Malformed query range.')
68
+
69
+ const lower = read(range[0]!)
70
+ const upper = read(range[1]!)
71
+ const unit = (value: string) =>
72
+ value
73
+ .replace(/^[+]?(?:\d*\.\d+|\d+)(?:[eE][+-]?\d+)?/, '')
74
+ .toLowerCase()
75
+ if (unit(lower) === unit(upper) && parseFloat(lower) >= parseFloat(upper))
76
+ throw new Error('Query range must increase.')
77
+
78
+ return `${lower} <= width < ${upper}`
79
+ }
80
+
81
+ if (alias.startsWith('<')) return `width < ${read(alias.slice(1))}`
82
+
83
+ return `width >= ${read(alias.startsWith('>=') ? alias.slice(2) : alias)}`
84
+ })()
85
+
86
+ return `@${kind} ${name ? `${name} ` : ''}(${condition})`
87
+ }
@@ -0,0 +1,17 @@
1
+ /** Retains ordered finite recipe alternatives independently of an output target. @module */
2
+ import type * as Style from '../Style.js'
3
+
4
+ /** Static recipe data shared by source extraction and target compilers. */
5
+ export type Definition<value = Style.Definition> = {
6
+ /** Ordered axes and their finite choice names. */
7
+ readonly axes: Readonly<Record<string, readonly string[]>>
8
+ /** Default choices, with null suppressing an axis. */
9
+ readonly defaults: Readonly<Record<string, string | null>>
10
+ /** Base, choices, and compounds in application order. */
11
+ readonly rules: readonly {
12
+ /** Required choices by axis. An empty list always matches. */
13
+ readonly matches: readonly (readonly [string, readonly string[]])[]
14
+ /** Target-independent declarations or their compiled value. */
15
+ readonly value: value
16
+ }[]
17
+ }
@@ -0,0 +1,102 @@
1
+ /** Distinguishes compiler-owned CSS identities from unrelated declaration domains. @module */
2
+ declare const reference: unique symbol
3
+ /** Supported named stylesheet identity domains. */
4
+ export type Kind =
5
+ | 'colorProfile'
6
+ | 'counterStyle'
7
+ | 'cssFunction'
8
+ | 'customMedia'
9
+ | 'fontPaletteValues'
10
+ | 'positionTry'
11
+ /** A fixed CSS name whose domain remains visible to authoring types. */
12
+ export type Reference<kind extends Kind> = (kind extends 'counterStyle'
13
+ ? string
14
+ : `--${string}`) & {
15
+ readonly [reference]: kind
16
+ }
17
+ /** Rejects named references outside their property's CSS identity domain. */
18
+ export type Check<value, property> = typeof reference extends keyof value
19
+ ? value[typeof reference] extends Domain<property>
20
+ ? unknown
21
+ : never
22
+ : value extends readonly unknown[]
23
+ ? { [index in keyof value]: Check<value[index], property> }
24
+ : unknown
25
+
26
+ type Domain<property> = property extends `--${string}`
27
+ ? Kind
28
+ : property extends 'fallback' | 'listStyle' | 'listStyleType' | 'speakAs'
29
+ ? 'counterStyle'
30
+ : property extends 'fontPalette'
31
+ ? 'fontPaletteValues'
32
+ : property extends 'positionTry' | 'positionTryFallbacks'
33
+ ? 'positionTry'
34
+ : never
35
+ /** Checks domain-sensitive descriptor members without widening literals. */
36
+ export type Checked<value> = { [key in keyof value]: Check<value[key], key> }
37
+
38
+ /** Checks the domain of a compiler-owned identity at untyped source boundaries. */
39
+ export function accepts(kind: Kind, property: string): boolean {
40
+ if (kind === 'cssFunction') return true
41
+ if (kind === 'customMedia') return false
42
+ if (property.startsWith('--')) return true
43
+ if (kind === 'counterStyle')
44
+ return [
45
+ 'fallback',
46
+ 'listStyle',
47
+ 'listStyleType',
48
+ 'speakAs',
49
+ 'system',
50
+ ].includes(property)
51
+ if (kind === 'fontPaletteValues') return property === 'fontPalette'
52
+ if (kind === 'positionTry')
53
+ return ['positionTry', 'positionTryFallbacks'].includes(property)
54
+ return false
55
+ }
56
+
57
+ /** Permits profile identities only as the color-space argument of color(). */
58
+ export function acceptsExpression(
59
+ kind: Kind,
60
+ property: string,
61
+ prefix: string,
62
+ ): boolean {
63
+ if (kind === 'colorProfile') {
64
+ const text = prefix.replace(/\/\*[\s\S]*?\*\//g, ' ')
65
+ const groups: { name: string; start: number }[] = []
66
+ let quote = ''
67
+ for (let index = 0; index < text.length; index++) {
68
+ const char = text[index]!
69
+ if (char === '\\') {
70
+ index++
71
+ continue
72
+ }
73
+ if (quote) {
74
+ if (char === quote) quote = ''
75
+ continue
76
+ }
77
+ if (char === '"' || char === "'") {
78
+ quote = char
79
+ continue
80
+ }
81
+ if (char === '(')
82
+ groups.push({
83
+ name:
84
+ text
85
+ .slice(0, index)
86
+ .match(/[\w-]+$/)?.[0]
87
+ ?.toLowerCase() ?? '',
88
+ start: index + 1,
89
+ })
90
+ else if (char === ')') groups.pop()
91
+ }
92
+
93
+ const group = groups.at(-1)
94
+ if (quote || group?.name !== 'color') return false
95
+ const body = text.slice(group.start)
96
+ if (!body.trim()) return true
97
+
98
+ return /^\s*from\s+(?:#[\da-f]+|[-\w]+(?:\([\s\S]*\))?)\s+$/i.test(body)
99
+ }
100
+
101
+ return accepts(kind, property)
102
+ }
@@ -0,0 +1,20 @@
1
+ /** Names the stylesheet classes that select a color scheme beside a theme scope. @module */
2
+
3
+ /** Supported scheme selections. */
4
+ export type Name = 'dark' | 'light' | 'light dark'
5
+
6
+ /**
7
+ * Compiled class per scheme. Carrying `color-scheme` in stylesheet rules lets
8
+ * Lightning CSS initialize its lowered `light-dark()` helpers when a downstream
9
+ * bundler targets browsers without native support; inline styles cannot.
10
+ */
11
+ export const classes: Readonly<Record<Name, string>> = Object.freeze({
12
+ dark: 'z_scheme-dark',
13
+ light: 'z_scheme-light',
14
+ 'light dark': 'z_scheme-light-dark',
15
+ })
16
+
17
+ /** Selection rules emitted once beside each stylesheet's theme scopes. */
18
+ export const css = (Object.keys(classes) as Name[])
19
+ .map((scheme) => `.${classes[scheme]}{color-scheme:${scheme};}`)
20
+ .join('\n')
@@ -0,0 +1,122 @@
1
+ /** Validates ordered configuration property aliases without interpreting CSS values. @module */
2
+ import * as Literal from './Literal.js'
3
+
4
+ /** Explicit aliases, each expanding in its declared target order. */
5
+ export type Map = Readonly<Record<string, readonly [Property, ...Property[]]>>
6
+ /** Standard properties accepted as alias targets. */
7
+ export type Property = Exclude<keyof Literal.Properties, `--${string}`>
8
+
9
+ /** Copies validated configuration data; throws for invalid aliases or targets. */
10
+ export function read(value: unknown): Map {
11
+ if (
12
+ !value ||
13
+ typeof value !== 'object' ||
14
+ Array.isArray(value) ||
15
+ (Object.getPrototypeOf(value) !== null &&
16
+ Object.getPrototypeOf(value) !== Object.prototype)
17
+ )
18
+ throw new Error('shorthands must be a property mapping record.')
19
+
20
+ const entries = Object.entries(Object.getOwnPropertyDescriptors(value))
21
+
22
+ return Object.freeze(
23
+ Object.setPrototypeOf(
24
+ Object.fromEntries(
25
+ entries.map(([name, descriptor]) => {
26
+ if (
27
+ !name ||
28
+ name.startsWith(':') ||
29
+ name.startsWith('@') ||
30
+ name.startsWith('--') ||
31
+ name.includes('&') ||
32
+ Object.hasOwn(Literal.rules, name) ||
33
+ [
34
+ 'style',
35
+ 'theme',
36
+ 'themes',
37
+ 'typography',
38
+ 'script',
39
+ 'variants',
40
+ '__proto__',
41
+ ].includes(name)
42
+ )
43
+ throw new Error(`Invalid shorthand name: ${name}`)
44
+
45
+ const targets: unknown = descriptor.value
46
+ if (
47
+ !('value' in descriptor) ||
48
+ !Array.isArray(targets) ||
49
+ !targets.length
50
+ )
51
+ throw new Error(
52
+ `Shorthand ${name} requires a nonempty property tuple.`,
53
+ )
54
+
55
+ const result: Property[] = []
56
+
57
+ for (let index = 0; index < targets.length; index++) {
58
+ const target: unknown = Object.getOwnPropertyDescriptor(
59
+ targets,
60
+ String(index),
61
+ )?.value
62
+ if (
63
+ typeof target !== 'string' ||
64
+ !Object.hasOwn(Literal.rules, target) ||
65
+ result.includes(target as Property)
66
+ )
67
+ throw new Error(
68
+ `Shorthand ${name} requires unique standard properties.`,
69
+ )
70
+
71
+ result.push(target as Property)
72
+ }
73
+
74
+ return [name, Object.freeze(result)]
75
+ }),
76
+ ),
77
+ null,
78
+ ),
79
+ ) as Map
80
+ }
81
+
82
+ /** Canonicalizes alias names while preserving each ordered target tuple. */
83
+ export function signature(value: unknown): string {
84
+ return JSON.stringify(
85
+ Object.entries(read(value === undefined ? {} : value)).sort(([a], [b]) =>
86
+ a < b ? -1 : a > b ? 1 : 0,
87
+ ),
88
+ )
89
+ }
90
+
91
+ /** Rejects duplicate targets and names reserved by the authoring surface. */
92
+ export type Validated<mappings extends Map> = {
93
+ [key in keyof mappings]: key extends string
94
+ ? key extends
95
+ | keyof Literal.Properties
96
+ | `:${string}`
97
+ | `@${string}`
98
+ | `${string}&${string}`
99
+ | 'style'
100
+ | 'theme'
101
+ | 'themes'
102
+ | 'typography'
103
+ | 'script'
104
+ | 'variants'
105
+ | '__proto__'
106
+ | ''
107
+ ? never
108
+ : Unique<mappings[key]>
109
+ : never
110
+ }
111
+
112
+ type Unique<
113
+ targets extends readonly Property[],
114
+ seen extends Property = never,
115
+ > = targets extends readonly [
116
+ infer target extends Property,
117
+ ...infer rest extends readonly Property[],
118
+ ]
119
+ ? target extends seen
120
+ ? never
121
+ : Unique<rest, seen | target>
122
+ : unknown
@@ -0,0 +1,162 @@
1
+ /** Copies static target data without retaining or freezing caller-owned objects. @module */
2
+ import type * as Native from './NativeProperties.js'
3
+ import type * as Style from '../Style.js'
4
+
5
+ /** Type-only authoring data retained for destination component compatibility. */
6
+ export declare const authored: unique symbol
7
+
8
+ /** Per-style destination domains, computed only when a compiler consumes them. */
9
+ export type Domains<input> = [input] extends [never]
10
+ ? unknown
11
+ : {
12
+ [key in keyof input]: {
13
+ android: Overflow<input[key], 'android'>
14
+ ios: Overflow<input[key], 'ios'>
15
+ native: Overflow<input[key], undefined>
16
+ }
17
+ }
18
+
19
+ /** Retains the selected overflow domain, which differs between Image and View. */
20
+ export type Overflow<input, platform> = Merge<
21
+ Value<input>,
22
+ Merge<
23
+ Value<Branch<input, 'native'>>,
24
+ platform extends 'ios' | 'android'
25
+ ? Value<Branch<input, platform>>
26
+ : undefined
27
+ >
28
+ >
29
+ type Branch<input, key extends PropertyKey> = input extends {
30
+ readonly targets?: infer targets
31
+ }
32
+ ? key extends keyof NonNullable<targets>
33
+ ? NonNullable<targets>[key]
34
+ : never
35
+ : never
36
+ type Value<input> = [input] extends [never]
37
+ ? undefined
38
+ : 'overflow' extends keyof NonNullable<input>
39
+ ? NonNullable<input>['overflow']
40
+ : undefined
41
+ type Merge<before, after> =
42
+ | Exclude<after, undefined>
43
+ | (undefined extends after ? before : never)
44
+
45
+ /** Checks nested native literal keys without accepting host-owned values. */
46
+ export type Checked<input, expected> = expected extends unknown
47
+ ? input extends expected
48
+ ? input extends readonly unknown[]
49
+ ? expected extends readonly (infer value)[]
50
+ ? readonly Checked<input[number], value>[]
51
+ : never
52
+ : input extends object
53
+ ? {
54
+ [key in keyof input]: key extends keyof expected
55
+ ? Checked<input[key], expected[key]>
56
+ : never
57
+ }
58
+ : input
59
+ : never
60
+ : never
61
+
62
+ /** Checks only authored native properties against their destination domains. */
63
+ export type Declarations<input> = input extends undefined
64
+ ? undefined
65
+ : input extends (...args: never[]) => unknown
66
+ ? never
67
+ : input extends object
68
+ ? {
69
+ [key in keyof input]: key extends keyof Native.Properties
70
+ ? Checked<input[key], Native.Properties[key]>
71
+ : never
72
+ }
73
+ : never
74
+
75
+ /** Retained compiler data for native and platform-specific declarations. */
76
+ export type NativeBranches = {
77
+ /** Android overrides applied after the common native branch. */
78
+ readonly android?: Native.Properties | undefined
79
+ /** iOS overrides applied after the common native branch. */
80
+ readonly ios?: Native.Properties | undefined
81
+ /** Declarations using native value semantics. */
82
+ readonly native?: Native.Properties | undefined
83
+ }
84
+
85
+ /** Copies only finite primitives, dense arrays, and plain enumerable data records. */
86
+ export function copy(
87
+ value: unknown,
88
+ path: readonly string[] = [],
89
+ depth = 0,
90
+ ): unknown {
91
+ if (depth > 64)
92
+ throw new Error(`Target nesting exceeds 64 levels at ${path.join('.')}.`)
93
+ if (
94
+ value === undefined ||
95
+ value === null ||
96
+ typeof value === 'string' ||
97
+ typeof value === 'boolean'
98
+ )
99
+ return value
100
+ if (typeof value === 'number' && Number.isFinite(value)) return value
101
+ if (!value || typeof value !== 'object')
102
+ throw new Error(`Expected static native data at ${path.join('.')}.`)
103
+ const array = Array.isArray(value)
104
+ const prototype = Object.getPrototypeOf(value)
105
+ if (!array && prototype !== null && prototype !== Object.prototype) {
106
+ const constructor = Object.getOwnPropertyDescriptor(
107
+ prototype,
108
+ 'constructor',
109
+ )?.value
110
+ if (
111
+ Object.getPrototypeOf(prototype) !== null ||
112
+ typeof constructor !== 'function' ||
113
+ Function.prototype.toString.call(constructor) !==
114
+ Function.prototype.toString.call(Object)
115
+ )
116
+ throw new Error(
117
+ `Host-owned objects are not static target data at ${path.join('.')}.`,
118
+ )
119
+ }
120
+ const output: Record<string, unknown> = Object.create(null)
121
+ for (const key of Reflect.ownKeys(value)) {
122
+ if (array && key === 'length') continue
123
+ const descriptor = Object.getOwnPropertyDescriptor(value, key)!
124
+ if (
125
+ typeof key !== 'string' ||
126
+ !descriptor.enumerable ||
127
+ !('value' in descriptor)
128
+ )
129
+ throw new Error(
130
+ `Target data must not contain accessors or symbols at ${path.join('.')}.`,
131
+ )
132
+ if (!array && descriptor.value === undefined) continue
133
+ output[key] = copy(descriptor.value, [...path, key], depth + 1)
134
+ }
135
+ if (!array) return Object.freeze(output)
136
+ if (
137
+ Object.keys(output).length !== value.length ||
138
+ Object.keys(output).some((key, index) => key !== String(index))
139
+ )
140
+ throw new Error(
141
+ `Target arrays must contain dense data entries at ${path.join('.')}.`,
142
+ )
143
+ return Object.freeze(Object.values(output))
144
+ }
145
+
146
+ /** Selects web overrides without passing native declarations to the CSS compiler. */
147
+ export function web<name extends string>(
148
+ style: Style.NamedStyle<name>,
149
+ ): Style.NamedStyle<name> {
150
+ const rules = style.rules?.map((rule) => ({
151
+ ...rule,
152
+ style: web(rule.style),
153
+ }))
154
+ const { targets, ...body } = style
155
+ const shared = rules ? { ...body, rules } : body
156
+ if (!targets?.web) return shared
157
+ return {
158
+ ...shared,
159
+ declarations: [],
160
+ rules: [{ style: shared }, { style: web(targets.web) }],
161
+ }
162
+ }