@yahoo/uds-v5-wip 1.60.0 → 1.62.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 (605) hide show
  1. package/dist/config/dist/AssetGroup.d.ts +75 -0
  2. package/dist/config/dist/AssetGroup.js +114 -0
  3. package/dist/config/dist/Component.d.ts +309 -0
  4. package/dist/config/dist/Component.js +897 -0
  5. package/dist/config/dist/ComponentGroup.d.ts +21 -0
  6. package/dist/config/dist/ComponentGroup.js +46 -0
  7. package/dist/config/dist/CompositeStyle.d.ts +28 -0
  8. package/dist/config/dist/CompositeStyle.js +52 -0
  9. package/dist/config/dist/Config.d.ts +422 -0
  10. package/dist/config/dist/Config.js +1426 -0
  11. package/dist/config/dist/Mode.d.ts +42 -0
  12. package/dist/config/dist/Mode.js +81 -0
  13. package/dist/config/dist/Modifier.d.ts +52 -0
  14. package/dist/config/dist/Modifier.js +97 -0
  15. package/dist/config/dist/MotionDef.d.ts +50 -0
  16. package/dist/config/dist/MotionDef.js +97 -0
  17. package/dist/config/dist/Props.d.ts +284 -39
  18. package/dist/config/dist/Provider.d.ts +21 -0
  19. package/dist/config/dist/Provider.js +14 -0
  20. package/dist/config/dist/StyleProp.d.ts +113 -0
  21. package/dist/config/dist/StyleProp.js +197 -0
  22. package/dist/config/dist/Token.d.ts +56 -0
  23. package/dist/config/dist/Token.js +112 -0
  24. package/dist/config/dist/TokenGroup.d.ts +33 -0
  25. package/dist/config/dist/TokenGroup.js +68 -0
  26. package/dist/config/dist/asset-kind.d.ts +56 -0
  27. package/dist/config/dist/asset-kind.js +29 -0
  28. package/dist/config/dist/brands.d.ts +31 -0
  29. package/dist/config/dist/brands.js +20 -0
  30. package/dist/config/dist/captureCallerPath.d.ts +49 -0
  31. package/dist/config/dist/captureCallerPath.js +95 -0
  32. package/dist/config/dist/colorExpressions.d.ts +132 -0
  33. package/dist/config/dist/colorExpressions.js +148 -0
  34. package/dist/config/dist/defineAssetGroup.d.ts +158 -0
  35. package/dist/config/dist/defineAssetGroup.js +263 -0
  36. package/dist/config/dist/defineProvider.d.ts +30 -0
  37. package/dist/config/dist/defineProvider.js +60 -0
  38. package/dist/config/dist/element-marker.d.ts +55 -0
  39. package/dist/config/dist/element-marker.js +113 -0
  40. package/dist/config/dist/entity-utils.d.ts +27 -0
  41. package/dist/config/dist/entity-utils.js +105 -0
  42. package/dist/config/dist/factories.d.ts +707 -0
  43. package/dist/config/dist/factories.js +393 -0
  44. package/dist/config/dist/foreign-component-name.js +42 -0
  45. package/dist/config/dist/index.d.ts +31 -13
  46. package/dist/config/dist/index.js +26 -10
  47. package/dist/config/dist/interpolate.d.ts +21 -0
  48. package/dist/{foundational-presets/dist/motion.js → config/dist/interpolate.js} +1 -1
  49. package/dist/config/dist/markers.d.ts +218 -0
  50. package/dist/config/dist/markers.js +67 -0
  51. package/dist/config/dist/refs.d.ts +159 -0
  52. package/dist/config/dist/refs.js +98 -71
  53. package/dist/config/dist/token-override-rows.d.ts +67 -0
  54. package/dist/config/dist/token-override-rows.js +223 -0
  55. package/dist/config/dist/tokenValueType.js +138 -0
  56. package/dist/config/dist/types/css-properties.d.ts +233 -0
  57. package/dist/config/dist/types/css-property-keywords.d.ts +157 -0
  58. package/dist/config/dist/types/css-property-keywords.js +616 -0
  59. package/dist/config/dist/types/css-values.d.ts +20 -17
  60. package/dist/config/dist/types.d.ts +697 -64
  61. package/dist/config/dist/units.d.ts +15 -0
  62. package/dist/config/dist/units.js +16 -0
  63. package/dist/config.d.ts +32 -1562
  64. package/dist/config.js +28 -21
  65. package/dist/loader/dist/_virtual/_rolldown/runtime.js +1 -2
  66. package/dist/loader/dist/index.d.ts +2 -0
  67. package/dist/loader/dist/index.js +3 -0
  68. package/dist/loader/dist/loader/artifacts.js +26 -9
  69. package/dist/loader/dist/loader/babel-utils.js +1 -29
  70. package/dist/loader/dist/loader.d.ts +17 -1
  71. package/dist/loader/dist/loader.js +56 -339
  72. package/dist/loader/dist/next.d.ts +2 -1
  73. package/dist/loader/dist/next.js +3 -3
  74. package/dist/loader/dist/transform-runner.js +7 -0
  75. package/dist/loader/dist/unplugin.d.ts +27 -0
  76. package/dist/loader/dist/unplugin.js +52 -0
  77. package/dist/plugin.d.ts +2 -2
  78. package/dist/plugin.js +3 -2
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/dist/utils/dist/index.js +1 -0
  81. package/dist/utils/dist/motion-utils/resolveMotionState.d.ts +35 -0
  82. package/dist/utils/dist/motion-utils/resolveMotionState.js +33 -0
  83. package/dist/utils/dist/string-utils/componentClassName.d.ts +41 -8
  84. package/dist/utils/dist/string-utils/componentClassName.js +48 -11
  85. package/dist/utils.d.ts +3 -2
  86. package/dist/utils.js +3 -2
  87. package/package.json +3 -51
  88. package/dist/components/accordion.config.d.ts +0 -2
  89. package/dist/components/accordion.config.js +0 -2
  90. package/dist/components/accordion.d.ts +0 -2
  91. package/dist/components/accordion.js +0 -2
  92. package/dist/components/alert.config.d.ts +0 -2
  93. package/dist/components/alert.config.js +0 -2
  94. package/dist/components/alert.d.ts +0 -2
  95. package/dist/components/alert.js +0 -2
  96. package/dist/components/anchor.config.d.ts +0 -2
  97. package/dist/components/anchor.config.js +0 -2
  98. package/dist/components/anchor.d.ts +0 -2
  99. package/dist/components/anchor.js +0 -2
  100. package/dist/components/article.d.ts +0 -2
  101. package/dist/components/article.js +0 -2
  102. package/dist/components/aside.d.ts +0 -2
  103. package/dist/components/aside.js +0 -2
  104. package/dist/components/avatar-group.config.d.ts +0 -2
  105. package/dist/components/avatar-group.config.js +0 -2
  106. package/dist/components/avatar-group.d.ts +0 -2
  107. package/dist/components/avatar-group.js +0 -2
  108. package/dist/components/avatar.config.d.ts +0 -2
  109. package/dist/components/avatar.config.js +0 -2
  110. package/dist/components/avatar.d.ts +0 -2
  111. package/dist/components/avatar.js +0 -2
  112. package/dist/components/badge.config.d.ts +0 -2
  113. package/dist/components/badge.config.js +0 -2
  114. package/dist/components/badge.d.ts +0 -2
  115. package/dist/components/badge.js +0 -2
  116. package/dist/components/box.d.ts +0 -2
  117. package/dist/components/box.js +0 -2
  118. package/dist/components/breadcrumb.config.d.ts +0 -2
  119. package/dist/components/breadcrumb.config.js +0 -2
  120. package/dist/components/breadcrumb.d.ts +0 -2
  121. package/dist/components/breadcrumb.js +0 -2
  122. package/dist/components/button.config.d.ts +0 -2
  123. package/dist/components/button.config.js +0 -2
  124. package/dist/components/button.d.ts +0 -2
  125. package/dist/components/button.js +0 -2
  126. package/dist/components/card.config.d.ts +0 -2
  127. package/dist/components/card.config.js +0 -2
  128. package/dist/components/card.d.ts +0 -2
  129. package/dist/components/card.js +0 -2
  130. package/dist/components/collapsible.config.d.ts +0 -2
  131. package/dist/components/collapsible.config.js +0 -2
  132. package/dist/components/collapsible.d.ts +0 -2
  133. package/dist/components/collapsible.js +0 -2
  134. package/dist/components/command.config.d.ts +0 -2
  135. package/dist/components/command.config.js +0 -2
  136. package/dist/components/command.d.ts +0 -2
  137. package/dist/components/command.js +0 -2
  138. package/dist/components/control-color.config.d.ts +0 -2
  139. package/dist/components/control-color.config.js +0 -2
  140. package/dist/components/control-color.d.ts +0 -2
  141. package/dist/components/control-color.js +0 -2
  142. package/dist/components/control-curve.config.d.ts +0 -2
  143. package/dist/components/control-curve.config.js +0 -2
  144. package/dist/components/control-curve.d.ts +0 -2
  145. package/dist/components/control-curve.js +0 -2
  146. package/dist/components/control-folder.config.d.ts +0 -2
  147. package/dist/components/control-folder.config.js +0 -2
  148. package/dist/components/control-folder.d.ts +0 -2
  149. package/dist/components/control-folder.js +0 -2
  150. package/dist/components/control-group.config.d.ts +0 -2
  151. package/dist/components/control-group.config.js +0 -2
  152. package/dist/components/control-group.d.ts +0 -2
  153. package/dist/components/control-group.js +0 -2
  154. package/dist/components/control-knob.config.d.ts +0 -2
  155. package/dist/components/control-knob.config.js +0 -2
  156. package/dist/components/control-knob.d.ts +0 -2
  157. package/dist/components/control-knob.js +0 -2
  158. package/dist/components/control-panel.config.d.ts +0 -2
  159. package/dist/components/control-panel.config.js +0 -2
  160. package/dist/components/control-panel.d.ts +0 -2
  161. package/dist/components/control-panel.js +0 -2
  162. package/dist/components/control-select.config.d.ts +0 -2
  163. package/dist/components/control-select.config.js +0 -2
  164. package/dist/components/control-select.d.ts +0 -2
  165. package/dist/components/control-select.js +0 -2
  166. package/dist/components/control-slider.config.d.ts +0 -2
  167. package/dist/components/control-slider.config.js +0 -2
  168. package/dist/components/control-slider.d.ts +0 -2
  169. package/dist/components/control-slider.js +0 -2
  170. package/dist/components/control-spring.config.d.ts +0 -2
  171. package/dist/components/control-spring.config.js +0 -2
  172. package/dist/components/control-spring.d.ts +0 -2
  173. package/dist/components/control-spring.js +0 -2
  174. package/dist/components/control-stepper.config.d.ts +0 -2
  175. package/dist/components/control-stepper.config.js +0 -2
  176. package/dist/components/control-stepper.d.ts +0 -2
  177. package/dist/components/control-stepper.js +0 -2
  178. package/dist/components/control-toggle.config.d.ts +0 -2
  179. package/dist/components/control-toggle.config.js +0 -2
  180. package/dist/components/control-toggle.d.ts +0 -2
  181. package/dist/components/control-toggle.js +0 -2
  182. package/dist/components/dist/_slots.js +0 -8
  183. package/dist/components/dist/accordion.config.d.ts +0 -431
  184. package/dist/components/dist/accordion.config.js +0 -81
  185. package/dist/components/dist/accordion.d.ts +0 -453
  186. package/dist/components/dist/accordion.js +0 -60
  187. package/dist/components/dist/alert.config.d.ts +0 -219
  188. package/dist/components/dist/alert.config.js +0 -54
  189. package/dist/components/dist/alert.d.ts +0 -230
  190. package/dist/components/dist/alert.js +0 -16
  191. package/dist/components/dist/anchor.config.d.ts +0 -250
  192. package/dist/components/dist/anchor.config.js +0 -22
  193. package/dist/components/dist/anchor.d.ts +0 -261
  194. package/dist/components/dist/anchor.js +0 -9
  195. package/dist/components/dist/article.d.ts +0 -11
  196. package/dist/components/dist/article.js +0 -9
  197. package/dist/components/dist/aside.d.ts +0 -11
  198. package/dist/components/dist/aside.js +0 -9
  199. package/dist/components/dist/avatar-group.config.d.ts +0 -315
  200. package/dist/components/dist/avatar-group.config.js +0 -33
  201. package/dist/components/dist/avatar-group.d.ts +0 -329
  202. package/dist/components/dist/avatar-group.js +0 -39
  203. package/dist/components/dist/avatar.config.d.ts +0 -197
  204. package/dist/components/dist/avatar.config.js +0 -49
  205. package/dist/components/dist/avatar.d.ts +0 -211
  206. package/dist/components/dist/avatar.js +0 -20
  207. package/dist/components/dist/badge.config.d.ts +0 -477
  208. package/dist/components/dist/badge.config.js +0 -99
  209. package/dist/components/dist/badge.d.ts +0 -489
  210. package/dist/components/dist/badge.js +0 -16
  211. package/dist/components/dist/box.d.ts +0 -14
  212. package/dist/components/dist/box.js +0 -9
  213. package/dist/components/dist/breadcrumb.config.d.ts +0 -390
  214. package/dist/components/dist/breadcrumb.config.js +0 -43
  215. package/dist/components/dist/breadcrumb.d.ts +0 -420
  216. package/dist/components/dist/breadcrumb.js +0 -119
  217. package/dist/components/dist/button.config.d.ts +0 -381
  218. package/dist/components/dist/button.config.js +0 -91
  219. package/dist/components/dist/button.d.ts +0 -403
  220. package/dist/components/dist/button.js +0 -35
  221. package/dist/components/dist/card.config.d.ts +0 -336
  222. package/dist/components/dist/card.config.js +0 -33
  223. package/dist/components/dist/card.d.ts +0 -352
  224. package/dist/components/dist/card.js +0 -27
  225. package/dist/components/dist/collapsible.config.d.ts +0 -45
  226. package/dist/components/dist/collapsible.config.js +0 -46
  227. package/dist/components/dist/collapsible.d.ts +0 -61
  228. package/dist/components/dist/collapsible.js +0 -38
  229. package/dist/components/dist/command.config.d.ts +0 -1613
  230. package/dist/components/dist/command.config.js +0 -170
  231. package/dist/components/dist/command.d.ts +0 -1722
  232. package/dist/components/dist/command.js +0 -341
  233. package/dist/components/dist/control-color.config.d.ts +0 -979
  234. package/dist/components/dist/control-color.config.js +0 -81
  235. package/dist/components/dist/control-color.d.ts +0 -995
  236. package/dist/components/dist/control-color.js +0 -64
  237. package/dist/components/dist/control-curve.config.d.ts +0 -18
  238. package/dist/components/dist/control-curve.config.js +0 -14
  239. package/dist/components/dist/control-curve.d.ts +0 -35
  240. package/dist/components/dist/control-curve.js +0 -81
  241. package/dist/components/dist/control-folder.config.d.ts +0 -177
  242. package/dist/components/dist/control-folder.config.js +0 -47
  243. package/dist/components/dist/control-folder.d.ts +0 -194
  244. package/dist/components/dist/control-folder.js +0 -41
  245. package/dist/components/dist/control-group.config.d.ts +0 -859
  246. package/dist/components/dist/control-group.config.js +0 -80
  247. package/dist/components/dist/control-group.d.ts +0 -881
  248. package/dist/components/dist/control-group.js +0 -89
  249. package/dist/components/dist/control-knob.config.d.ts +0 -792
  250. package/dist/components/dist/control-knob.config.js +0 -67
  251. package/dist/components/dist/control-knob.d.ts +0 -819
  252. package/dist/components/dist/control-knob.js +0 -148
  253. package/dist/components/dist/control-panel.config.d.ts +0 -402
  254. package/dist/components/dist/control-panel.config.js +0 -38
  255. package/dist/components/dist/control-panel.d.ts +0 -415
  256. package/dist/components/dist/control-panel.js +0 -22
  257. package/dist/components/dist/control-select.config.d.ts +0 -1176
  258. package/dist/components/dist/control-select.config.js +0 -102
  259. package/dist/components/dist/control-select.d.ts +0 -1200
  260. package/dist/components/dist/control-select.js +0 -63
  261. package/dist/components/dist/control-slider.config.d.ts +0 -104
  262. package/dist/components/dist/control-slider.config.js +0 -98
  263. package/dist/components/dist/control-slider.d.ts +0 -127
  264. package/dist/components/dist/control-slider.js +0 -87
  265. package/dist/components/dist/control-spring.config.d.ts +0 -417
  266. package/dist/components/dist/control-spring.config.js +0 -36
  267. package/dist/components/dist/control-spring.d.ts +0 -439
  268. package/dist/components/dist/control-spring.js +0 -136
  269. package/dist/components/dist/control-stepper.config.d.ts +0 -1084
  270. package/dist/components/dist/control-stepper.config.js +0 -108
  271. package/dist/components/dist/control-stepper.d.ts +0 -1104
  272. package/dist/components/dist/control-stepper.js +0 -109
  273. package/dist/components/dist/control-toggle.config.d.ts +0 -407
  274. package/dist/components/dist/control-toggle.config.js +0 -26
  275. package/dist/components/dist/control-toggle.d.ts +0 -420
  276. package/dist/components/dist/control-toggle.js +0 -36
  277. package/dist/components/dist/createSlot.d.ts +0 -8
  278. package/dist/components/dist/createSlot.js +0 -89
  279. package/dist/components/dist/dropdown.config.d.ts +0 -920
  280. package/dist/components/dist/dropdown.config.js +0 -107
  281. package/dist/components/dist/dropdown.d.ts +0 -950
  282. package/dist/components/dist/dropdown.js +0 -92
  283. package/dist/components/dist/empty-state.config.d.ts +0 -396
  284. package/dist/components/dist/empty-state.config.js +0 -53
  285. package/dist/components/dist/empty-state.d.ts +0 -416
  286. package/dist/components/dist/empty-state.js +0 -33
  287. package/dist/components/dist/footer.d.ts +0 -11
  288. package/dist/components/dist/footer.js +0 -9
  289. package/dist/components/dist/grid.d.ts +0 -41
  290. package/dist/components/dist/grid.js +0 -34
  291. package/dist/components/dist/header.d.ts +0 -11
  292. package/dist/components/dist/header.js +0 -9
  293. package/dist/components/dist/hstack.d.ts +0 -15
  294. package/dist/components/dist/hstack.js +0 -21
  295. package/dist/components/dist/image.d.ts +0 -19
  296. package/dist/components/dist/image.js +0 -9
  297. package/dist/components/dist/input.config.d.ts +0 -58
  298. package/dist/components/dist/input.config.js +0 -42
  299. package/dist/components/dist/input.d.ts +0 -67
  300. package/dist/components/dist/input.js +0 -14
  301. package/dist/components/dist/item.config.d.ts +0 -351
  302. package/dist/components/dist/item.config.js +0 -83
  303. package/dist/components/dist/item.d.ts +0 -374
  304. package/dist/components/dist/item.js +0 -51
  305. package/dist/components/dist/list.d.ts +0 -19
  306. package/dist/components/dist/list.js +0 -21
  307. package/dist/components/dist/main.d.ts +0 -11
  308. package/dist/components/dist/main.js +0 -9
  309. package/dist/components/dist/modal.config.d.ts +0 -397
  310. package/dist/components/dist/modal.config.js +0 -92
  311. package/dist/components/dist/modal.d.ts +0 -433
  312. package/dist/components/dist/modal.js +0 -125
  313. package/dist/components/dist/nav-header.config.d.ts +0 -158
  314. package/dist/components/dist/nav-header.config.js +0 -26
  315. package/dist/components/dist/nav-header.d.ts +0 -173
  316. package/dist/components/dist/nav-header.js +0 -23
  317. package/dist/components/dist/nav.d.ts +0 -11
  318. package/dist/components/dist/nav.js +0 -9
  319. package/dist/components/dist/preset-bar.config.d.ts +0 -192
  320. package/dist/components/dist/preset-bar.config.js +0 -39
  321. package/dist/components/dist/preset-bar.d.ts +0 -215
  322. package/dist/components/dist/preset-bar.js +0 -71
  323. package/dist/components/dist/presets/index.d.ts +0 -17674
  324. package/dist/components/dist/presets/index.js +0 -97
  325. package/dist/components/dist/pressable.d.ts +0 -11
  326. package/dist/components/dist/pressable.js +0 -9
  327. package/dist/components/dist/progress.config.d.ts +0 -296
  328. package/dist/components/dist/progress.config.js +0 -35
  329. package/dist/components/dist/progress.d.ts +0 -311
  330. package/dist/components/dist/progress.js +0 -43
  331. package/dist/components/dist/section.d.ts +0 -11
  332. package/dist/components/dist/section.js +0 -9
  333. package/dist/components/dist/select.config.d.ts +0 -31
  334. package/dist/components/dist/select.config.js +0 -25
  335. package/dist/components/dist/select.d.ts +0 -45
  336. package/dist/components/dist/select.js +0 -13
  337. package/dist/components/dist/sheet.config.d.ts +0 -245
  338. package/dist/components/dist/sheet.config.js +0 -99
  339. package/dist/components/dist/sheet.d.ts +0 -267
  340. package/dist/components/dist/sheet.js +0 -53
  341. package/dist/components/dist/sidebar.config.d.ts +0 -1651
  342. package/dist/components/dist/sidebar.config.js +0 -217
  343. package/dist/components/dist/sidebar.d.ts +0 -1825
  344. package/dist/components/dist/sidebar.js +0 -492
  345. package/dist/components/dist/skeleton.config.d.ts +0 -16
  346. package/dist/components/dist/skeleton.config.js +0 -10
  347. package/dist/components/dist/skeleton.d.ts +0 -27
  348. package/dist/components/dist/skeleton.js +0 -16
  349. package/dist/components/dist/slider.config.d.ts +0 -44
  350. package/dist/components/dist/slider.config.js +0 -40
  351. package/dist/components/dist/slider.d.ts +0 -70
  352. package/dist/components/dist/slider.js +0 -247
  353. package/dist/components/dist/spinner.config.d.ts +0 -34
  354. package/dist/components/dist/spinner.config.js +0 -24
  355. package/dist/components/dist/spinner.d.ts +0 -42
  356. package/dist/components/dist/spinner.js +0 -29
  357. package/dist/components/dist/svg.d.ts +0 -21
  358. package/dist/components/dist/svg.js +0 -17
  359. package/dist/components/dist/switch.config.d.ts +0 -353
  360. package/dist/components/dist/switch.config.js +0 -47
  361. package/dist/components/dist/switch.d.ts +0 -370
  362. package/dist/components/dist/switch.js +0 -32
  363. package/dist/components/dist/table.d.ts +0 -36
  364. package/dist/components/dist/table.js +0 -29
  365. package/dist/components/dist/tabs.config.d.ts +0 -611
  366. package/dist/components/dist/tabs.config.js +0 -56
  367. package/dist/components/dist/tabs.d.ts +0 -632
  368. package/dist/components/dist/tabs.js +0 -77
  369. package/dist/components/dist/text.config.d.ts +0 -306
  370. package/dist/components/dist/text.config.js +0 -149
  371. package/dist/components/dist/text.d.ts +0 -205
  372. package/dist/components/dist/text.js +0 -12
  373. package/dist/components/dist/textarea.config.d.ts +0 -352
  374. package/dist/components/dist/textarea.config.js +0 -57
  375. package/dist/components/dist/textarea.d.ts +0 -362
  376. package/dist/components/dist/textarea.js +0 -9
  377. package/dist/components/dist/toast.config.d.ts +0 -335
  378. package/dist/components/dist/toast.config.js +0 -145
  379. package/dist/components/dist/toast.d.ts +0 -426
  380. package/dist/components/dist/toast.js +0 -159
  381. package/dist/components/dist/tooltip.config.d.ts +0 -193
  382. package/dist/components/dist/tooltip.config.js +0 -40
  383. package/dist/components/dist/tooltip.d.ts +0 -206
  384. package/dist/components/dist/tooltip.js +0 -28
  385. package/dist/components/dist/vstack.d.ts +0 -15
  386. package/dist/components/dist/vstack.js +0 -20
  387. package/dist/components/dropdown.config.d.ts +0 -2
  388. package/dist/components/dropdown.config.js +0 -2
  389. package/dist/components/dropdown.d.ts +0 -2
  390. package/dist/components/dropdown.js +0 -2
  391. package/dist/components/empty-state.config.d.ts +0 -2
  392. package/dist/components/empty-state.config.js +0 -2
  393. package/dist/components/empty-state.d.ts +0 -2
  394. package/dist/components/empty-state.js +0 -2
  395. package/dist/components/footer.d.ts +0 -2
  396. package/dist/components/footer.js +0 -2
  397. package/dist/components/grid.d.ts +0 -2
  398. package/dist/components/grid.js +0 -2
  399. package/dist/components/header.d.ts +0 -2
  400. package/dist/components/header.js +0 -2
  401. package/dist/components/hstack.d.ts +0 -2
  402. package/dist/components/hstack.js +0 -2
  403. package/dist/components/image.d.ts +0 -2
  404. package/dist/components/image.js +0 -2
  405. package/dist/components/input.config.d.ts +0 -2
  406. package/dist/components/input.config.js +0 -2
  407. package/dist/components/input.d.ts +0 -2
  408. package/dist/components/input.js +0 -2
  409. package/dist/components/item.config.d.ts +0 -2
  410. package/dist/components/item.config.js +0 -2
  411. package/dist/components/item.d.ts +0 -2
  412. package/dist/components/item.js +0 -2
  413. package/dist/components/list.d.ts +0 -2
  414. package/dist/components/list.js +0 -2
  415. package/dist/components/main.d.ts +0 -2
  416. package/dist/components/main.js +0 -2
  417. package/dist/components/modal.config.d.ts +0 -2
  418. package/dist/components/modal.config.js +0 -2
  419. package/dist/components/modal.d.ts +0 -2
  420. package/dist/components/modal.js +0 -2
  421. package/dist/components/nav-header.config.d.ts +0 -2
  422. package/dist/components/nav-header.config.js +0 -2
  423. package/dist/components/nav-header.d.ts +0 -2
  424. package/dist/components/nav-header.js +0 -2
  425. package/dist/components/nav.d.ts +0 -2
  426. package/dist/components/nav.js +0 -2
  427. package/dist/components/preset-bar.config.d.ts +0 -2
  428. package/dist/components/preset-bar.config.js +0 -2
  429. package/dist/components/preset-bar.d.ts +0 -2
  430. package/dist/components/preset-bar.js +0 -2
  431. package/dist/components/presets/index.d.ts +0 -44
  432. package/dist/components/presets/index.js +0 -44
  433. package/dist/components/pressable.d.ts +0 -2
  434. package/dist/components/pressable.js +0 -2
  435. package/dist/components/progress.config.d.ts +0 -2
  436. package/dist/components/progress.config.js +0 -2
  437. package/dist/components/progress.d.ts +0 -2
  438. package/dist/components/progress.js +0 -2
  439. package/dist/components/section.d.ts +0 -2
  440. package/dist/components/section.js +0 -2
  441. package/dist/components/select.config.d.ts +0 -2
  442. package/dist/components/select.config.js +0 -2
  443. package/dist/components/select.d.ts +0 -2
  444. package/dist/components/select.js +0 -2
  445. package/dist/components/sheet.config.d.ts +0 -2
  446. package/dist/components/sheet.config.js +0 -2
  447. package/dist/components/sheet.d.ts +0 -2
  448. package/dist/components/sheet.js +0 -2
  449. package/dist/components/sidebar.config.d.ts +0 -2
  450. package/dist/components/sidebar.config.js +0 -2
  451. package/dist/components/sidebar.d.ts +0 -2
  452. package/dist/components/sidebar.js +0 -2
  453. package/dist/components/skeleton.config.d.ts +0 -2
  454. package/dist/components/skeleton.config.js +0 -2
  455. package/dist/components/skeleton.d.ts +0 -2
  456. package/dist/components/skeleton.js +0 -2
  457. package/dist/components/slider.config.d.ts +0 -2
  458. package/dist/components/slider.config.js +0 -2
  459. package/dist/components/slider.d.ts +0 -2
  460. package/dist/components/slider.js +0 -2
  461. package/dist/components/spinner.config.d.ts +0 -2
  462. package/dist/components/spinner.config.js +0 -2
  463. package/dist/components/spinner.d.ts +0 -2
  464. package/dist/components/spinner.js +0 -2
  465. package/dist/components/svg.d.ts +0 -2
  466. package/dist/components/svg.js +0 -2
  467. package/dist/components/switch.config.d.ts +0 -2
  468. package/dist/components/switch.config.js +0 -2
  469. package/dist/components/switch.d.ts +0 -2
  470. package/dist/components/switch.js +0 -2
  471. package/dist/components/table.d.ts +0 -2
  472. package/dist/components/table.js +0 -2
  473. package/dist/components/tabs.config.d.ts +0 -2
  474. package/dist/components/tabs.config.js +0 -2
  475. package/dist/components/tabs.d.ts +0 -2
  476. package/dist/components/tabs.js +0 -2
  477. package/dist/components/text.config.d.ts +0 -2
  478. package/dist/components/text.config.js +0 -2
  479. package/dist/components/text.d.ts +0 -2
  480. package/dist/components/text.js +0 -2
  481. package/dist/components/textarea.config.d.ts +0 -2
  482. package/dist/components/textarea.config.js +0 -2
  483. package/dist/components/textarea.d.ts +0 -2
  484. package/dist/components/textarea.js +0 -2
  485. package/dist/components/toast.config.d.ts +0 -2
  486. package/dist/components/toast.config.js +0 -2
  487. package/dist/components/toast.d.ts +0 -2
  488. package/dist/components/toast.js +0 -2
  489. package/dist/components/tooltip.config.d.ts +0 -2
  490. package/dist/components/tooltip.config.js +0 -2
  491. package/dist/components/tooltip.d.ts +0 -2
  492. package/dist/components/tooltip.js +0 -2
  493. package/dist/components/vstack.d.ts +0 -2
  494. package/dist/components/vstack.js +0 -2
  495. package/dist/config/dist/component-config.d.ts +0 -349
  496. package/dist/config/dist/component-refs.d.ts +0 -98
  497. package/dist/config/dist/component-resolution.js +0 -78
  498. package/dist/config/dist/consts/defaultColors.d.ts +0 -253
  499. package/dist/config/dist/consts/defaultColors.js +0 -252
  500. package/dist/config/dist/createComponent.d.ts +0 -1
  501. package/dist/config/dist/createComponent.js +0 -1
  502. package/dist/config/dist/createConfig.d.ts +0 -375
  503. package/dist/config/dist/createConfig.js +0 -625
  504. package/dist/config/dist/defineComponent.d.ts +0 -24
  505. package/dist/config/dist/defineComponent.js +0 -2
  506. package/dist/config/dist/defineStyleProp.d.ts +0 -93
  507. package/dist/config/dist/defineStyleProp.js +0 -60
  508. package/dist/config/dist/preset-merge.js +0 -192
  509. package/dist/config/dist/propertyAcceptedTypes.js +0 -220
  510. package/dist/config/dist/propertyGroups.d.ts +0 -1
  511. package/dist/config/dist/propertyGroups.js +0 -414
  512. package/dist/config/dist/resolveStyleProp.d.ts +0 -88
  513. package/dist/config/dist/resolveStyleProp.js +0 -235
  514. package/dist/config/dist/resolveTokenTypes.d.ts +0 -1
  515. package/dist/config/dist/resolveTokenTypes.js +0 -149
  516. package/dist/config/dist/runtime-registry.js +0 -9
  517. package/dist/config/dist/serialize.d.ts +0 -73
  518. package/dist/config/dist/serialize.js +0 -172
  519. package/dist/config/dist/style-prop-runtime.d.ts +0 -1
  520. package/dist/config-utils/dist/componentConfig.d.ts +0 -10
  521. package/dist/config-utils/dist/componentConfig.js +0 -11
  522. package/dist/config-utils.d.ts +0 -2
  523. package/dist/config-utils.js +0 -2
  524. package/dist/core/dist/color-opacity-map.js +0 -33
  525. package/dist/core/dist/compositeStyles.d.ts +0 -21
  526. package/dist/core/dist/compositeStyles.js +0 -51
  527. package/dist/core/dist/configurable-prop-helpers.d.ts +0 -31
  528. package/dist/core/dist/configurable-prop-helpers.js +0 -61
  529. package/dist/core/dist/createComponent.boundaries.js +0 -192
  530. package/dist/core/dist/createComponent.d.ts +0 -56
  531. package/dist/core/dist/createComponent.js +0 -67
  532. package/dist/core/dist/createComponentExample.d.ts +0 -41
  533. package/dist/core/dist/createComponentExample.js +0 -27
  534. package/dist/core/dist/createProvider.d.ts +0 -12
  535. package/dist/core/dist/createProvider.js +0 -24
  536. package/dist/core/dist/generated/stylePropsTwMap.d.ts +0 -1700
  537. package/dist/core/dist/generated/stylePropsTwMap.js +0 -570
  538. package/dist/core/dist/getComponentStyles.d.ts +0 -49
  539. package/dist/core/dist/getComponentStyles.js +0 -85
  540. package/dist/core/dist/getStyles.d.ts +0 -42
  541. package/dist/core/dist/getStyles.js +0 -300
  542. package/dist/core/dist/index.d.ts +0 -13
  543. package/dist/core/dist/index.js +0 -13
  544. package/dist/core/dist/modifier-mappings.d.ts +0 -12
  545. package/dist/core/dist/modifier-mappings.js +0 -61
  546. package/dist/core/dist/resolveMotionState.d.ts +0 -4
  547. package/dist/core/dist/resolveMotionState.js +0 -17
  548. package/dist/core/dist/resolveProps.boundaries.js +0 -131
  549. package/dist/core/dist/style-prop-data.d.ts +0 -32
  550. package/dist/core/dist/style-prop-data.js +0 -1257
  551. package/dist/core/dist/transformPreset.d.ts +0 -17
  552. package/dist/core/dist/transformPreset.js +0 -28
  553. package/dist/core/dist/withDefaultStyleProps.d.ts +0 -43
  554. package/dist/core/dist/withDefaultStyleProps.js +0 -18
  555. package/dist/core.d.ts +0 -14
  556. package/dist/core.js +0 -15
  557. package/dist/createSlot.d.ts +0 -2
  558. package/dist/createSlot.js +0 -2
  559. package/dist/fixtures.d.ts +0 -4
  560. package/dist/fixtures.js +0 -5
  561. package/dist/foundational-presets/dist/_virtual/_rolldown/runtime.js +0 -13
  562. package/dist/foundational-presets/dist/defaultPreset.d.ts +0 -1557
  563. package/dist/foundational-presets/dist/defaultPreset.js +0 -615
  564. package/dist/foundational-presets/dist/index.d.ts +0 -1
  565. package/dist/foundational-presets/dist/index.js +0 -1
  566. package/dist/foundational-presets/dist/motion.d.ts +0 -12
  567. package/dist/foundational-presets/dist/style-props.js +0 -1445
  568. package/dist/loader/dist/loader/create-component-data.js +0 -33
  569. package/dist/loader/dist/loader/create-component-lowering.js +0 -454
  570. package/dist/loader/dist/loader/data-attr-transform.js +0 -191
  571. package/dist/loader/dist/loader/dynamic-style-codegen.js +0 -97
  572. package/dist/loader/dist/loader/internal-meta.js +0 -22
  573. package/dist/loader/dist/loader/lower-new-api-primitive.js +0 -90
  574. package/dist/loader/dist/loader/motion-transform.js +0 -717
  575. package/dist/loader/dist/loader/style-transform.js +0 -670
  576. package/dist/loader/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -203
  577. package/dist/loader/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -25
  578. package/dist/loader/dist/node_modules/react/cjs/react.development.js +0 -762
  579. package/dist/loader/dist/node_modules/react/cjs/react.production.js +0 -351
  580. package/dist/loader/dist/node_modules/react/index.js +0 -10
  581. package/dist/loader/dist/node_modules/react/jsx-runtime.js +0 -10
  582. package/dist/loader/dist/packages/core/dist/color-opacity-map.js +0 -33
  583. package/dist/loader/dist/packages/core/dist/compositeStyles.js +0 -43
  584. package/dist/loader/dist/packages/core/dist/createComponent.js +0 -6
  585. package/dist/loader/dist/packages/core/dist/createProvider.js +0 -7
  586. package/dist/loader/dist/packages/core/dist/generated/stylePropsTwMap.js +0 -570
  587. package/dist/loader/dist/packages/core/dist/getComponentStyles.js +0 -2
  588. package/dist/loader/dist/packages/core/dist/getStyles.js +0 -60
  589. package/dist/loader/dist/packages/core/dist/index.js +0 -6
  590. package/dist/loader/dist/packages/core/dist/modifier-mappings.js +0 -61
  591. package/dist/loader/dist/packages/core/dist/style-prop-data.js +0 -1257
  592. package/dist/loader/dist/packages/core/dist/withDefaultStyleProps.js +0 -1
  593. package/dist/presets/dist/defaultPreset.d.ts +0 -6
  594. package/dist/presets/dist/defaultPreset.js +0 -51
  595. package/dist/presets/dist/index.d.ts +0 -1
  596. package/dist/presets/dist/index.js +0 -1
  597. package/dist/presets/motion.d.ts +0 -2
  598. package/dist/presets/motion.js +0 -2
  599. package/dist/presets.d.ts +0 -2
  600. package/dist/presets.js +0 -3
  601. package/dist/styles.d.ts +0 -4
  602. package/dist/styles.js +0 -5
  603. package/dist/transformPreset.d.ts +0 -2
  604. package/dist/transformPreset.js +0 -3
  605. /package/dist/{config/dist/component-resolution.d.ts → loader/dist/transform-runner.d.ts} +0 -0
@@ -1,45 +1,196 @@
1
- import { RegisteredStyleProps } from "./component-refs.js";
2
- import { ComponentConfigValue, HtmlTag, LayerInput, PropBinding } from "./component-config.js";
3
- import { ComponentPropsWithoutRef, HTMLAttributes, JSX } from "react";
1
+ import { RegisteredCompositeStyles, RegisteredModifiers, RegisteredStyleProps, TagRef } from "./refs.js";
2
+ import { ColorExpression } from "./colorExpressions.js";
3
+ import { ComponentDefinition, LayerInput, PropBinding, RootTag } from "./types.js";
4
+ import { ComponentPropsWithRef, HTMLAttributes, JSX, ReactNode } from "react";
4
5
 
5
6
  //#region ../config/dist/Props.d.ts
6
7
  //#region src/Props.d.ts
7
8
  /**
8
- * Resolve the native HTML-attribute surface for the config's root tag.
9
+ * Resolve the native HTML-attribute surface for the definition's root tag.
9
10
  *
10
11
  * - When `TTag` is a known `JSX.IntrinsicElements` key (`'a'`, `'div'`,
11
- * `'button'`, …), use `ComponentPropsWithoutRef<TTag>` so element-
12
- * specific attrs land in the prop type (`href` on `'a'`, `disabled`
13
- * on `'button'`, etc.).
14
- * - Otherwise (no tag captured — e.g. the root is a brace-ref or
15
- * composed-layer), fall back to the generic `HTMLAttributes<HTMLElement>`.
12
+ * `'button'`, …), use `ComponentPropsWithRef<TTag>` so element-
13
+ * specific attrs *and* the React 19 `ref` prop both land in the prop
14
+ * type (`href` on `'a'`, `disabled` on `'button'`, `ref` on every
15
+ * intrinsic).
16
+ * - Otherwise (no tag captured — e.g. the root is a `ComponentRef`
17
+ * or composed-layer), fall back to the generic
18
+ * `HTMLAttributes<HTMLElement>`.
16
19
  */
17
- type ElementProps<TTag extends HtmlTag | undefined> = TTag extends keyof JSX.IntrinsicElements ? ComponentPropsWithoutRef<TTag> : HTMLAttributes<HTMLElement>;
20
+ type ElementProps<TTag extends string | undefined> = TTag extends keyof JSX.IntrinsicElements ? ComponentPropsWithRef<TTag> : HTMLAttributes<HTMLElement>;
21
+ /**
22
+ * Props inherited from the wrapped component when the root layer is a
23
+ * registered `ComponentDefinition` value (e.g. `layers: { root: Box }`).
24
+ * Returns the wrapped component's own resolved `Props<...>` shape so
25
+ * a wrapper's JSX surface inherits everything the wrapped component
26
+ * accepts. Returns `{}` when the root isn't composed.
27
+ *
28
+ * Recursion terminates because the inner `TInner` is constrained to
29
+ * `ComponentDefinition<infer L, infer P, infer T>` — three concrete
30
+ * inferred type variables, not the bare wide `ComponentDefinition`. TS
31
+ * unfolds one step at a time and the recursive `Props<TInner>` works
32
+ * on the already-narrowed shape rather than the open structural
33
+ * interface.
34
+ *
35
+ * The outer `[TLayers] extends [Record<string, LayerInput>]` guard
36
+ * (and the corresponding wide-`R` short-circuit below) prevent the
37
+ * type from blowing the complexity budget when `TLayers` is the bare
38
+ * structural default (`Record<string, LayerInput>`) — at that point
39
+ * `R` is the full `LayerInput` union, and recursing through it would
40
+ * try to enumerate every wrapped-component shape the union admits.
41
+ */
42
+ /**
43
+ * One-level prop-shape extraction for a composed root layer. Mirrors
44
+ * `Props<TInner>` without re-invoking `Props` recursively — the
45
+ * recursion was the main culprit behind TS2590 "union too complex"
46
+ * during codegen typechecks, where dozens of `defineComponent` call
47
+ * sites with overlapping prop shapes pushed the inference budget
48
+ * over. One level of prop inheritance covers every real wrapper
49
+ * shape (Box → HStack, Box → Pressable, Box → Input); a deeper
50
+ * chain (Pressable → Button) still picks up Box's surface via the
51
+ * already-flattened intermediate, because each step's `props` field
52
+ * already carries the merged-and-flattened bindings from the chain
53
+ * methods' `MergeChainConfig`.
54
+ */
55
+ type ComposedRootShape<TLayers extends Record<string, LayerInput>, TProps extends Record<string, PropBinding>, TTag extends string | undefined> = PropsFromBindings<TProps, TLayers> & Omit<ElementProps<EffectiveTagPlain<TTag, TLayers>>, keyof TProps> & DataAttrs;
56
+ /**
57
+ * Plain tag computation for `ComposedRootShape` — no `defaultProps.as`
58
+ * override (the inner def's own `defaultProps.as` doesn't influence
59
+ * the outer JSX surface; only its layers + props + captured TTag do).
60
+ */
61
+ type EffectiveTagPlain<TTag, TLayers> = string extends TTag ? RootTag<TLayers> : [TTag] extends [undefined] ? RootTag<TLayers> : TTag extends string ? TTag : RootTag<TLayers>;
62
+ type ComposedRootProps<TLayers> = TLayers extends {
63
+ root: infer R;
64
+ } ? LayerInput extends R ? {} : R extends ComponentDefinition<infer InnerLayers, infer InnerProps, infer InnerTag> ? ComposedRootShape<InnerLayers, InnerProps, InnerTag> : {} : {};
18
65
  /**
19
66
  * Resolve the allowed-value union for one registered style prop.
20
67
  * Falls back to `string` when the prop registered no tokens (codegen
21
- * emits `never` for that case).
68
+ * emits `never` for that case). Always widened with `ColorExpression`
69
+ * so the sanctioned `mix(...)` / `darken(...)` / `lighten(...)` color
70
+ * helpers type-check at every style-prop position.
22
71
  */
23
- type StylePropValue<K extends keyof RegisteredStyleProps> = [RegisteredStyleProps[K]] extends [never] ? string : RegisteredStyleProps[K];
72
+ type StylePropValue<K extends keyof RegisteredStyleProps> = [RegisteredStyleProps[K]] extends [never] ? string | ColorExpression : RegisteredStyleProps[K] | ColorExpression;
24
73
  /**
25
- * Extract the registered style-prop name from a binding value:
26
- * - `'{bg}'` → `'bg'`
27
- * - `{ styleProp: '{bg}' }` → `'bg'`
28
- * Returns `never` for non-matching forms.
74
+ * Extract the registered style-prop name from a `StylePropRef` binding
75
+ * `{ __kind: 'styleProp', ref: 'bg', layer? }` → `'bg'`. Returns `never`
76
+ * for non-matching forms.
29
77
  */
30
- type StylePropRefName<TBinding> = TBinding extends `{${infer N}}` ? N extends keyof RegisteredStyleProps & string ? N : never : TBinding extends {
31
- styleProp: `{${infer N}}`;
78
+ type StylePropRefName<TBinding> = TBinding extends {
79
+ readonly __kind: 'styleProp';
80
+ readonly ref: infer N;
32
81
  } ? N extends keyof RegisteredStyleProps & string ? N : never : never;
33
82
  /**
34
- * Walk the config's `props` block and produce one optional JSX prop
35
- * per entry.
83
+ * Extract the registered composite-group name from a `CompositeRef`
84
+ * binding — `{ __kind: 'composite', ref: 'textVariant' }` → `'textVariant'`.
85
+ * Returns `never` for non-matching forms.
86
+ */
87
+ type CompositeRefName<TBinding> = TBinding extends {
88
+ readonly __kind: 'composite';
89
+ readonly ref: infer N;
90
+ } ? N extends keyof RegisteredCompositeStyles & string ? N : never : never;
91
+ /**
92
+ * Resolve the allowed-value union for a registered composite group —
93
+ * the union of `styles` keys. Falls back to `string` when the
94
+ * registry isn't populated (e.g. inside `@uds/config`'s own
95
+ * tests where codegen-emitted augmentation isn't loaded).
36
96
  */
37
- type PropsFromConfig<TProps> = { [K in keyof TProps]?: StylePropRefName<TProps[K]> extends never ? unknown : StylePropValue<Extract<StylePropRefName<TProps[K]>, keyof RegisteredStyleProps>> };
97
+ type CompositeValue<K extends keyof RegisteredCompositeStyles> = RegisteredCompositeStyles[K] extends {
98
+ styles: infer S;
99
+ } ? keyof S & string : string;
100
+ /**
101
+ * Resolve the JSX-value type for a slot ref by looking up the target
102
+ * layer's prop. Mirrors main's `SlotPropValue` but reads
103
+ * `layerProp` instead of `prop` (the config slot ref carries
104
+ * `layerProp` as the target prop name).
105
+ *
106
+ * - **Composed-component layer** — read
107
+ * `Props<TInnerDef>[layerProp]`, so `slot('button/onClick')` types
108
+ * as the click-handler the wrapped component declares.
109
+ * - **HTML-tag layer** (bare-tag `'div'`, `TagRef<'a'>`, or
110
+ * `{ tag: 'a', attrs }`) — read
111
+ * `ComponentPropsWithRef<tag>[layerProp]`, so `slot('link/href')`
112
+ * types as `string | undefined`.
113
+ * - Unknown layer / unknown prop falls back to `ReactNode`.
114
+ */
115
+ type SlotTargetKey<A> = [A] extends [string] ? A : 'children';
116
+ /** Resolve a layer's HTML tag literal (`'a' | 'div' | ...`) when statically readable. */
117
+ type LayerTag<L> = L extends string ? L : L extends TagRef<infer T> ? T : L extends {
118
+ tag: infer T extends string;
119
+ } ? T : L extends {
120
+ tag: TagRef<infer T>;
121
+ } ? T : never;
122
+ /**
123
+ * Read prop `K` off `T` if present, else fall back to `ReactNode`. Used
124
+ * to look up a slot's target-layer prop without crashing on
125
+ * mismatched keys.
126
+ */
127
+ type ReadOrNode<T, K> = K extends keyof T ? T[K] : ReactNode;
128
+ type SlotPropValue<TBinding, TLayers> = TBinding extends {
129
+ readonly __kind: 'slot';
130
+ readonly layer: infer L extends keyof TLayers & string;
131
+ readonly layerProp?: infer A;
132
+ } ? TLayers[L] extends ((props: infer P) => unknown) ? ReadOrNode<P, SlotTargetKey<A>> : TLayers[L] extends ComponentDefinition<infer InnerLayers, infer InnerProps, infer InnerTag> ? ReadOrNode<ComposedRootShape<InnerLayers, InnerProps, InnerTag>, SlotTargetKey<A>> : LayerTag<TLayers[L]> extends infer TT extends keyof JSX.IntrinsicElements ? ReadOrNode<ComponentPropsWithRef<TT>, SlotTargetKey<A>> : ReactNode : ReactNode;
133
+ type IsSlotMarker<TBinding> = TBinding extends {
134
+ readonly __kind: 'slot';
135
+ } ? true : false;
136
+ /**
137
+ * Resolve the JSX value type for one prop binding. Pulled out so
138
+ * `PropsFromBindings` can apply it twice — once for required keys
139
+ * (no `?`) and once for optional keys.
140
+ */
141
+ type ResolveBindingValue<TBinding, TLayers> = TBinding extends {
142
+ readonly __transformOut: infer Out;
143
+ } ? (value: Out) => void : IsSlotMarker<TBinding> extends true ? SlotPropValue<TBinding, TLayers> : StylePropRefName<TBinding> extends never ? CompositeRefName<TBinding> extends never ? TBinding extends {
144
+ readonly __kind: 'boolean';
145
+ } ? boolean : TBinding extends {
146
+ readonly __kind: 'string';
147
+ } ? string : TBinding extends {
148
+ readonly __kind: 'number';
149
+ } ? number : TBinding extends {
150
+ readonly __kind: 'variant';
151
+ readonly values: infer V;
152
+ } ? V extends readonly (string | number)[] ? V[number] : keyof V & string : unknown : CompositeValue<Extract<CompositeRefName<TBinding>, keyof RegisteredCompositeStyles>> : StylePropValue<Extract<StylePropRefName<TBinding>, keyof RegisteredStyleProps>>;
153
+ /**
154
+ * Keys of `TProps` whose binding carries `__required: true` — these
155
+ * surface on the JSX side without the trailing `?` so callers must
156
+ * pass a value.
157
+ */
158
+ type RequiredBindingKeys<TProps> = { [K in keyof TProps]: TProps[K] extends {
159
+ readonly __required: true;
160
+ } ? K : never }[keyof TProps];
161
+ /**
162
+ * Style-prop names bound by the definition — the `ref` of every
163
+ * `styleProp(...)` entry in the `props` block (`never` for non-style
164
+ * bindings, which drop out of the union).
165
+ */
166
+ type BoundStylePropNames<TProps> = { [K in keyof TProps]: StylePropRefName<TProps[K]> }[keyof TProps] & string;
167
+ /**
168
+ * Opacity companions for the bound color props. `defineStyleProp(...)
169
+ * .withOpacity({ as })` registers a `${base}Opacity` sibling in
170
+ * `RegisteredStyleProps` that pairs with its base color prop at the same
171
+ * style position (`borderColor` → `borderColorOpacity`). A component that
172
+ * binds the base prop should accept the companion too — both on its JSX
173
+ * surface and inside modifier bodies (`_hover: { borderColorOpacity }`),
174
+ * which read their key set from this binding-derived bag rather than from
175
+ * the full `RegisteredStyleProps` map that tag layers get.
176
+ *
177
+ * The `& keyof RegisteredStyleProps` intersection keeps only siblings that
178
+ * were actually registered, so a bound base prop without a `.withOpacity()`
179
+ * pair (e.g. `borderTopColor`) contributes nothing.
180
+ */
181
+ type OpacityCompanionProps<TProps> = { [O in `${BoundStylePropNames<TProps>}Opacity` & keyof RegisteredStyleProps]?: StylePropValue<O> };
182
+ /**
183
+ * Walk the definition's `props` block and produce a JSX prop per entry.
184
+ * Bindings carry `__required: true` when the author chained
185
+ * `.required()`; those keys land in the required half of the resulting
186
+ * prop bag. Every other key stays optional. The opacity companions of any
187
+ * bound color prop ride along via `OpacityCompanionProps`.
188
+ */
189
+ type PropsFromBindings<TProps, TLayers> = { [K in keyof TProps as K extends RequiredBindingKeys<TProps> ? K : never]: ResolveBindingValue<TProps[K], TLayers> } & { [K in keyof TProps as K extends RequiredBindingKeys<TProps> ? never : K]?: ResolveBindingValue<TProps[K], TLayers> } & OpacityCompanionProps<TProps>;
38
190
  /**
39
191
  * Force TypeScript to fully evaluate a mapped/conditional type so the
40
192
  * hover display shows the resolved shape (`bg?: 'brand' | 'accent'`)
41
- * instead of the unevaluated type expression
42
- * (`PropsFromConfig<{ readonly bg: '{bg}' }>`).
193
+ * instead of the unevaluated type expression.
43
194
  */
44
195
  type Prettify<T> = { [K in keyof T]: T[K] } & {};
45
196
  /**
@@ -51,24 +202,118 @@ type Prettify<T> = { [K in keyof T]: T[K] } & {};
51
202
  interface DataAttrs {
52
203
  [key: `data-${string}`]: unknown;
53
204
  }
205
+ /**
206
+ * `layerProps={{ root: { bg: '...' }, ... }}` — per-layer JSX prop
207
+ * overrides. Same shape main exposes: each value is the layer
208
+ * component's own `Props<...>` (when the layer is a composed
209
+ * component) or a wide style+attr bag (when the layer is a bare HTML
210
+ * tag).
211
+ */
212
+ type LayerPropsValue<TLayer> = TLayer extends ComponentDefinition<infer InnerLayers, infer InnerProps, infer InnerTag> ? Partial<Props<ComponentDefinition<InnerLayers, InnerProps, InnerTag>>> : Partial<HTMLAttributes<HTMLElement>> & { [K in keyof RegisteredStyleProps]?: StylePropValue<K> };
213
+ type LayerPropsMap<TLayers extends Record<string, LayerInput>> = { [K in keyof TLayers]?: LayerPropsValue<TLayers[K]> };
214
+ /**
215
+ * Per-layer `base` styles. Same target-narrowing as `LayerPropsValue`
216
+ * but adds `_<modifier>` keys for tag layers — `base: { root: { _hover:
217
+ * {...} } }` is a common authoring pattern and modifiers aren't part
218
+ * of the JSX `layerProps` shape, so we expose them here only.
219
+ *
220
+ * Composed-component layers already carry modifiers via `Props<...>`
221
+ * (see `PropsBase`'s wrapping `RegisteredModifiers`), so that branch
222
+ * passes through unchanged.
223
+ */
224
+ /**
225
+ * Per-tag-layer styles bag. Combines:
226
+ * - HTML attrs valid on every element
227
+ * - Each registered style prop with its token-union value (plus
228
+ * `[bracket]` literals and an open-string escape so unregistered
229
+ * runtime values still typecheck — autocomplete still shows the
230
+ * token union via the `string & {}` hint pattern)
231
+ * - Each registered composite-style binding (e.g. `variant`,
232
+ * `elevation`) so layers that wrap a composite-bound component
233
+ * can set the composite value
234
+ * - A `Record<string, unknown>` index signature that only kicks in
235
+ * when the augmentable registries are empty (consumer tests in
236
+ * `@uds/config` / `@uds/codegen` run without codegen-emitted
237
+ * augmentation). Detected via the `[keyof X] extends [never]`
238
+ * "empty registry" probe; in real consumer apps the registries
239
+ * are populated and the open index signature drops out.
240
+ */
241
+ type TagLayerStylesBag = [keyof RegisteredStyleProps] extends [never] ? Record<string, unknown> : Partial<HTMLAttributes<HTMLElement>> & { [K in keyof RegisteredStyleProps]?: StylePropValue<K> | `[${string}]` | (string & {}) } & { [K in keyof RegisteredCompositeStyles]?: CompositeValue<K> };
242
+ type BaseLayerStyles<TLayer> = TLayer extends ComponentDefinition<infer InnerLayers, infer InnerProps, infer InnerTag> ? Partial<Props<ComponentDefinition<InnerLayers, InnerProps, InnerTag>>> : TagLayerStylesBag & RegisteredModifiers<TagLayerStylesBag>;
243
+ /**
244
+ * Component prop surface without modifiers — the "base" type that
245
+ * `Props<TDef>` wraps with `RegisteredModifiers<PropsBase<TDef>>`.
246
+ *
247
+ * Splitting the modifier layer out breaks a self-reference cycle: TS
248
+ * can resolve `RegisteredModifiers<PropsBase<TDef>>` because
249
+ * PropsBase doesn't reference itself, but
250
+ * `RegisteredModifiers<Props<TDef>>` directly inside `Props<TDef>`
251
+ * leaves TS unable to materialize the recursive shape and the
252
+ * modifier keys collapse to nothing at consumer call sites.
253
+ */
254
+ /**
255
+ * Effective root tag for `PropsBase`. Resolution order:
256
+ *
257
+ * 1. `defaultProps.as` — value-extend chains thread the polymorphic
258
+ * tag here (`defineComponent(Box).config({ defaultProps: { as:
259
+ * 'input' } })` makes `Input`'s JSX surface `<input>`-shaped).
260
+ * 2. Explicit `TTag` from the def's third generic — set when a chain
261
+ * captures the tag literal directly into the synthesized
262
+ * `ComponentDefinition<..., ..., TTag>`. Falls back when the def's
263
+ * `TTag` is the wide default `string | undefined`.
264
+ * 3. `RootTag<TLayers>` — derived from the root layer (bare-tag string
265
+ * `'div'`, `TagRef<'a'>`, `{ tag: 'a', ... }`, or an inner
266
+ * definition's captured tag).
267
+ */
268
+ type EffectiveTag<TDef, TTag, TLayers> = TDef extends {
269
+ defaultProps: {
270
+ as: infer A extends keyof JSX.IntrinsicElements;
271
+ };
272
+ } ? A : string extends TTag ? RootTag<TLayers> : [TTag] extends [undefined] ? RootTag<TLayers> : TTag extends string ? TTag : RootTag<TLayers>;
273
+ type PropsBase<TDef extends ComponentDefinition<Record<string, LayerInput>, Record<string, PropBinding>, string | undefined>> = TDef extends ComponentDefinition<infer TLayers extends Record<string, LayerInput>, infer TProps extends Record<string, PropBinding>, infer TTag extends string | undefined> ? PropsFromBindings<TProps, TLayers> & Omit<ComposedRootProps<TLayers>, keyof TProps | 'children'> & Omit<ElementProps<EffectiveTag<TDef, TTag, TLayers>>, keyof TProps | keyof ComposedRootProps<TLayers>> & DataAttrs & {
274
+ as?: keyof JSX.IntrinsicElements;
275
+ layerProps?: LayerPropsMap<TLayers>;
276
+ } : never;
54
277
  /**
55
278
  * Public derived-props type.
56
279
  *
57
- * Four layers:
58
- * 1. `PropsFromConfig<TConfig['props']>` — the config's declared props.
59
- * 2. `ElementProps<TTag>` — native attrs narrowed to the root tag when
60
- * statically known (e.g. `href` on `'a'`), otherwise generic
61
- * `HTMLAttributes<HTMLElement>`. Anything colliding with (1) is
62
- * stripped out so custom props' value unions don't get widened.
63
- * 3. `DataAttrs`permissive `data-*` index signature.
64
- * 4. Polymorphic `as` prop (open-ended `string` for now).
65
- */
66
- type Props<TConfig extends ComponentConfigValue<Record<string, LayerInput>, Record<string, PropBinding>, HtmlTag | undefined>> = TConfig extends ComponentConfigValue<Record<string, LayerInput>, infer TProps extends Record<string, PropBinding>, infer TTag extends HtmlTag | undefined> ? Prettify<PropsFromConfig<TProps> & Omit<ElementProps<TTag>, keyof TProps> & DataAttrs & {
67
- as?: string;
68
- }> : never;
69
- /**
70
- * `Props<typeof boxConfig>` for the common 'use the config's inferred
71
- * type' invocation. Keeps `box.tsx` from having to repeat the generic.
280
+ * Layers:
281
+ * 1. `PropsFromBindings<TProps, TLayers>` — config-declared props.
282
+ * 2. `ComposedRootProps<TLayers>` — the wrapped component's prop
283
+ * surface when the root layer is a `ComponentDefinition` value,
284
+ * minus `children` (a multi-layer component must declare its own
285
+ * content slot rather than inherit the root's).
286
+ * 3. `ElementProps<TTag>`native HTML attrs narrowed to the root
287
+ * tag (or the wrapper's `defaultProps.as` for value-extends).
288
+ * Anything colliding with (1) or (2) is stripped out.
289
+ * 4. `DataAttrs` permissive `data-*` index signature.
290
+ * 5. `RegisteredModifiers<PropsBase<TDef>>` — narrowed `_<modifier>`
291
+ * keys with `Partial<...>` values. Augmented by codegen.
292
+ * 6. Polymorphic `as` prop.
293
+ *
294
+ * The first conditional short-circuits to a permissive shape when
295
+ * `TDef` is too wide (no concrete `layers` map yet). Without this,
296
+ * the eagerly-evaluated `ComponentBuilder<{layers: L}>` at the
297
+ * `defineComponent.layers` static-method declaration sometimes
298
+ * pushes the TS inference budget over the "union too complex" wall
299
+ * during package-wide typechecks (`@uds/codegen` builds saw this
300
+ * at `factories.ts:853`).
72
301
  */
302
+ type Props<TDef extends ComponentDefinition<Record<string, LayerInput>, Record<string, PropBinding>, string | undefined>> = TDef extends {
303
+ layers: Record<string, LayerInput>;
304
+ } ? Record<string, LayerInput> extends TDef['layers'] ? PermissiveProps : Prettify<PropsBase<TDef> & RegisteredModifiers<PropsBase<TDef>>> : PermissiveProps;
305
+ /**
306
+ * Permissive prop bag used as the bail-out shape when `Props<TDef>`
307
+ * can't narrow against a concrete `layers` map (mirrors the
308
+ * `FC<any>` slot the pre-Props builder used to carry).
309
+ */
310
+ type PermissiveProps = HTMLAttributes<HTMLElement> & DataAttrs & Record<string, any> & {
311
+ as?: keyof JSX.IntrinsicElements;
312
+ };
313
+ /**
314
+ * `Props<typeof boxConfig>` for the common 'use the definition's inferred
315
+ * type' invocation. Keeps consumers from having to repeat the generic.
316
+ */
317
+ //#endregion
73
318
  //#endregion
74
- export { Props };
319
+ export { BaseLayerStyles, DataAttrs, LayerPropsMap, LayerTag, Props, PropsFromBindings, SlotPropValue };
@@ -0,0 +1,21 @@
1
+ import { FC, ReactNode } from "react";
2
+
3
+ //#region ../config/dist/Provider.d.ts
4
+ //#region src/Provider.d.ts
5
+ declare class Provider {
6
+ readonly name: string;
7
+ readonly component: FC<{
8
+ children: ReactNode;
9
+ }>;
10
+ constructor(args: {
11
+ name: string;
12
+ component: FC<{
13
+ children: ReactNode;
14
+ }>;
15
+ });
16
+ toJSON(): {
17
+ name: string;
18
+ };
19
+ } //#endregion
20
+ //#endregion
21
+ export { Provider };
@@ -0,0 +1,14 @@
1
+ //#region ../config/dist/Provider.js
2
+ var Provider = class {
3
+ name;
4
+ component;
5
+ constructor(args) {
6
+ this.name = args.name;
7
+ this.component = args.component;
8
+ }
9
+ toJSON() {
10
+ return { name: this.name };
11
+ }
12
+ };
13
+ //#endregion
14
+ export { Provider };
@@ -0,0 +1,113 @@
1
+ import { AnyStylePropDefinition, ArbitraryEntry, ArbitrarySpec, OpacityPairSpec, StylePropMetadata, StylePropProperty, TokenType } from "./types.js";
2
+ import { Token } from "./Token.js";
3
+
4
+ //#region ../config/dist/StyleProp.d.ts
5
+ //#region src/StyleProp.d.ts
6
+ type StorageValuesEntry = NonNullable<AnyStylePropDefinition['values']>[number];
7
+ type StyleTokenLookup = (groupName: string) => Iterable<Token>;
8
+ declare class StyleProp {
9
+ #private;
10
+ readonly name: string;
11
+ readonly cssProperty: StylePropProperty | readonly StylePropProperty[];
12
+ readonly classPrefix: string;
13
+ readonly values: readonly StorageValuesEntry[];
14
+ readonly arbitrary?: ArbitrarySpec | readonly ArbitraryEntry[];
15
+ /**
16
+ * When true, the prop emits its value negated (`calc(<value> * -1)`) — the
17
+ * single source of negativity, read by the emitter, the runtime injector,
18
+ * and the MCP/guidance/lint. See {@link StylePropDefinition.negative}.
19
+ */
20
+ readonly negative: boolean;
21
+ readonly cssType?: TokenType;
22
+ readonly metadata: StylePropMetadata;
23
+ readonly opacityPair?: OpacityPairSpec;
24
+ /**
25
+ * Optional value→CSS adapter (`gridTemplateColumns`'s `4` →
26
+ * `repeat(4, minmax(0, 1fr))`). Applied to enumerated `values` when deriving
27
+ * the utility-class body, so the native emitter produces real CSS without a
28
+ * Tailwind built-in. Keyword strings (`'none'`) pass through unchanged.
29
+ */
30
+ readonly transform?: (value: string | number) => string;
31
+ /**
32
+ * Build the utility-class name a style prop emits for a given
33
+ * JSX-level value. Single source of truth shared by codegen
34
+ * (`@utility` emission), loader (build-time class derivation), and
35
+ * the runtime renderer — all three must agree byte-for-byte.
36
+ *
37
+ * Conventions (the `prefix` namespaces the whole utility body the same
38
+ * way component classes and CSS variables are namespaced; empty prefix
39
+ * yields the bare form):
40
+ * - `classPrefix === ''` → the value IS the class body (`display="block"`
41
+ * → `.yos-block`).
42
+ * - Boolean `true` → bare `classPrefix` body (`<Box border>` →
43
+ * `.yos-border`, never `.border-true`). Falsy → `undefined` (caller
44
+ * omits the class).
45
+ * - Bracketed arbitrary values (`'[#abc]'`) pass through verbatim.
46
+ * - Otherwise `${classPrefix}-${safeTokenName(value)}` where
47
+ * safeTokenName maps `.` → `_` and `/` → `-`.
48
+ *
49
+ * Static so callers without a StyleProp instance (loader's
50
+ * className builder, codegen's safelist scanner) can derive a class
51
+ * from just the prefix + value pair. Instance callers reach
52
+ * `styleProp.classNameFor(value)`, which supplies the owning Config's
53
+ * prefix automatically.
54
+ */
55
+ static classNameFor(styleProp: {
56
+ classPrefix: string;
57
+ }, value: unknown, prefix?: string): string | undefined;
58
+ /** Instance form of {@link StyleProp.classNameFor} — supplies the owning
59
+ * Config's class-name prefix. */
60
+ classNameFor(value: unknown): string | undefined;
61
+ /** The `classPrefix` namespaced with the owning Config's prefix
62
+ * (`bg` → `yos-bg`). The wildcard `@utility` emitter needs the
63
+ * prefixed stem (`yos-bg-*`) since it has no concrete value to run
64
+ * through {@link classNameFor}. Empty when this prop has no class
65
+ * prefix (value-as-class props emit no wildcard utility). */
66
+ get prefixedClassPrefix(): string;
67
+ constructor(args: {
68
+ name: string;
69
+ definition: AnyStylePropDefinition;
70
+ tokenLookup: StyleTokenLookup;
71
+ prefixGetter?: () => string;
72
+ });
73
+ get derived(): {
74
+ readonly keywords: ReadonlyMap<string | number | boolean, string | Record<string, string>>;
75
+ readonly tokens: readonly Token[];
76
+ };
77
+ /**
78
+ * Token-group namespaces this prop consumes. Used by
79
+ * `TokenGroup.derived.styleProperties` to answer the reverse question.
80
+ */
81
+ consumedTokenGroups(): readonly string[];
82
+ /**
83
+ * The values this prop accepts, split by how each is written at the JSX site:
84
+ * - `tokens` — token names from the prop's token groups (`gap="2"`).
85
+ * - `keywords` — literal CSS keywords written verbatim (`display="flex"`).
86
+ * - `aliases` — short keys resolving to a CSS keyword (`flexDirection="col"`
87
+ * → `column`).
88
+ * A bracketed `[...]` arbitrary literal is governed by `this.arbitrary`, not
89
+ * enumerated here. Rendered by `uds_get_style_prop` / `uds_list_style_props`;
90
+ * `accepts()` validates against the same set.
91
+ */
92
+ allowedValues(): {
93
+ tokens: readonly string[];
94
+ keywords: readonly string[];
95
+ aliases: readonly {
96
+ alias: string;
97
+ value: string;
98
+ }[];
99
+ };
100
+ /**
101
+ * Whether a JSX-site value is accepted: a token name, a literal keyword, an
102
+ * alias key, or a bracketed `[...]` literal when the prop enables `arbitrary`
103
+ * values. The validation primitive behind `uds_validate_props` — a non-token
104
+ * keyword prop (`display`) and an arbitrary-only prop (`fontSize`) both work,
105
+ * not just token-group props.
106
+ */
107
+ accepts(value: string): boolean;
108
+ toJSON(): AnyStylePropDefinition & {
109
+ name: string;
110
+ };
111
+ } //#endregion
112
+ //#endregion
113
+ export { StyleProp };