@yahoo/uds-v5-wip 1.59.0 → 1.61.0

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 (562) hide show
  1. package/dist/codegen/dist/loader/getLoaderArtifacts.js +2 -0
  2. package/dist/config/dist/Props.d.ts +161 -25
  3. package/dist/config/dist/bindRender.d.ts +16 -0
  4. package/dist/config/dist/bindRender.js +310 -0
  5. package/dist/config/dist/className.d.ts +54 -0
  6. package/dist/config/dist/className.js +77 -0
  7. package/dist/config/dist/component-config.d.ts +674 -161
  8. package/dist/config/dist/component-config.js +163 -0
  9. package/dist/config/dist/component-refs.d.ts +41 -18
  10. package/dist/config/dist/createConfig.d.ts +140 -59
  11. package/dist/config/dist/createConfig.js +95 -217
  12. package/dist/config/dist/createStyler.d.ts +35 -0
  13. package/dist/config/dist/createStyler.js +93 -0
  14. package/dist/config/dist/defineComponent.d.ts +297 -4
  15. package/dist/config/dist/defineComponent.js +264 -2
  16. package/dist/config/dist/defineCompositeStyle.d.ts +93 -0
  17. package/dist/config/dist/defineCompositeStyle.js +18 -0
  18. package/dist/config/dist/defineMotionConfig.d.ts +152 -0
  19. package/dist/config/dist/definePreview.d.ts +45 -0
  20. package/dist/config/dist/definePreview.js +35 -0
  21. package/dist/config/dist/defineStyleProp.d.ts +199 -3
  22. package/dist/config/dist/defineStyleProp.js +3 -2
  23. package/dist/config/dist/index.d.ts +20 -11
  24. package/dist/config/dist/index.js +8 -4
  25. package/dist/config/dist/merge-utils.js +51 -0
  26. package/dist/config/dist/propertyAcceptedTypes.d.ts +19 -0
  27. package/dist/config/dist/refs.d.ts +85 -0
  28. package/dist/config/dist/refs.js +92 -47
  29. package/dist/config/dist/resolveCompoundProps.d.ts +65 -0
  30. package/dist/config/dist/resolveCompoundProps.js +120 -0
  31. package/dist/config/dist/resolveStyleProp.d.ts +72 -3
  32. package/dist/config/dist/resolveStyleProp.js +68 -43
  33. package/dist/config/dist/runtime-registry.js +30 -2
  34. package/dist/config/dist/serialize.d.ts +8 -34
  35. package/dist/config/dist/serialize.js +10 -71
  36. package/dist/config/dist/sniffTokenType.d.ts +7 -0
  37. package/dist/config/dist/sniffTokenType.js +67 -0
  38. package/dist/config/dist/style-prop-runtime.d.ts +75 -1
  39. package/dist/config/dist/style-prop-runtime.js +390 -0
  40. package/dist/config/dist/types/css-properties.d.ts +223 -0
  41. package/dist/config/dist/types/css-values.d.ts +2 -1
  42. package/dist/config/dist/types.d.ts +14 -3
  43. package/dist/config.d.ts +21 -1560
  44. package/dist/config.js +15 -20
  45. package/dist/loader/dist/_virtual/_rolldown/runtime.js +1 -2
  46. package/dist/loader/dist/index.d.ts +2 -0
  47. package/dist/loader/dist/index.js +3 -0
  48. package/dist/loader/dist/loader/artifacts.js +2 -2
  49. package/dist/loader/dist/loader/babel-utils.js +1 -29
  50. package/dist/loader/dist/loader/internal-meta.js +38 -1
  51. package/dist/loader/dist/loader/lower-new-api-primitive.js +176 -14
  52. package/dist/loader/dist/loader.d.ts +27 -0
  53. package/dist/loader/dist/loader.js +71 -309
  54. package/dist/loader/dist/transform-runner.js +14 -0
  55. package/dist/loader/dist/unplugin.d.ts +27 -0
  56. package/dist/loader/dist/unplugin.js +52 -0
  57. package/dist/plugin.d.ts +2 -2
  58. package/dist/plugin.js +3 -2
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +3 -51
  61. package/dist/components/accordion.config.d.ts +0 -2
  62. package/dist/components/accordion.config.js +0 -2
  63. package/dist/components/accordion.d.ts +0 -2
  64. package/dist/components/accordion.js +0 -2
  65. package/dist/components/alert.config.d.ts +0 -2
  66. package/dist/components/alert.config.js +0 -2
  67. package/dist/components/alert.d.ts +0 -2
  68. package/dist/components/alert.js +0 -2
  69. package/dist/components/anchor.config.d.ts +0 -2
  70. package/dist/components/anchor.config.js +0 -2
  71. package/dist/components/anchor.d.ts +0 -2
  72. package/dist/components/anchor.js +0 -2
  73. package/dist/components/article.d.ts +0 -2
  74. package/dist/components/article.js +0 -2
  75. package/dist/components/aside.d.ts +0 -2
  76. package/dist/components/aside.js +0 -2
  77. package/dist/components/avatar-group.config.d.ts +0 -2
  78. package/dist/components/avatar-group.config.js +0 -2
  79. package/dist/components/avatar-group.d.ts +0 -2
  80. package/dist/components/avatar-group.js +0 -2
  81. package/dist/components/avatar.config.d.ts +0 -2
  82. package/dist/components/avatar.config.js +0 -2
  83. package/dist/components/avatar.d.ts +0 -2
  84. package/dist/components/avatar.js +0 -2
  85. package/dist/components/badge.config.d.ts +0 -2
  86. package/dist/components/badge.config.js +0 -2
  87. package/dist/components/badge.d.ts +0 -2
  88. package/dist/components/badge.js +0 -2
  89. package/dist/components/box.d.ts +0 -2
  90. package/dist/components/box.js +0 -2
  91. package/dist/components/breadcrumb.config.d.ts +0 -2
  92. package/dist/components/breadcrumb.config.js +0 -2
  93. package/dist/components/breadcrumb.d.ts +0 -2
  94. package/dist/components/breadcrumb.js +0 -2
  95. package/dist/components/button.config.d.ts +0 -2
  96. package/dist/components/button.config.js +0 -2
  97. package/dist/components/button.d.ts +0 -2
  98. package/dist/components/button.js +0 -2
  99. package/dist/components/card.config.d.ts +0 -2
  100. package/dist/components/card.config.js +0 -2
  101. package/dist/components/card.d.ts +0 -2
  102. package/dist/components/card.js +0 -2
  103. package/dist/components/collapsible.config.d.ts +0 -2
  104. package/dist/components/collapsible.config.js +0 -2
  105. package/dist/components/collapsible.d.ts +0 -2
  106. package/dist/components/collapsible.js +0 -2
  107. package/dist/components/command.config.d.ts +0 -2
  108. package/dist/components/command.config.js +0 -2
  109. package/dist/components/command.d.ts +0 -2
  110. package/dist/components/command.js +0 -2
  111. package/dist/components/control-color.config.d.ts +0 -2
  112. package/dist/components/control-color.config.js +0 -2
  113. package/dist/components/control-color.d.ts +0 -2
  114. package/dist/components/control-color.js +0 -2
  115. package/dist/components/control-curve.config.d.ts +0 -2
  116. package/dist/components/control-curve.config.js +0 -2
  117. package/dist/components/control-curve.d.ts +0 -2
  118. package/dist/components/control-curve.js +0 -2
  119. package/dist/components/control-folder.config.d.ts +0 -2
  120. package/dist/components/control-folder.config.js +0 -2
  121. package/dist/components/control-folder.d.ts +0 -2
  122. package/dist/components/control-folder.js +0 -2
  123. package/dist/components/control-group.config.d.ts +0 -2
  124. package/dist/components/control-group.config.js +0 -2
  125. package/dist/components/control-group.d.ts +0 -2
  126. package/dist/components/control-group.js +0 -2
  127. package/dist/components/control-knob.config.d.ts +0 -2
  128. package/dist/components/control-knob.config.js +0 -2
  129. package/dist/components/control-knob.d.ts +0 -2
  130. package/dist/components/control-knob.js +0 -2
  131. package/dist/components/control-panel.config.d.ts +0 -2
  132. package/dist/components/control-panel.config.js +0 -2
  133. package/dist/components/control-panel.d.ts +0 -2
  134. package/dist/components/control-panel.js +0 -2
  135. package/dist/components/control-select.config.d.ts +0 -2
  136. package/dist/components/control-select.config.js +0 -2
  137. package/dist/components/control-select.d.ts +0 -2
  138. package/dist/components/control-select.js +0 -2
  139. package/dist/components/control-slider.config.d.ts +0 -2
  140. package/dist/components/control-slider.config.js +0 -2
  141. package/dist/components/control-slider.d.ts +0 -2
  142. package/dist/components/control-slider.js +0 -2
  143. package/dist/components/control-spring.config.d.ts +0 -2
  144. package/dist/components/control-spring.config.js +0 -2
  145. package/dist/components/control-spring.d.ts +0 -2
  146. package/dist/components/control-spring.js +0 -2
  147. package/dist/components/control-stepper.config.d.ts +0 -2
  148. package/dist/components/control-stepper.config.js +0 -2
  149. package/dist/components/control-stepper.d.ts +0 -2
  150. package/dist/components/control-stepper.js +0 -2
  151. package/dist/components/control-toggle.config.d.ts +0 -2
  152. package/dist/components/control-toggle.config.js +0 -2
  153. package/dist/components/control-toggle.d.ts +0 -2
  154. package/dist/components/control-toggle.js +0 -2
  155. package/dist/components/dist/_slots.js +0 -8
  156. package/dist/components/dist/accordion.config.d.ts +0 -432
  157. package/dist/components/dist/accordion.config.js +0 -81
  158. package/dist/components/dist/accordion.d.ts +0 -454
  159. package/dist/components/dist/accordion.js +0 -60
  160. package/dist/components/dist/alert.config.d.ts +0 -220
  161. package/dist/components/dist/alert.config.js +0 -54
  162. package/dist/components/dist/alert.d.ts +0 -231
  163. package/dist/components/dist/alert.js +0 -16
  164. package/dist/components/dist/anchor.config.d.ts +0 -251
  165. package/dist/components/dist/anchor.config.js +0 -22
  166. package/dist/components/dist/anchor.d.ts +0 -262
  167. package/dist/components/dist/anchor.js +0 -9
  168. package/dist/components/dist/article.d.ts +0 -12
  169. package/dist/components/dist/article.js +0 -9
  170. package/dist/components/dist/aside.d.ts +0 -12
  171. package/dist/components/dist/aside.js +0 -9
  172. package/dist/components/dist/avatar-group.config.d.ts +0 -316
  173. package/dist/components/dist/avatar-group.config.js +0 -33
  174. package/dist/components/dist/avatar-group.d.ts +0 -330
  175. package/dist/components/dist/avatar-group.js +0 -39
  176. package/dist/components/dist/avatar.config.d.ts +0 -198
  177. package/dist/components/dist/avatar.config.js +0 -49
  178. package/dist/components/dist/avatar.d.ts +0 -212
  179. package/dist/components/dist/avatar.js +0 -20
  180. package/dist/components/dist/badge.config.d.ts +0 -478
  181. package/dist/components/dist/badge.config.js +0 -99
  182. package/dist/components/dist/badge.d.ts +0 -490
  183. package/dist/components/dist/badge.js +0 -16
  184. package/dist/components/dist/box.d.ts +0 -15
  185. package/dist/components/dist/box.js +0 -9
  186. package/dist/components/dist/breadcrumb.config.d.ts +0 -391
  187. package/dist/components/dist/breadcrumb.config.js +0 -43
  188. package/dist/components/dist/breadcrumb.d.ts +0 -421
  189. package/dist/components/dist/breadcrumb.js +0 -119
  190. package/dist/components/dist/button.config.d.ts +0 -382
  191. package/dist/components/dist/button.config.js +0 -91
  192. package/dist/components/dist/button.d.ts +0 -404
  193. package/dist/components/dist/button.js +0 -35
  194. package/dist/components/dist/card.config.d.ts +0 -337
  195. package/dist/components/dist/card.config.js +0 -33
  196. package/dist/components/dist/card.d.ts +0 -353
  197. package/dist/components/dist/card.js +0 -27
  198. package/dist/components/dist/collapsible.config.d.ts +0 -46
  199. package/dist/components/dist/collapsible.config.js +0 -46
  200. package/dist/components/dist/collapsible.d.ts +0 -62
  201. package/dist/components/dist/collapsible.js +0 -38
  202. package/dist/components/dist/command.config.d.ts +0 -1614
  203. package/dist/components/dist/command.config.js +0 -170
  204. package/dist/components/dist/command.d.ts +0 -1723
  205. package/dist/components/dist/command.js +0 -341
  206. package/dist/components/dist/control-color.config.d.ts +0 -980
  207. package/dist/components/dist/control-color.config.js +0 -81
  208. package/dist/components/dist/control-color.d.ts +0 -996
  209. package/dist/components/dist/control-color.js +0 -64
  210. package/dist/components/dist/control-curve.config.d.ts +0 -19
  211. package/dist/components/dist/control-curve.config.js +0 -14
  212. package/dist/components/dist/control-curve.d.ts +0 -36
  213. package/dist/components/dist/control-curve.js +0 -81
  214. package/dist/components/dist/control-folder.config.d.ts +0 -178
  215. package/dist/components/dist/control-folder.config.js +0 -47
  216. package/dist/components/dist/control-folder.d.ts +0 -195
  217. package/dist/components/dist/control-folder.js +0 -41
  218. package/dist/components/dist/control-group.config.d.ts +0 -860
  219. package/dist/components/dist/control-group.config.js +0 -80
  220. package/dist/components/dist/control-group.d.ts +0 -882
  221. package/dist/components/dist/control-group.js +0 -89
  222. package/dist/components/dist/control-knob.config.d.ts +0 -793
  223. package/dist/components/dist/control-knob.config.js +0 -67
  224. package/dist/components/dist/control-knob.d.ts +0 -820
  225. package/dist/components/dist/control-knob.js +0 -148
  226. package/dist/components/dist/control-panel.config.d.ts +0 -403
  227. package/dist/components/dist/control-panel.config.js +0 -38
  228. package/dist/components/dist/control-panel.d.ts +0 -416
  229. package/dist/components/dist/control-panel.js +0 -22
  230. package/dist/components/dist/control-select.config.d.ts +0 -1177
  231. package/dist/components/dist/control-select.config.js +0 -102
  232. package/dist/components/dist/control-select.d.ts +0 -1201
  233. package/dist/components/dist/control-select.js +0 -63
  234. package/dist/components/dist/control-slider.config.d.ts +0 -105
  235. package/dist/components/dist/control-slider.config.js +0 -98
  236. package/dist/components/dist/control-slider.d.ts +0 -128
  237. package/dist/components/dist/control-slider.js +0 -87
  238. package/dist/components/dist/control-spring.config.d.ts +0 -418
  239. package/dist/components/dist/control-spring.config.js +0 -36
  240. package/dist/components/dist/control-spring.d.ts +0 -440
  241. package/dist/components/dist/control-spring.js +0 -136
  242. package/dist/components/dist/control-stepper.config.d.ts +0 -1085
  243. package/dist/components/dist/control-stepper.config.js +0 -108
  244. package/dist/components/dist/control-stepper.d.ts +0 -1105
  245. package/dist/components/dist/control-stepper.js +0 -109
  246. package/dist/components/dist/control-toggle.config.d.ts +0 -408
  247. package/dist/components/dist/control-toggle.config.js +0 -26
  248. package/dist/components/dist/control-toggle.d.ts +0 -421
  249. package/dist/components/dist/control-toggle.js +0 -36
  250. package/dist/components/dist/createSlot.d.ts +0 -9
  251. package/dist/components/dist/createSlot.js +0 -89
  252. package/dist/components/dist/dropdown.config.d.ts +0 -921
  253. package/dist/components/dist/dropdown.config.js +0 -107
  254. package/dist/components/dist/dropdown.d.ts +0 -951
  255. package/dist/components/dist/dropdown.js +0 -92
  256. package/dist/components/dist/empty-state.config.d.ts +0 -397
  257. package/dist/components/dist/empty-state.config.js +0 -53
  258. package/dist/components/dist/empty-state.d.ts +0 -417
  259. package/dist/components/dist/empty-state.js +0 -33
  260. package/dist/components/dist/footer.d.ts +0 -12
  261. package/dist/components/dist/footer.js +0 -9
  262. package/dist/components/dist/grid.d.ts +0 -42
  263. package/dist/components/dist/grid.js +0 -34
  264. package/dist/components/dist/header.d.ts +0 -12
  265. package/dist/components/dist/header.js +0 -9
  266. package/dist/components/dist/hstack.d.ts +0 -16
  267. package/dist/components/dist/hstack.js +0 -21
  268. package/dist/components/dist/image.d.ts +0 -20
  269. package/dist/components/dist/image.js +0 -9
  270. package/dist/components/dist/input.config.d.ts +0 -59
  271. package/dist/components/dist/input.config.js +0 -42
  272. package/dist/components/dist/input.d.ts +0 -68
  273. package/dist/components/dist/input.js +0 -14
  274. package/dist/components/dist/item.config.d.ts +0 -352
  275. package/dist/components/dist/item.config.js +0 -83
  276. package/dist/components/dist/item.d.ts +0 -375
  277. package/dist/components/dist/item.js +0 -51
  278. package/dist/components/dist/list.d.ts +0 -20
  279. package/dist/components/dist/list.js +0 -21
  280. package/dist/components/dist/main.d.ts +0 -12
  281. package/dist/components/dist/main.js +0 -9
  282. package/dist/components/dist/modal.config.d.ts +0 -398
  283. package/dist/components/dist/modal.config.js +0 -92
  284. package/dist/components/dist/modal.d.ts +0 -434
  285. package/dist/components/dist/modal.js +0 -125
  286. package/dist/components/dist/nav-header.config.d.ts +0 -159
  287. package/dist/components/dist/nav-header.config.js +0 -26
  288. package/dist/components/dist/nav-header.d.ts +0 -174
  289. package/dist/components/dist/nav-header.js +0 -23
  290. package/dist/components/dist/nav.d.ts +0 -12
  291. package/dist/components/dist/nav.js +0 -9
  292. package/dist/components/dist/preset-bar.config.d.ts +0 -193
  293. package/dist/components/dist/preset-bar.config.js +0 -39
  294. package/dist/components/dist/preset-bar.d.ts +0 -216
  295. package/dist/components/dist/preset-bar.js +0 -71
  296. package/dist/components/dist/presets/index.d.ts +0 -17675
  297. package/dist/components/dist/presets/index.js +0 -97
  298. package/dist/components/dist/pressable.d.ts +0 -12
  299. package/dist/components/dist/pressable.js +0 -9
  300. package/dist/components/dist/progress.config.d.ts +0 -297
  301. package/dist/components/dist/progress.config.js +0 -35
  302. package/dist/components/dist/progress.d.ts +0 -312
  303. package/dist/components/dist/progress.js +0 -43
  304. package/dist/components/dist/section.d.ts +0 -12
  305. package/dist/components/dist/section.js +0 -9
  306. package/dist/components/dist/select.config.d.ts +0 -32
  307. package/dist/components/dist/select.config.js +0 -25
  308. package/dist/components/dist/select.d.ts +0 -46
  309. package/dist/components/dist/select.js +0 -13
  310. package/dist/components/dist/sheet.config.d.ts +0 -246
  311. package/dist/components/dist/sheet.config.js +0 -99
  312. package/dist/components/dist/sheet.d.ts +0 -268
  313. package/dist/components/dist/sheet.js +0 -53
  314. package/dist/components/dist/sidebar.config.d.ts +0 -1652
  315. package/dist/components/dist/sidebar.config.js +0 -217
  316. package/dist/components/dist/sidebar.d.ts +0 -1826
  317. package/dist/components/dist/sidebar.js +0 -492
  318. package/dist/components/dist/skeleton.config.d.ts +0 -17
  319. package/dist/components/dist/skeleton.config.js +0 -10
  320. package/dist/components/dist/skeleton.d.ts +0 -28
  321. package/dist/components/dist/skeleton.js +0 -16
  322. package/dist/components/dist/slider.config.d.ts +0 -45
  323. package/dist/components/dist/slider.config.js +0 -40
  324. package/dist/components/dist/slider.d.ts +0 -71
  325. package/dist/components/dist/slider.js +0 -247
  326. package/dist/components/dist/spinner.config.d.ts +0 -35
  327. package/dist/components/dist/spinner.config.js +0 -24
  328. package/dist/components/dist/spinner.d.ts +0 -43
  329. package/dist/components/dist/spinner.js +0 -29
  330. package/dist/components/dist/svg.d.ts +0 -22
  331. package/dist/components/dist/svg.js +0 -17
  332. package/dist/components/dist/switch.config.d.ts +0 -354
  333. package/dist/components/dist/switch.config.js +0 -47
  334. package/dist/components/dist/switch.d.ts +0 -371
  335. package/dist/components/dist/switch.js +0 -32
  336. package/dist/components/dist/table.d.ts +0 -37
  337. package/dist/components/dist/table.js +0 -29
  338. package/dist/components/dist/tabs.config.d.ts +0 -612
  339. package/dist/components/dist/tabs.config.js +0 -56
  340. package/dist/components/dist/tabs.d.ts +0 -633
  341. package/dist/components/dist/tabs.js +0 -77
  342. package/dist/components/dist/text.config.d.ts +0 -307
  343. package/dist/components/dist/text.config.js +0 -149
  344. package/dist/components/dist/text.d.ts +0 -206
  345. package/dist/components/dist/text.js +0 -12
  346. package/dist/components/dist/textarea.config.d.ts +0 -353
  347. package/dist/components/dist/textarea.config.js +0 -57
  348. package/dist/components/dist/textarea.d.ts +0 -363
  349. package/dist/components/dist/textarea.js +0 -9
  350. package/dist/components/dist/toast.config.d.ts +0 -336
  351. package/dist/components/dist/toast.config.js +0 -145
  352. package/dist/components/dist/toast.d.ts +0 -427
  353. package/dist/components/dist/toast.js +0 -159
  354. package/dist/components/dist/tooltip.config.d.ts +0 -194
  355. package/dist/components/dist/tooltip.config.js +0 -40
  356. package/dist/components/dist/tooltip.d.ts +0 -207
  357. package/dist/components/dist/tooltip.js +0 -28
  358. package/dist/components/dist/vstack.d.ts +0 -16
  359. package/dist/components/dist/vstack.js +0 -20
  360. package/dist/components/dropdown.config.d.ts +0 -2
  361. package/dist/components/dropdown.config.js +0 -2
  362. package/dist/components/dropdown.d.ts +0 -2
  363. package/dist/components/dropdown.js +0 -2
  364. package/dist/components/empty-state.config.d.ts +0 -2
  365. package/dist/components/empty-state.config.js +0 -2
  366. package/dist/components/empty-state.d.ts +0 -2
  367. package/dist/components/empty-state.js +0 -2
  368. package/dist/components/footer.d.ts +0 -2
  369. package/dist/components/footer.js +0 -2
  370. package/dist/components/grid.d.ts +0 -2
  371. package/dist/components/grid.js +0 -2
  372. package/dist/components/header.d.ts +0 -2
  373. package/dist/components/header.js +0 -2
  374. package/dist/components/hstack.d.ts +0 -2
  375. package/dist/components/hstack.js +0 -2
  376. package/dist/components/image.d.ts +0 -2
  377. package/dist/components/image.js +0 -2
  378. package/dist/components/input.config.d.ts +0 -2
  379. package/dist/components/input.config.js +0 -2
  380. package/dist/components/input.d.ts +0 -2
  381. package/dist/components/input.js +0 -2
  382. package/dist/components/item.config.d.ts +0 -2
  383. package/dist/components/item.config.js +0 -2
  384. package/dist/components/item.d.ts +0 -2
  385. package/dist/components/item.js +0 -2
  386. package/dist/components/list.d.ts +0 -2
  387. package/dist/components/list.js +0 -2
  388. package/dist/components/main.d.ts +0 -2
  389. package/dist/components/main.js +0 -2
  390. package/dist/components/modal.config.d.ts +0 -2
  391. package/dist/components/modal.config.js +0 -2
  392. package/dist/components/modal.d.ts +0 -2
  393. package/dist/components/modal.js +0 -2
  394. package/dist/components/nav-header.config.d.ts +0 -2
  395. package/dist/components/nav-header.config.js +0 -2
  396. package/dist/components/nav-header.d.ts +0 -2
  397. package/dist/components/nav-header.js +0 -2
  398. package/dist/components/nav.d.ts +0 -2
  399. package/dist/components/nav.js +0 -2
  400. package/dist/components/preset-bar.config.d.ts +0 -2
  401. package/dist/components/preset-bar.config.js +0 -2
  402. package/dist/components/preset-bar.d.ts +0 -2
  403. package/dist/components/preset-bar.js +0 -2
  404. package/dist/components/presets/index.d.ts +0 -44
  405. package/dist/components/presets/index.js +0 -44
  406. package/dist/components/pressable.d.ts +0 -2
  407. package/dist/components/pressable.js +0 -2
  408. package/dist/components/progress.config.d.ts +0 -2
  409. package/dist/components/progress.config.js +0 -2
  410. package/dist/components/progress.d.ts +0 -2
  411. package/dist/components/progress.js +0 -2
  412. package/dist/components/section.d.ts +0 -2
  413. package/dist/components/section.js +0 -2
  414. package/dist/components/select.config.d.ts +0 -2
  415. package/dist/components/select.config.js +0 -2
  416. package/dist/components/select.d.ts +0 -2
  417. package/dist/components/select.js +0 -2
  418. package/dist/components/sheet.config.d.ts +0 -2
  419. package/dist/components/sheet.config.js +0 -2
  420. package/dist/components/sheet.d.ts +0 -2
  421. package/dist/components/sheet.js +0 -2
  422. package/dist/components/sidebar.config.d.ts +0 -2
  423. package/dist/components/sidebar.config.js +0 -2
  424. package/dist/components/sidebar.d.ts +0 -2
  425. package/dist/components/sidebar.js +0 -2
  426. package/dist/components/skeleton.config.d.ts +0 -2
  427. package/dist/components/skeleton.config.js +0 -2
  428. package/dist/components/skeleton.d.ts +0 -2
  429. package/dist/components/skeleton.js +0 -2
  430. package/dist/components/slider.config.d.ts +0 -2
  431. package/dist/components/slider.config.js +0 -2
  432. package/dist/components/slider.d.ts +0 -2
  433. package/dist/components/slider.js +0 -2
  434. package/dist/components/spinner.config.d.ts +0 -2
  435. package/dist/components/spinner.config.js +0 -2
  436. package/dist/components/spinner.d.ts +0 -2
  437. package/dist/components/spinner.js +0 -2
  438. package/dist/components/svg.d.ts +0 -2
  439. package/dist/components/svg.js +0 -2
  440. package/dist/components/switch.config.d.ts +0 -2
  441. package/dist/components/switch.config.js +0 -2
  442. package/dist/components/switch.d.ts +0 -2
  443. package/dist/components/switch.js +0 -2
  444. package/dist/components/table.d.ts +0 -2
  445. package/dist/components/table.js +0 -2
  446. package/dist/components/tabs.config.d.ts +0 -2
  447. package/dist/components/tabs.config.js +0 -2
  448. package/dist/components/tabs.d.ts +0 -2
  449. package/dist/components/tabs.js +0 -2
  450. package/dist/components/text.config.d.ts +0 -2
  451. package/dist/components/text.config.js +0 -2
  452. package/dist/components/text.d.ts +0 -2
  453. package/dist/components/text.js +0 -2
  454. package/dist/components/textarea.config.d.ts +0 -2
  455. package/dist/components/textarea.config.js +0 -2
  456. package/dist/components/textarea.d.ts +0 -2
  457. package/dist/components/textarea.js +0 -2
  458. package/dist/components/toast.config.d.ts +0 -2
  459. package/dist/components/toast.config.js +0 -2
  460. package/dist/components/toast.d.ts +0 -2
  461. package/dist/components/toast.js +0 -2
  462. package/dist/components/tooltip.config.d.ts +0 -2
  463. package/dist/components/tooltip.config.js +0 -2
  464. package/dist/components/tooltip.d.ts +0 -2
  465. package/dist/components/tooltip.js +0 -2
  466. package/dist/components/vstack.d.ts +0 -2
  467. package/dist/components/vstack.js +0 -2
  468. package/dist/config/dist/component-resolution.js +0 -78
  469. package/dist/config/dist/consts/defaultColors.d.ts +0 -253
  470. package/dist/config/dist/consts/defaultColors.js +0 -252
  471. package/dist/config/dist/createComponent.d.ts +0 -1
  472. package/dist/config/dist/createComponent.js +0 -1
  473. package/dist/config/dist/preset-merge.js +0 -192
  474. package/dist/config/dist/propertyGroups.d.ts +0 -1
  475. package/dist/config/dist/propertyGroups.js +0 -414
  476. package/dist/config/dist/resolveTokenTypes.d.ts +0 -1
  477. package/dist/config/dist/resolveTokenTypes.js +0 -149
  478. package/dist/config-utils/dist/componentConfig.d.ts +0 -10
  479. package/dist/config-utils/dist/componentConfig.js +0 -11
  480. package/dist/config-utils.d.ts +0 -2
  481. package/dist/config-utils.js +0 -2
  482. package/dist/core/dist/color-opacity-map.js +0 -33
  483. package/dist/core/dist/compositeStyles.d.ts +0 -22
  484. package/dist/core/dist/compositeStyles.js +0 -51
  485. package/dist/core/dist/configurable-prop-helpers.d.ts +0 -32
  486. package/dist/core/dist/configurable-prop-helpers.js +0 -61
  487. package/dist/core/dist/createComponent.boundaries.js +0 -192
  488. package/dist/core/dist/createComponent.d.ts +0 -57
  489. package/dist/core/dist/createComponent.js +0 -67
  490. package/dist/core/dist/createComponentExample.d.ts +0 -42
  491. package/dist/core/dist/createComponentExample.js +0 -27
  492. package/dist/core/dist/createProvider.d.ts +0 -13
  493. package/dist/core/dist/createProvider.js +0 -24
  494. package/dist/core/dist/generated/stylePropsTwMap.d.ts +0 -1701
  495. package/dist/core/dist/generated/stylePropsTwMap.js +0 -570
  496. package/dist/core/dist/getComponentStyles.d.ts +0 -50
  497. package/dist/core/dist/getComponentStyles.js +0 -85
  498. package/dist/core/dist/getStyles.d.ts +0 -43
  499. package/dist/core/dist/getStyles.js +0 -300
  500. package/dist/core/dist/index.d.ts +0 -13
  501. package/dist/core/dist/index.js +0 -13
  502. package/dist/core/dist/modifier-mappings.d.ts +0 -13
  503. package/dist/core/dist/modifier-mappings.js +0 -61
  504. package/dist/core/dist/resolveMotionState.d.ts +0 -5
  505. package/dist/core/dist/resolveMotionState.js +0 -17
  506. package/dist/core/dist/resolveProps.boundaries.js +0 -131
  507. package/dist/core/dist/style-prop-data.d.ts +0 -33
  508. package/dist/core/dist/style-prop-data.js +0 -1257
  509. package/dist/core/dist/transformPreset.d.ts +0 -18
  510. package/dist/core/dist/transformPreset.js +0 -28
  511. package/dist/core/dist/withDefaultStyleProps.d.ts +0 -44
  512. package/dist/core/dist/withDefaultStyleProps.js +0 -18
  513. package/dist/core.d.ts +0 -14
  514. package/dist/core.js +0 -15
  515. package/dist/createSlot.d.ts +0 -2
  516. package/dist/createSlot.js +0 -2
  517. package/dist/fixtures.d.ts +0 -4
  518. package/dist/fixtures.js +0 -5
  519. package/dist/foundational-presets/dist/_virtual/_rolldown/runtime.js +0 -13
  520. package/dist/foundational-presets/dist/defaultPreset.d.ts +0 -1558
  521. package/dist/foundational-presets/dist/defaultPreset.js +0 -615
  522. package/dist/foundational-presets/dist/index.d.ts +0 -1
  523. package/dist/foundational-presets/dist/index.js +0 -1
  524. package/dist/foundational-presets/dist/motion.d.ts +0 -13
  525. package/dist/foundational-presets/dist/motion.js +0 -10
  526. package/dist/foundational-presets/dist/style-props.js +0 -1445
  527. package/dist/loader/dist/loader/create-component-data.js +0 -33
  528. package/dist/loader/dist/loader/create-component-lowering.js +0 -454
  529. package/dist/loader/dist/loader/data-attr-transform.js +0 -191
  530. package/dist/loader/dist/loader/dynamic-style-codegen.js +0 -97
  531. package/dist/loader/dist/loader/motion-transform.js +0 -717
  532. package/dist/loader/dist/loader/style-transform.js +0 -670
  533. package/dist/loader/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -203
  534. package/dist/loader/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -25
  535. package/dist/loader/dist/node_modules/react/cjs/react.development.js +0 -762
  536. package/dist/loader/dist/node_modules/react/cjs/react.production.js +0 -351
  537. package/dist/loader/dist/node_modules/react/index.js +0 -10
  538. package/dist/loader/dist/node_modules/react/jsx-runtime.js +0 -10
  539. package/dist/loader/dist/packages/core/dist/color-opacity-map.js +0 -33
  540. package/dist/loader/dist/packages/core/dist/compositeStyles.js +0 -43
  541. package/dist/loader/dist/packages/core/dist/createComponent.js +0 -6
  542. package/dist/loader/dist/packages/core/dist/createProvider.js +0 -7
  543. package/dist/loader/dist/packages/core/dist/generated/stylePropsTwMap.js +0 -570
  544. package/dist/loader/dist/packages/core/dist/getComponentStyles.js +0 -2
  545. package/dist/loader/dist/packages/core/dist/getStyles.js +0 -60
  546. package/dist/loader/dist/packages/core/dist/index.js +0 -6
  547. package/dist/loader/dist/packages/core/dist/modifier-mappings.js +0 -61
  548. package/dist/loader/dist/packages/core/dist/style-prop-data.js +0 -1257
  549. package/dist/loader/dist/packages/core/dist/withDefaultStyleProps.js +0 -1
  550. package/dist/presets/dist/defaultPreset.d.ts +0 -6
  551. package/dist/presets/dist/defaultPreset.js +0 -51
  552. package/dist/presets/dist/index.d.ts +0 -1
  553. package/dist/presets/dist/index.js +0 -1
  554. package/dist/presets/motion.d.ts +0 -2
  555. package/dist/presets/motion.js +0 -2
  556. package/dist/presets.d.ts +0 -2
  557. package/dist/presets.js +0 -3
  558. package/dist/styles.d.ts +0 -4
  559. package/dist/styles.js +0 -5
  560. package/dist/transformPreset.d.ts +0 -2
  561. package/dist/transformPreset.js +0 -3
  562. /package/dist/{config/dist/component-resolution.d.ts → loader/dist/transform-runner.d.ts} +0 -0
@@ -0,0 +1,390 @@
1
+ //#region ../config/dist/style-prop-runtime.js
2
+ function resolveTokenMarker(marker, configPrefix) {
3
+ const ref = marker.ref;
4
+ const slashIdx = ref.indexOf("/");
5
+ if (slashIdx <= 0 || slashIdx >= ref.length - 1) return ref;
6
+ const ns = ref.slice(0, slashIdx);
7
+ const name = ref.slice(slashIdx + 1);
8
+ const cssPrefix = ns.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
9
+ const cssName = name.replace(/\./g, "_").replace(/\//g, "-");
10
+ return `var(${configPrefix ? `--${configPrefix}-${cssPrefix}-${cssName}` : `--${cssPrefix}-${cssName}`})`;
11
+ }
12
+ const BUILT_IN_PSEUDO = {
13
+ _after: "after:",
14
+ _hover: "hover:",
15
+ _focus: "focus:",
16
+ _focusWithin: "focus-within:",
17
+ _focusVisible: "focus-visible:",
18
+ _active: "active:",
19
+ _visited: "visited:",
20
+ _target: "target:",
21
+ _first: "first:",
22
+ _last: "last:",
23
+ _only: "only:",
24
+ _odd: "odd:",
25
+ _even: "even:",
26
+ _firstOfType: "first-of-type:",
27
+ _lastOfType: "last-of-type:",
28
+ _onlyOfType: "only-of-type:",
29
+ _empty: "empty:",
30
+ _disabled: "disabled:",
31
+ _enabled: "enabled:",
32
+ _checked: "checked:",
33
+ _indeterminate: "indeterminate:",
34
+ _default: "default:",
35
+ _required: "required:",
36
+ _valid: "valid:",
37
+ _invalid: "invalid:",
38
+ _inRange: "in-range:",
39
+ _outOfRange: "out-of-range:",
40
+ _placeholderShown: "placeholder-shown:",
41
+ _autofill: "autofill:",
42
+ _readonly: "read-only:",
43
+ _file: "file:",
44
+ _selection: "selection:",
45
+ _backdrop: "backdrop:",
46
+ _motionReduce: "motion-reduce:",
47
+ _motionSafe: "motion-safe:",
48
+ _contrastMore: "contrast-more:",
49
+ _contrastLess: "contrast-less:",
50
+ _forcedColors: "forced-colors:",
51
+ _placeholder: "placeholder:",
52
+ _ariaBusy: "aria-busy:",
53
+ _ariaChecked: "aria-checked:",
54
+ _ariaHidden: "aria-hidden:",
55
+ _ariaPressed: "aria-pressed:",
56
+ _ariaReadonly: "aria-readonly:",
57
+ _ariaRequired: "aria-required:",
58
+ _ariaSelected: "aria-selected:",
59
+ _ariaCurrent: "aria-[current]:",
60
+ _ariaDisabled: "aria-disabled:",
61
+ _ariaExpanded: "aria-expanded:",
62
+ _dataDisabled: "data-[disabled=true]:",
63
+ _dataStateOpen: "data-[state=open]:",
64
+ _dataStateClosed: "data-[state=closed]:",
65
+ _startingStyle: "starting-style:",
66
+ _scrollbar: "*::-webkit-scrollbar:",
67
+ _scrollbarThumb: "*::-webkit-scrollbar-thumb:",
68
+ _scrollbarTrack: "*::-webkit-scrollbar-track:"
69
+ };
70
+ /** Pseudo-suffix derived from a built-in tailwind prefix (`hover:` → `:hover`).
71
+ * Returns null for prefixes that aren't simple pseudo-classes (data-, aria-,
72
+ * pseudo-element ::, at-rules). */
73
+ function pseudoSuffixForBuiltIn(prefix) {
74
+ if (prefix.includes("::") || prefix.startsWith("*")) return null;
75
+ if (prefix.startsWith("data-[") || prefix.startsWith("aria-")) return null;
76
+ return `:${prefix.slice(0, -1)}`;
77
+ }
78
+ function kebabCase(s) {
79
+ return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
80
+ }
81
+ function buildStylePropRuntime(config) {
82
+ return {
83
+ styleProps: buildStylePropsMap(config.resolvedStyleProps ?? []),
84
+ modifiers: buildModifiersMap(config),
85
+ composites: buildCompositesMap(config)
86
+ };
87
+ }
88
+ function buildStylePropsMap(resolved) {
89
+ const out = {};
90
+ for (const entry of resolved) {
91
+ if (!entry.classPrefix && !entry.pairedWith) continue;
92
+ const cssProperty = Array.isArray(entry.cssProperty) ? entry.cssProperty[0] : entry.cssProperty;
93
+ if (typeof cssProperty !== "string" || cssProperty.length === 0) continue;
94
+ const firstToken = entry.tokens[0];
95
+ let varPrefix;
96
+ if (firstToken?.cssVar) {
97
+ const stripped = firstToken.cssVar.startsWith("--") ? firstToken.cssVar.slice(2) : firstToken.cssVar;
98
+ const suffix = `-${firstToken.safeName}`;
99
+ varPrefix = stripped.endsWith(suffix) ? stripped.slice(0, -suffix.length) : stripped;
100
+ }
101
+ const literalAliases = {};
102
+ let hasAliases = false;
103
+ if (entry.literalAliases) {
104
+ for (const [key, value] of Object.entries(entry.literalAliases)) if (typeof value === "string") {
105
+ literalAliases[key] = value;
106
+ hasAliases = true;
107
+ }
108
+ }
109
+ const styleEntry = {
110
+ classPrefix: entry.classPrefix,
111
+ cssProperty,
112
+ ...varPrefix ? { varPrefix } : {},
113
+ ...entry.pairedWith ? { pairedWith: entry.pairedWith } : {},
114
+ ...entry.separator ? { separator: entry.separator } : {},
115
+ ...hasAliases ? { literalAliases } : {}
116
+ };
117
+ out[entry.propName] = styleEntry;
118
+ }
119
+ return out;
120
+ }
121
+ function buildModifiersMap(config) {
122
+ const out = {};
123
+ for (const [propName, prefix] of Object.entries(BUILT_IN_PSEUDO)) {
124
+ const suffix = pseudoSuffixForBuiltIn(prefix);
125
+ out[propName] = suffix ? {
126
+ tailwindPrefix: prefix,
127
+ kind: "pseudo",
128
+ selector: suffix
129
+ } : {
130
+ tailwindPrefix: prefix,
131
+ kind: "ancestor",
132
+ selector: complexBuiltInSelector(prefix)
133
+ };
134
+ }
135
+ for (const group of config.modes ?? []) for (const option of group.options) {
136
+ if (option.default) continue;
137
+ const propName = option.modifier;
138
+ const tailwindPrefix = `${propName.slice(1)}:`;
139
+ if (option.css) out[propName] = {
140
+ tailwindPrefix,
141
+ kind: "ancestor",
142
+ selector: option.css
143
+ };
144
+ else if (option.media) out[propName] = {
145
+ tailwindPrefix,
146
+ kind: "at-rule",
147
+ selector: `@media ${option.media}`
148
+ };
149
+ }
150
+ for (const def of config.modifiers ?? []) {
151
+ const propName = def.modifier;
152
+ out[propName] = {
153
+ tailwindPrefix: `${propName.slice(1)}:`,
154
+ kind: def.selector.trimStart().startsWith("@") ? "at-rule" : "ancestor",
155
+ selector: def.selector
156
+ };
157
+ }
158
+ return out;
159
+ }
160
+ /** Convert a complex built-in tailwind prefix to a CSS selector fragment. */
161
+ function complexBuiltInSelector(prefix) {
162
+ const dataMatch = prefix.match(/^data-\[([^=]+)=([^\]]+)\]:$/);
163
+ if (dataMatch) return `[data-${dataMatch[1]}="${dataMatch[2]}"]`;
164
+ const ariaMatch = prefix.match(/^aria-([a-z-]+):$/);
165
+ if (ariaMatch) return `[aria-${ariaMatch[1]}="true"]`;
166
+ const ariaBracket = prefix.match(/^aria-\[([^\]]+)\]:$/);
167
+ if (ariaBracket) return `[aria-${ariaBracket[1]}]`;
168
+ if (prefix.startsWith("*")) return prefix.slice(1, -1);
169
+ return prefix.slice(0, -1);
170
+ }
171
+ function buildCompositesMap(config) {
172
+ const out = {};
173
+ const composites = config.compositeStyles;
174
+ if (!composites) return out;
175
+ for (const [groupName, group] of Object.entries(composites)) {
176
+ const styles = group.styles;
177
+ if (!styles) continue;
178
+ out[groupName] = { ...styles };
179
+ }
180
+ return out;
181
+ }
182
+ /** Detect arbitrary `[value]` syntax. */
183
+ const ARBITRARY_RE = /^\[(.+)\]$/;
184
+ function processStyleProps(props, runtime, opts = {}) {
185
+ const classes = [];
186
+ const dynamicRules = [];
187
+ let effectiveProps = props;
188
+ let markerClasses;
189
+ let compositeMarkers;
190
+ const expansion = expandComposites(props, runtime.composites);
191
+ if (expansion) {
192
+ effectiveProps = expansion.expanded;
193
+ markerClasses = expansion.markers;
194
+ compositeMarkers = expansion.compositeMarkers;
195
+ }
196
+ if (markerClasses) for (const marker of markerClasses) classes.push(applyModifierPrefix(marker, opts.modifier));
197
+ if (compositeMarkers && compositeMarkers.length > 0) for (const { group, value } of compositeMarkers) {
198
+ const containerRule = buildCompositeContainerRule(group, value, opts.modifier);
199
+ if (containerRule) dynamicRules.push(containerRule);
200
+ const propRule = buildCompositeMarkerRule(group, value, opts.modifier, runtime.modifiers);
201
+ if (propRule) dynamicRules.push(propRule);
202
+ }
203
+ for (const key in effectiveProps) {
204
+ if (!Object.hasOwn(effectiveProps, key)) continue;
205
+ const value = effectiveProps[key];
206
+ if (value === void 0 || value === null || value === false) continue;
207
+ if (key.startsWith("_")) {
208
+ const modifier = runtime.modifiers[key];
209
+ if (!modifier || !isStyleObject(value)) continue;
210
+ const inner = processStyleProps(value, runtime, { modifier: opts.modifier ? `${opts.modifier}${modifier.tailwindPrefix}` : modifier.tailwindPrefix });
211
+ if (inner.className) classes.push(inner.className);
212
+ dynamicRules.push(...inner.dynamicRules);
213
+ continue;
214
+ }
215
+ const entry = runtime.styleProps[key];
216
+ if (!entry) continue;
217
+ if (entry.pairedWith) continue;
218
+ const opacityProp = findOpacitySibling(key, runtime.styleProps);
219
+ const opacityValue = opacityProp !== void 0 ? effectiveProps[opacityProp] : void 0;
220
+ if (typeof value === "string" && ARBITRARY_RE.test(value)) {
221
+ const fullClass = applyModifierPrefix(buildArbitraryClass(entry, value, opacityValue), opts.modifier);
222
+ classes.push(fullClass);
223
+ const arbitraryRule = buildArbitraryRule(fullClass, entry, value, opacityValue, opts.modifier, runtime.modifiers);
224
+ if (arbitraryRule) dynamicRules.push(arbitraryRule);
225
+ continue;
226
+ }
227
+ if (value === true) {
228
+ classes.push(applyModifierPrefix(entry.classPrefix, opts.modifier));
229
+ continue;
230
+ }
231
+ let effectiveValue = String(value);
232
+ if (entry.literalAliases && effectiveValue in entry.literalAliases) {
233
+ const aliased = entry.literalAliases[effectiveValue];
234
+ if (aliased !== void 0) effectiveValue = aliased;
235
+ }
236
+ if (opacityValue !== void 0 && opacityProp !== void 0) {
237
+ const sep = runtime.styleProps[opacityProp]?.separator ?? entry.separator ?? "_";
238
+ const cls = applyModifierPrefix(buildTokenClass(entry, `${effectiveValue}${sep}${opacityValue}`), opts.modifier);
239
+ classes.push(cls);
240
+ if (entry.varPrefix) {
241
+ const rule = buildOpacityMixRule(cls, entry, effectiveValue, String(opacityValue), opts.modifier, runtime.modifiers);
242
+ if (rule) dynamicRules.push(rule);
243
+ }
244
+ continue;
245
+ }
246
+ classes.push(applyModifierPrefix(buildTokenClass(entry, effectiveValue), opts.modifier));
247
+ }
248
+ return {
249
+ className: classes.filter(Boolean).join(" "),
250
+ dynamicRules
251
+ };
252
+ }
253
+ function isStyleObject(value) {
254
+ return typeof value === "object" && value !== null && !Array.isArray(value);
255
+ }
256
+ function findOpacitySibling(parentProp, styleProps) {
257
+ for (const candidateName in styleProps) if (styleProps[candidateName]?.pairedWith === parentProp) return candidateName;
258
+ }
259
+ /** Build a token-value class, e.g. `bg-brand` or `bg-elevation-1`. Applies the
260
+ * same safe-token-name normalization codegen uses (`.` → `_`, `/` → `-`). */
261
+ function buildTokenClass(entry, value) {
262
+ if (entry.classPrefix === "") return value;
263
+ if (value === "") return entry.classPrefix;
264
+ const safe = value.replace(/\./g, "_").replace(/\//g, "-");
265
+ return entry.classPrefix === value ? safe : `${entry.classPrefix}-${safe}`;
266
+ }
267
+ /** Build the arbitrary-value class, e.g. `bg-[#ef4444]` or `bg-[#ef4444]/60`. */
268
+ function buildArbitraryClass(entry, value, opacityValue) {
269
+ const base = `${entry.classPrefix}-${value}`;
270
+ if (opacityValue === void 0 || opacityValue === null) return base;
271
+ return `${base}/${opacityValue}`;
272
+ }
273
+ function applyModifierPrefix(cls, modifier) {
274
+ return modifier ? `${modifier}${cls}` : cls;
275
+ }
276
+ /** Build the runtime CSS rule for an arbitrary-value class. */
277
+ function buildArbitraryRule(fullClass, entry, rawValue, opacityValue, modifier, modifiers) {
278
+ const match = rawValue.match(ARBITRARY_RE);
279
+ if (!match) return null;
280
+ const inside = match[1];
281
+ let cssValue = inside;
282
+ if (opacityValue !== void 0 && opacityValue !== null) cssValue = `color-mix(in srgb, ${inside} ${opacityValue}%, transparent)`;
283
+ return buildDynamicRule(fullClass, entry.cssProperty, cssValue, modifier, modifiers);
284
+ }
285
+ /** Build the runtime CSS rule for a color/opacity token-pair fallback. */
286
+ function buildOpacityMixRule(fullClass, entry, baseValue, opacityValue, modifier, modifiers) {
287
+ if (!entry.varPrefix) return null;
288
+ const cssValue = `color-mix(in srgb, var(${`--${entry.varPrefix}-${baseValue.replace(/[./]/g, "_")}`}) ${opacityValue}%, transparent)`;
289
+ return buildDynamicRule(fullClass, entry.cssProperty, cssValue, modifier, modifiers);
290
+ }
291
+ /** Assemble a {@link DynamicRule} from a class + value + accumulated modifier prefix. */
292
+ function buildDynamicRule(fullClass, cssProperty, cssValue, modifier, modifiers) {
293
+ const cssProp = kebabCase(cssProperty);
294
+ let ancestorParts = "";
295
+ let pseudoParts = "";
296
+ let atRule;
297
+ if (modifier) {
298
+ const parts = modifier.split(":").filter(Boolean).map((p) => `${p}:`);
299
+ for (const part of parts) {
300
+ const resolved = modifiers[`_${part.slice(0, -1)}`];
301
+ if (!resolved) continue;
302
+ if (resolved.kind === "pseudo") pseudoParts += resolved.selector;
303
+ else if (resolved.kind === "ancestor") ancestorParts += `${resolved.selector} `;
304
+ else if (resolved.kind === "at-rule") atRule = resolved.selector;
305
+ }
306
+ }
307
+ const escaped = escapeClassName(fullClass);
308
+ const selector = `${ancestorParts}.${escaped}${pseudoParts}`;
309
+ return atRule ? {
310
+ className: fullClass,
311
+ selector,
312
+ cssProperty: cssProp,
313
+ cssValue,
314
+ atRule
315
+ } : {
316
+ className: fullClass,
317
+ selector,
318
+ cssProperty: cssProp,
319
+ cssValue
320
+ };
321
+ }
322
+ /** CSS class-name escape — matches `CSS.escape` semantics enough for runtime use. */
323
+ function escapeClassName(name) {
324
+ return name.replace(/[^a-zA-Z0-9_-]/g, (c) => `\\${c}`);
325
+ }
326
+ /**
327
+ * Build a dynamic CSS rule that sets `--uds-composite-<group>: <value>` on
328
+ * the host element. The host selector is the composite marker class (which
329
+ * also gets pushed onto the className), so the rule reads:
330
+ *
331
+ * - Unconditional: `.elevation-1 { --uds-composite-elevation: 1 }`
332
+ * - Modifier-conditional: `.hover\:elevation-1:hover { ... }`
333
+ *
334
+ * Descendants react via `@container style(--uds-composite-elevation: 1) &`
335
+ * — see `buildCompositeStylesReference` and the auto-registered
336
+ * `_on<Group><Value>` modifiers for the descendant selector form.
337
+ */
338
+ function buildCompositeMarkerRule(group, value, modifier, modifiers) {
339
+ const groupSafe = group.replace(/[./]/g, "-");
340
+ const valueSafe = value.replace(/[./]/g, "-");
341
+ return buildDynamicRule(applyModifierPrefix(`${groupSafe}-${valueSafe}`, modifier), `--uds-composite-${groupSafe}`, valueSafe, modifier, modifiers);
342
+ }
343
+ /**
344
+ * Build an unconditional `container-type: style` rule targeting the
345
+ * composite marker class. Required for descendant `@container style()`
346
+ * queries to match against this host — without it the queries have no
347
+ * container to anchor on. The rule is unconditional (no modifier scope)
348
+ * because we want descendants to be able to query the host's state at
349
+ * any time, including under modifier branches.
350
+ */
351
+ function buildCompositeContainerRule(group, value, modifier) {
352
+ const fullClass = applyModifierPrefix(`${group.replace(/[./]/g, "-")}-${value.replace(/[./]/g, "-")}`, modifier);
353
+ return {
354
+ className: fullClass,
355
+ selector: `.${escapeClassName(fullClass)}`,
356
+ cssProperty: "container-type",
357
+ cssValue: "style"
358
+ };
359
+ }
360
+ function expandComposites(props, composites) {
361
+ let result = null;
362
+ const markers = [];
363
+ const compositeMarkers = [];
364
+ for (const groupName in composites) {
365
+ if (!Object.hasOwn(composites, groupName)) continue;
366
+ const propValue = props[groupName];
367
+ if (propValue === void 0 || propValue === null) continue;
368
+ const variants = composites[groupName];
369
+ if (!variants) continue;
370
+ const variantStyles = variants[String(propValue)];
371
+ if (!variantStyles) continue;
372
+ if (!result) result = { ...props };
373
+ delete result[groupName];
374
+ compositeMarkers.push({
375
+ group: groupName,
376
+ value: String(propValue)
377
+ });
378
+ for (const [propName, value] of Object.entries(variantStyles)) if (value !== null && typeof value === "object" && value.__kind === "token" && typeof value.ref === "string") result[propName] = resolveTokenMarker(value, void 0);
379
+ else result[propName] = value;
380
+ markers.push(`${groupName}-${String(propValue).replace(/[./]/g, "-")}`);
381
+ }
382
+ if (!result) return null;
383
+ return {
384
+ expanded: result,
385
+ markers,
386
+ compositeMarkers
387
+ };
388
+ }
389
+ //#endregion
390
+ export { BUILT_IN_PSEUDO, buildStylePropRuntime, processStyleProps };
@@ -0,0 +1,223 @@
1
+ import { CssValue, CssVarRef } from "./css-values.js";
2
+
3
+ //#region ../config/dist/types/css-properties.d.ts
4
+ //#region src/types/css-properties.d.ts
5
+ type LengthPercentageOrVar = CssValue['length-percentage'] | CssVarRef;
6
+ type LengthOrVar = CssValue['length'] | CssVarRef;
7
+ type ColorOrVar = CssValue['color'] | CssVarRef;
8
+ type NumberOrVar = CssValue['number'] | CssVarRef;
9
+ type IntegerOrVar = CssValue['integer'] | CssVarRef;
10
+ type TimeOrVar = CssValue['time'] | CssVarRef;
11
+ type AngleOrVar = CssValue['angle'] | CssVarRef;
12
+ type IntrinsicSize = 'auto' | 'min-content' | 'max-content' | 'fit-content';
13
+ type GlobalKeyword = 'inherit' | 'initial' | 'unset' | 'revert';
14
+ type BorderStyleKeyword = 'none' | 'hidden' | 'dotted' | 'dashed' | 'solid' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset';
15
+ type CssPropertyValues = {
16
+ gap: LengthPercentageOrVar;
17
+ 'column-gap': LengthPercentageOrVar;
18
+ 'row-gap': LengthPercentageOrVar;
19
+ padding: LengthPercentageOrVar;
20
+ 'padding-top': LengthPercentageOrVar;
21
+ 'padding-right': LengthPercentageOrVar;
22
+ 'padding-bottom': LengthPercentageOrVar;
23
+ 'padding-left': LengthPercentageOrVar;
24
+ 'padding-block': LengthPercentageOrVar;
25
+ 'padding-inline': LengthPercentageOrVar;
26
+ 'padding-inline-start': LengthPercentageOrVar;
27
+ 'padding-inline-end': LengthPercentageOrVar;
28
+ margin: LengthPercentageOrVar | 'auto';
29
+ 'margin-top': LengthPercentageOrVar | 'auto';
30
+ 'margin-right': LengthPercentageOrVar | 'auto';
31
+ 'margin-bottom': LengthPercentageOrVar | 'auto';
32
+ 'margin-left': LengthPercentageOrVar | 'auto';
33
+ 'margin-block': LengthPercentageOrVar | 'auto';
34
+ 'margin-inline': LengthPercentageOrVar | 'auto';
35
+ 'margin-inline-start': LengthPercentageOrVar | 'auto';
36
+ 'margin-inline-end': LengthPercentageOrVar | 'auto';
37
+ top: LengthPercentageOrVar | 'auto';
38
+ right: LengthPercentageOrVar | 'auto';
39
+ bottom: LengthPercentageOrVar | 'auto';
40
+ left: LengthPercentageOrVar | 'auto';
41
+ inset: LengthPercentageOrVar | 'auto';
42
+ 'inset-block': LengthPercentageOrVar | 'auto';
43
+ 'inset-inline': LengthPercentageOrVar | 'auto';
44
+ 'scroll-margin': LengthPercentageOrVar;
45
+ 'scroll-margin-top': LengthPercentageOrVar;
46
+ 'scroll-margin-bottom': LengthPercentageOrVar;
47
+ 'scroll-margin-block': LengthPercentageOrVar;
48
+ 'scroll-margin-inline': LengthPercentageOrVar;
49
+ 'scroll-margin-inline-start': LengthPercentageOrVar;
50
+ 'scroll-margin-inline-end': LengthPercentageOrVar;
51
+ 'scroll-padding': LengthPercentageOrVar;
52
+ 'scroll-padding-top': LengthPercentageOrVar;
53
+ 'scroll-padding-bottom': LengthPercentageOrVar;
54
+ 'scroll-padding-block': LengthPercentageOrVar;
55
+ 'scroll-padding-inline': LengthPercentageOrVar;
56
+ 'scroll-padding-inline-start': LengthPercentageOrVar;
57
+ 'scroll-padding-inline-end': LengthPercentageOrVar;
58
+ width: LengthPercentageOrVar | IntrinsicSize;
59
+ height: LengthPercentageOrVar | IntrinsicSize;
60
+ 'min-width': LengthPercentageOrVar | IntrinsicSize;
61
+ 'max-width': LengthPercentageOrVar | IntrinsicSize | 'none';
62
+ 'min-height': LengthPercentageOrVar | IntrinsicSize;
63
+ 'max-height': LengthPercentageOrVar | IntrinsicSize | 'none';
64
+ 'border-width': LengthOrVar | 'thin' | 'medium' | 'thick';
65
+ 'border-top-width': LengthOrVar | 'thin' | 'medium' | 'thick';
66
+ 'border-right-width': LengthOrVar | 'thin' | 'medium' | 'thick';
67
+ 'border-bottom-width': LengthOrVar | 'thin' | 'medium' | 'thick';
68
+ 'border-left-width': LengthOrVar | 'thin' | 'medium' | 'thick';
69
+ 'border-block-width': LengthOrVar | 'thin' | 'medium' | 'thick';
70
+ 'border-inline-width': LengthOrVar | 'thin' | 'medium' | 'thick';
71
+ 'border-inline-start-width': LengthOrVar | 'thin' | 'medium' | 'thick';
72
+ 'border-inline-end-width': LengthOrVar | 'thin' | 'medium' | 'thick';
73
+ 'outline-width': LengthOrVar | 'thin' | 'medium' | 'thick';
74
+ 'outline-offset': LengthOrVar;
75
+ 'border-spacing': LengthOrVar;
76
+ 'border-radius': LengthPercentageOrVar;
77
+ 'border-top-left-radius': LengthPercentageOrVar;
78
+ 'border-top-right-radius': LengthPercentageOrVar;
79
+ 'border-bottom-left-radius': LengthPercentageOrVar;
80
+ 'border-bottom-right-radius': LengthPercentageOrVar;
81
+ 'border-start-start-radius': LengthPercentageOrVar;
82
+ 'border-start-end-radius': LengthPercentageOrVar;
83
+ 'border-end-start-radius': LengthPercentageOrVar;
84
+ 'border-end-end-radius': LengthPercentageOrVar;
85
+ 'border-style': BorderStyleKeyword | CssVarRef;
86
+ 'outline-style': BorderStyleKeyword | 'auto' | CssVarRef;
87
+ 'text-decoration-style': 'solid' | 'double' | 'dotted' | 'dashed' | 'wavy' | CssVarRef;
88
+ 'text-decoration-thickness': LengthPercentageOrVar | 'auto' | 'from-font';
89
+ 'text-underline-offset': LengthOrVar | 'auto';
90
+ color: ColorOrVar;
91
+ 'background-color': ColorOrVar;
92
+ 'border-color': ColorOrVar;
93
+ 'border-top-color': ColorOrVar;
94
+ 'border-right-color': ColorOrVar;
95
+ 'border-bottom-color': ColorOrVar;
96
+ 'border-left-color': ColorOrVar;
97
+ 'border-block-color': ColorOrVar;
98
+ 'border-inline-color': ColorOrVar;
99
+ 'border-inline-start-color': ColorOrVar;
100
+ 'border-inline-end-color': ColorOrVar;
101
+ 'outline-color': ColorOrVar | 'invert';
102
+ 'text-decoration-color': ColorOrVar;
103
+ 'caret-color': ColorOrVar | 'auto';
104
+ fill: ColorOrVar | 'none' | 'context-fill' | 'context-stroke';
105
+ stroke: ColorOrVar | 'none' | 'context-fill' | 'context-stroke';
106
+ 'stroke-width': LengthPercentageOrVar | CssValue['number'];
107
+ 'scrollbar-color': ColorOrVar | 'auto' | `${string} ${string}`;
108
+ 'font-size': LengthPercentageOrVar | 'xx-small' | 'x-small' | 'small' | 'medium' | 'large' | 'x-large' | 'xx-large' | 'smaller' | 'larger';
109
+ 'font-weight': CssValue['font-weight'] | CssVarRef;
110
+ 'font-family': CssValue['font-family'] | CssVarRef;
111
+ 'font-style': 'normal' | 'italic' | 'oblique' | `oblique ${string}` | CssVarRef;
112
+ 'font-stretch': CssValue['percentage'] | 'normal' | 'ultra-condensed' | 'extra-condensed' | 'condensed' | 'semi-condensed' | 'semi-expanded' | 'expanded' | 'extra-expanded' | 'ultra-expanded' | CssVarRef;
113
+ 'font-variant-numeric': string | CssVarRef;
114
+ 'line-height': LengthPercentageOrVar | NumberOrVar | 'normal';
115
+ 'letter-spacing': LengthOrVar | 'normal';
116
+ 'text-align': 'left' | 'right' | 'center' | 'justify' | 'start' | 'end' | CssVarRef;
117
+ 'text-transform': 'none' | 'capitalize' | 'uppercase' | 'lowercase' | 'full-width' | 'full-size-kana' | CssVarRef;
118
+ 'text-indent': LengthPercentageOrVar;
119
+ 'text-wrap': 'wrap' | 'nowrap' | 'balance' | 'pretty' | 'stable' | CssVarRef;
120
+ 'text-overflow': 'clip' | 'ellipsis' | string;
121
+ 'text-decoration-line': 'none' | 'underline' | 'overline' | 'line-through' | 'blink' | string | CssVarRef;
122
+ 'text-shadow': CssValue['shadow'] | 'none' | CssVarRef;
123
+ 'white-space': 'normal' | 'nowrap' | 'pre' | 'pre-wrap' | 'pre-line' | 'break-spaces' | CssVarRef;
124
+ 'word-break': 'normal' | 'break-all' | 'keep-all' | 'break-word' | CssVarRef;
125
+ 'overflow-wrap': 'normal' | 'break-word' | 'anywhere' | CssVarRef;
126
+ hyphens: 'none' | 'manual' | 'auto' | CssVarRef;
127
+ 'list-style-type': string | CssVarRef;
128
+ 'list-style-image': CssValue['url'] | 'none' | CssVarRef;
129
+ 'list-style-position': 'inside' | 'outside' | CssVarRef;
130
+ 'vertical-align': LengthPercentageOrVar | 'baseline' | 'sub' | 'super' | 'text-top' | 'text-bottom' | 'middle' | 'top' | 'bottom';
131
+ '-webkit-font-smoothing': 'auto' | 'none' | 'antialiased' | 'subpixel-antialiased';
132
+ '-webkit-line-clamp': IntegerOrVar | 'none';
133
+ display: 'block' | 'inline' | 'inline-block' | 'flex' | 'inline-flex' | 'grid' | 'inline-grid' | 'flow-root' | 'none' | 'contents' | 'table' | 'inline-table' | 'table-row-group' | 'table-header-group' | 'table-footer-group' | 'table-row' | 'table-cell' | 'table-column-group' | 'table-column' | 'table-caption' | 'list-item' | CssVarRef;
134
+ visibility: 'visible' | 'hidden' | 'collapse' | CssVarRef;
135
+ isolation: 'auto' | 'isolate' | CssVarRef;
136
+ position: 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky' | CssVarRef;
137
+ 'box-sizing': 'content-box' | 'border-box' | CssVarRef;
138
+ 'container-type': 'normal' | 'size' | 'inline-size' | CssVarRef;
139
+ columns: IntegerOrVar | LengthOrVar | 'auto' | `${number} ${string}`;
140
+ flex: string | NumberOrVar | 'none' | 'auto' | 'initial';
141
+ 'flex-direction': 'row' | 'row-reverse' | 'column' | 'column-reverse' | CssVarRef;
142
+ 'flex-wrap': 'nowrap' | 'wrap' | 'wrap-reverse' | CssVarRef;
143
+ 'flex-grow': NumberOrVar;
144
+ 'flex-shrink': NumberOrVar;
145
+ 'justify-content': 'flex-start' | 'flex-end' | 'start' | 'end' | 'center' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'normal' | 'left' | 'right' | CssVarRef;
146
+ 'align-items': 'normal' | 'stretch' | 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'baseline' | `first baseline` | `last baseline` | CssVarRef;
147
+ 'align-content': 'normal' | 'start' | 'end' | 'center' | 'flex-start' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'baseline' | CssVarRef;
148
+ 'align-self': 'auto' | 'normal' | 'stretch' | 'center' | 'start' | 'end' | 'flex-start' | 'flex-end' | 'self-start' | 'self-end' | 'baseline' | CssVarRef;
149
+ 'place-content': string | CssVarRef;
150
+ 'place-items': string | CssVarRef;
151
+ 'place-self': string | CssVarRef;
152
+ order: IntegerOrVar;
153
+ 'grid-template-columns': string | 'none' | CssVarRef;
154
+ 'grid-template-rows': string | 'none' | CssVarRef;
155
+ 'grid-column': string | 'auto' | CssVarRef;
156
+ 'grid-column-start': string | 'auto' | CssVarRef;
157
+ 'grid-column-end': string | 'auto' | CssVarRef;
158
+ 'grid-row': string | 'auto' | CssVarRef;
159
+ 'grid-row-start': string | 'auto' | CssVarRef;
160
+ 'grid-row-end': string | 'auto' | CssVarRef;
161
+ transform: string | 'none' | CssVarRef;
162
+ 'transform-origin': string | CssVarRef;
163
+ rotate: AngleOrVar | 'none' | `${number}` | `${string} ${string}`;
164
+ scale: NumberOrVar | 'none' | `${number} ${number}` | `${number} ${number} ${number}`;
165
+ translate: LengthPercentageOrVar | 'none' | `${string} ${string}` | `${string} ${string} ${string}`;
166
+ transition: string | 'none' | CssVarRef;
167
+ 'transition-property': string | 'none' | 'all' | CssVarRef;
168
+ 'transition-duration': TimeOrVar;
169
+ 'transition-delay': TimeOrVar;
170
+ 'transition-timing-function': CssValue['easing-function'] | CssVarRef;
171
+ 'transition-behavior': 'normal' | 'allow-discrete' | CssVarRef;
172
+ animation: string | 'none' | CssVarRef;
173
+ opacity: CssValue['percentage'] | NumberOrVar;
174
+ 'box-shadow': CssValue['shadow'] | 'none' | CssVarRef;
175
+ filter: string | 'none' | CssVarRef;
176
+ 'backdrop-filter': string | 'none' | CssVarRef;
177
+ 'mix-blend-mode': 'normal' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | 'plus-darker' | 'plus-lighter' | CssVarRef;
178
+ 'background-blend-mode': 'normal' | 'multiply' | 'screen' | 'overlay' | 'darken' | 'lighten' | 'color-dodge' | 'color-burn' | 'hard-light' | 'soft-light' | 'difference' | 'exclusion' | 'hue' | 'saturation' | 'color' | 'luminosity' | CssVarRef;
179
+ overflow: 'visible' | 'hidden' | 'clip' | 'scroll' | 'auto' | CssVarRef;
180
+ 'overflow-x': 'visible' | 'hidden' | 'clip' | 'scroll' | 'auto' | CssVarRef;
181
+ 'overflow-y': 'visible' | 'hidden' | 'clip' | 'scroll' | 'auto' | CssVarRef;
182
+ 'overscroll-behavior': 'auto' | 'contain' | 'none' | CssVarRef;
183
+ 'scroll-behavior': 'auto' | 'smooth' | CssVarRef;
184
+ 'scroll-snap-align': 'none' | 'start' | 'end' | 'center' | CssVarRef;
185
+ 'scroll-snap-stop': 'normal' | 'always' | CssVarRef;
186
+ 'scroll-snap-type': string | 'none' | CssVarRef;
187
+ 'scrollbar-width': 'auto' | 'thin' | 'none' | CssVarRef;
188
+ cursor: 'auto' | 'default' | 'none' | 'context-menu' | 'help' | 'pointer' | 'progress' | 'wait' | 'cell' | 'crosshair' | 'text' | 'vertical-text' | 'alias' | 'copy' | 'move' | 'no-drop' | 'not-allowed' | 'grab' | 'grabbing' | 'all-scroll' | 'col-resize' | 'row-resize' | 'n-resize' | 'e-resize' | 's-resize' | 'w-resize' | 'ne-resize' | 'nw-resize' | 'se-resize' | 'sw-resize' | 'ew-resize' | 'ns-resize' | 'nesw-resize' | 'nwse-resize' | 'zoom-in' | 'zoom-out' | CssValue['url'] | CssVarRef;
189
+ 'pointer-events': 'auto' | 'none' | 'visiblePainted' | 'visibleFill' | 'visibleStroke' | 'visible' | 'painted' | 'fill' | 'stroke' | 'all' | CssVarRef;
190
+ 'user-select': 'none' | 'auto' | 'text' | 'contain' | 'all' | CssVarRef;
191
+ resize: 'none' | 'both' | 'horizontal' | 'vertical' | 'block' | 'inline' | CssVarRef;
192
+ appearance: 'none' | 'auto' | 'menulist-button' | 'textfield' | CssVarRef;
193
+ 'touch-action': string | 'auto' | 'none' | 'manipulation' | CssVarRef;
194
+ 'will-change': 'auto' | 'scroll-position' | 'contents' | string | CssVarRef;
195
+ 'z-index': IntegerOrVar | 'auto';
196
+ 'aspect-ratio': CssValue['ratio'] | NumberOrVar | 'auto';
197
+ 'object-fit': 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' | CssVarRef;
198
+ 'object-position': string | CssVarRef;
199
+ 'caption-side': 'top' | 'bottom' | 'inline-start' | 'inline-end' | CssVarRef;
200
+ 'border-collapse': 'collapse' | 'separate' | CssVarRef;
201
+ 'table-layout': 'auto' | 'fixed' | CssVarRef;
202
+ };
203
+ type CssPropertyName = keyof CssPropertyValues;
204
+ /**
205
+ * Standard CSS properties that accept a `<color>` value. Used to gate
206
+ * the `.withOpacity({...})` builder on `defineStyleProp` — only
207
+ * color-typed props can pair with an opacity sibling (`bg` +
208
+ * `bgOpacity` → class `bg-primary_75` etc.).
209
+ *
210
+ * Custom CSS properties (`--foo`) authored with `cssType: 'color'` are
211
+ * also eligible for `.withOpacity()`; that check happens via the
212
+ * `cssType` generic on `defineStyleProp`, not in this union.
213
+ */
214
+ type ColorCssProperty = 'background-color' | 'color' | 'text-decoration-color' | 'border-color' | 'border-top-color' | 'border-right-color' | 'border-bottom-color' | 'border-left-color' | 'border-block-color' | 'border-block-start-color' | 'border-block-end-color' | 'border-inline-color' | 'border-inline-start-color' | 'border-inline-end-color' | 'outline-color' | 'caret-color' | 'fill' | 'stroke';
215
+ /**
216
+ * Re-exported for use in callers that need the CSS-wide keyword union
217
+ * (`inherit | initial | unset | revert`) on a non-color-typed property.
218
+ * Not added to {@link CssPropertyValues} entries by default — list locally
219
+ * if you want them.
220
+ */
221
+ type CssGlobalKeyword = GlobalKeyword; //#endregion
222
+ //#endregion
223
+ export { ColorCssProperty, CssGlobalKeyword, CssPropertyName, CssPropertyValues };
@@ -25,6 +25,7 @@ type CssPercentage = `${number}%`;
25
25
  type CssAngle = `${number}deg` | `${number}rad` | `${number}grad` | `${number}turn`;
26
26
  type CssTime = `${number}ms` | `${number}s`;
27
27
  type CssRatio = `${number}/${number}`;
28
+ type CssVarRef = `var(--${string})` | `var(--${string}, ${string})`;
28
29
  /**
29
30
  * Registry of CSS value types, keyed by their spec-defined names.
30
31
  *
@@ -58,4 +59,4 @@ type CssValue = {
58
59
  };
59
60
  type CssValueTypeName = keyof CssValue; //#endregion
60
61
  //#endregion
61
- export { ColorFn, ColorKeyword, CssAngle, CssColor, CssLength, CssPercentage, CssRatio, CssTime, CssValue, CssValueTypeName, HexColor, HslColor, RgbColor };
62
+ export { ColorFn, ColorKeyword, CssAngle, CssColor, CssLength, CssPercentage, CssRatio, CssTime, CssValue, CssValueTypeName, CssVarRef, HexColor, HslColor, RgbColor };
@@ -27,15 +27,26 @@ type TokenType = 'color' | 'dimension' | 'number' | 'fontFamily' | 'fontWeight'
27
27
  * The optional `$type` annotation lets individual tokens override the group-level
28
28
  * type (e.g. a `keyword`-valued token inside a `color` namespace).
29
29
  *
30
+ * `value` accepts a CSS literal (`'#1167f4'`, `'1rem'`, `'transparent'`)
31
+ * or a `token('namespace/name')` marker pointing at another token —
32
+ * codegen resolves the marker to `var(--<prefix>-<ns>-<name>)` for the
33
+ * alias.
34
+ *
30
35
  * @example
31
36
  * { value: '#1167f4', _dark: '#88bcfb' }
32
37
  * { value: 'transparent', $type: 'string' }
33
- * { value: '#1167f4', _slate: { value: '#1167f4', _dark: '#88bcfb' } }
38
+ * { value: token('spectrum/blue-500') }
34
39
  */
35
40
  type VarTokenDef<M extends `_${string}` = `_${string}`> = {
36
- value: string;
41
+ value: string | {
42
+ readonly __kind: 'token';
43
+ readonly ref: string;
44
+ };
37
45
  $type?: TokenType;
38
- } & { [K in M]?: string | VarTokenDef<M> };
46
+ } & { [K in M]?: string | {
47
+ readonly __kind: 'token';
48
+ readonly ref: string;
49
+ } | VarTokenDef<M> };
39
50
  /**
40
51
  * A group of named tokens within a var namespace.
41
52
  *