@yahoo/uds-v5-wip 1.60.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 (563) 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 +29 -1
  53. package/dist/loader/dist/loader.js +71 -309
  54. package/dist/loader/dist/next.d.ts +2 -1
  55. package/dist/loader/dist/transform-runner.js +14 -0
  56. package/dist/loader/dist/unplugin.d.ts +27 -0
  57. package/dist/loader/dist/unplugin.js +52 -0
  58. package/dist/plugin.d.ts +2 -2
  59. package/dist/plugin.js +3 -2
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +3 -51
  62. package/dist/components/accordion.config.d.ts +0 -2
  63. package/dist/components/accordion.config.js +0 -2
  64. package/dist/components/accordion.d.ts +0 -2
  65. package/dist/components/accordion.js +0 -2
  66. package/dist/components/alert.config.d.ts +0 -2
  67. package/dist/components/alert.config.js +0 -2
  68. package/dist/components/alert.d.ts +0 -2
  69. package/dist/components/alert.js +0 -2
  70. package/dist/components/anchor.config.d.ts +0 -2
  71. package/dist/components/anchor.config.js +0 -2
  72. package/dist/components/anchor.d.ts +0 -2
  73. package/dist/components/anchor.js +0 -2
  74. package/dist/components/article.d.ts +0 -2
  75. package/dist/components/article.js +0 -2
  76. package/dist/components/aside.d.ts +0 -2
  77. package/dist/components/aside.js +0 -2
  78. package/dist/components/avatar-group.config.d.ts +0 -2
  79. package/dist/components/avatar-group.config.js +0 -2
  80. package/dist/components/avatar-group.d.ts +0 -2
  81. package/dist/components/avatar-group.js +0 -2
  82. package/dist/components/avatar.config.d.ts +0 -2
  83. package/dist/components/avatar.config.js +0 -2
  84. package/dist/components/avatar.d.ts +0 -2
  85. package/dist/components/avatar.js +0 -2
  86. package/dist/components/badge.config.d.ts +0 -2
  87. package/dist/components/badge.config.js +0 -2
  88. package/dist/components/badge.d.ts +0 -2
  89. package/dist/components/badge.js +0 -2
  90. package/dist/components/box.d.ts +0 -2
  91. package/dist/components/box.js +0 -2
  92. package/dist/components/breadcrumb.config.d.ts +0 -2
  93. package/dist/components/breadcrumb.config.js +0 -2
  94. package/dist/components/breadcrumb.d.ts +0 -2
  95. package/dist/components/breadcrumb.js +0 -2
  96. package/dist/components/button.config.d.ts +0 -2
  97. package/dist/components/button.config.js +0 -2
  98. package/dist/components/button.d.ts +0 -2
  99. package/dist/components/button.js +0 -2
  100. package/dist/components/card.config.d.ts +0 -2
  101. package/dist/components/card.config.js +0 -2
  102. package/dist/components/card.d.ts +0 -2
  103. package/dist/components/card.js +0 -2
  104. package/dist/components/collapsible.config.d.ts +0 -2
  105. package/dist/components/collapsible.config.js +0 -2
  106. package/dist/components/collapsible.d.ts +0 -2
  107. package/dist/components/collapsible.js +0 -2
  108. package/dist/components/command.config.d.ts +0 -2
  109. package/dist/components/command.config.js +0 -2
  110. package/dist/components/command.d.ts +0 -2
  111. package/dist/components/command.js +0 -2
  112. package/dist/components/control-color.config.d.ts +0 -2
  113. package/dist/components/control-color.config.js +0 -2
  114. package/dist/components/control-color.d.ts +0 -2
  115. package/dist/components/control-color.js +0 -2
  116. package/dist/components/control-curve.config.d.ts +0 -2
  117. package/dist/components/control-curve.config.js +0 -2
  118. package/dist/components/control-curve.d.ts +0 -2
  119. package/dist/components/control-curve.js +0 -2
  120. package/dist/components/control-folder.config.d.ts +0 -2
  121. package/dist/components/control-folder.config.js +0 -2
  122. package/dist/components/control-folder.d.ts +0 -2
  123. package/dist/components/control-folder.js +0 -2
  124. package/dist/components/control-group.config.d.ts +0 -2
  125. package/dist/components/control-group.config.js +0 -2
  126. package/dist/components/control-group.d.ts +0 -2
  127. package/dist/components/control-group.js +0 -2
  128. package/dist/components/control-knob.config.d.ts +0 -2
  129. package/dist/components/control-knob.config.js +0 -2
  130. package/dist/components/control-knob.d.ts +0 -2
  131. package/dist/components/control-knob.js +0 -2
  132. package/dist/components/control-panel.config.d.ts +0 -2
  133. package/dist/components/control-panel.config.js +0 -2
  134. package/dist/components/control-panel.d.ts +0 -2
  135. package/dist/components/control-panel.js +0 -2
  136. package/dist/components/control-select.config.d.ts +0 -2
  137. package/dist/components/control-select.config.js +0 -2
  138. package/dist/components/control-select.d.ts +0 -2
  139. package/dist/components/control-select.js +0 -2
  140. package/dist/components/control-slider.config.d.ts +0 -2
  141. package/dist/components/control-slider.config.js +0 -2
  142. package/dist/components/control-slider.d.ts +0 -2
  143. package/dist/components/control-slider.js +0 -2
  144. package/dist/components/control-spring.config.d.ts +0 -2
  145. package/dist/components/control-spring.config.js +0 -2
  146. package/dist/components/control-spring.d.ts +0 -2
  147. package/dist/components/control-spring.js +0 -2
  148. package/dist/components/control-stepper.config.d.ts +0 -2
  149. package/dist/components/control-stepper.config.js +0 -2
  150. package/dist/components/control-stepper.d.ts +0 -2
  151. package/dist/components/control-stepper.js +0 -2
  152. package/dist/components/control-toggle.config.d.ts +0 -2
  153. package/dist/components/control-toggle.config.js +0 -2
  154. package/dist/components/control-toggle.d.ts +0 -2
  155. package/dist/components/control-toggle.js +0 -2
  156. package/dist/components/dist/_slots.js +0 -8
  157. package/dist/components/dist/accordion.config.d.ts +0 -431
  158. package/dist/components/dist/accordion.config.js +0 -81
  159. package/dist/components/dist/accordion.d.ts +0 -453
  160. package/dist/components/dist/accordion.js +0 -60
  161. package/dist/components/dist/alert.config.d.ts +0 -219
  162. package/dist/components/dist/alert.config.js +0 -54
  163. package/dist/components/dist/alert.d.ts +0 -230
  164. package/dist/components/dist/alert.js +0 -16
  165. package/dist/components/dist/anchor.config.d.ts +0 -250
  166. package/dist/components/dist/anchor.config.js +0 -22
  167. package/dist/components/dist/anchor.d.ts +0 -261
  168. package/dist/components/dist/anchor.js +0 -9
  169. package/dist/components/dist/article.d.ts +0 -11
  170. package/dist/components/dist/article.js +0 -9
  171. package/dist/components/dist/aside.d.ts +0 -11
  172. package/dist/components/dist/aside.js +0 -9
  173. package/dist/components/dist/avatar-group.config.d.ts +0 -315
  174. package/dist/components/dist/avatar-group.config.js +0 -33
  175. package/dist/components/dist/avatar-group.d.ts +0 -329
  176. package/dist/components/dist/avatar-group.js +0 -39
  177. package/dist/components/dist/avatar.config.d.ts +0 -197
  178. package/dist/components/dist/avatar.config.js +0 -49
  179. package/dist/components/dist/avatar.d.ts +0 -211
  180. package/dist/components/dist/avatar.js +0 -20
  181. package/dist/components/dist/badge.config.d.ts +0 -477
  182. package/dist/components/dist/badge.config.js +0 -99
  183. package/dist/components/dist/badge.d.ts +0 -489
  184. package/dist/components/dist/badge.js +0 -16
  185. package/dist/components/dist/box.d.ts +0 -14
  186. package/dist/components/dist/box.js +0 -9
  187. package/dist/components/dist/breadcrumb.config.d.ts +0 -390
  188. package/dist/components/dist/breadcrumb.config.js +0 -43
  189. package/dist/components/dist/breadcrumb.d.ts +0 -420
  190. package/dist/components/dist/breadcrumb.js +0 -119
  191. package/dist/components/dist/button.config.d.ts +0 -381
  192. package/dist/components/dist/button.config.js +0 -91
  193. package/dist/components/dist/button.d.ts +0 -403
  194. package/dist/components/dist/button.js +0 -35
  195. package/dist/components/dist/card.config.d.ts +0 -336
  196. package/dist/components/dist/card.config.js +0 -33
  197. package/dist/components/dist/card.d.ts +0 -352
  198. package/dist/components/dist/card.js +0 -27
  199. package/dist/components/dist/collapsible.config.d.ts +0 -45
  200. package/dist/components/dist/collapsible.config.js +0 -46
  201. package/dist/components/dist/collapsible.d.ts +0 -61
  202. package/dist/components/dist/collapsible.js +0 -38
  203. package/dist/components/dist/command.config.d.ts +0 -1613
  204. package/dist/components/dist/command.config.js +0 -170
  205. package/dist/components/dist/command.d.ts +0 -1722
  206. package/dist/components/dist/command.js +0 -341
  207. package/dist/components/dist/control-color.config.d.ts +0 -979
  208. package/dist/components/dist/control-color.config.js +0 -81
  209. package/dist/components/dist/control-color.d.ts +0 -995
  210. package/dist/components/dist/control-color.js +0 -64
  211. package/dist/components/dist/control-curve.config.d.ts +0 -18
  212. package/dist/components/dist/control-curve.config.js +0 -14
  213. package/dist/components/dist/control-curve.d.ts +0 -35
  214. package/dist/components/dist/control-curve.js +0 -81
  215. package/dist/components/dist/control-folder.config.d.ts +0 -177
  216. package/dist/components/dist/control-folder.config.js +0 -47
  217. package/dist/components/dist/control-folder.d.ts +0 -194
  218. package/dist/components/dist/control-folder.js +0 -41
  219. package/dist/components/dist/control-group.config.d.ts +0 -859
  220. package/dist/components/dist/control-group.config.js +0 -80
  221. package/dist/components/dist/control-group.d.ts +0 -881
  222. package/dist/components/dist/control-group.js +0 -89
  223. package/dist/components/dist/control-knob.config.d.ts +0 -792
  224. package/dist/components/dist/control-knob.config.js +0 -67
  225. package/dist/components/dist/control-knob.d.ts +0 -819
  226. package/dist/components/dist/control-knob.js +0 -148
  227. package/dist/components/dist/control-panel.config.d.ts +0 -402
  228. package/dist/components/dist/control-panel.config.js +0 -38
  229. package/dist/components/dist/control-panel.d.ts +0 -415
  230. package/dist/components/dist/control-panel.js +0 -22
  231. package/dist/components/dist/control-select.config.d.ts +0 -1176
  232. package/dist/components/dist/control-select.config.js +0 -102
  233. package/dist/components/dist/control-select.d.ts +0 -1200
  234. package/dist/components/dist/control-select.js +0 -63
  235. package/dist/components/dist/control-slider.config.d.ts +0 -104
  236. package/dist/components/dist/control-slider.config.js +0 -98
  237. package/dist/components/dist/control-slider.d.ts +0 -127
  238. package/dist/components/dist/control-slider.js +0 -87
  239. package/dist/components/dist/control-spring.config.d.ts +0 -417
  240. package/dist/components/dist/control-spring.config.js +0 -36
  241. package/dist/components/dist/control-spring.d.ts +0 -439
  242. package/dist/components/dist/control-spring.js +0 -136
  243. package/dist/components/dist/control-stepper.config.d.ts +0 -1084
  244. package/dist/components/dist/control-stepper.config.js +0 -108
  245. package/dist/components/dist/control-stepper.d.ts +0 -1104
  246. package/dist/components/dist/control-stepper.js +0 -109
  247. package/dist/components/dist/control-toggle.config.d.ts +0 -407
  248. package/dist/components/dist/control-toggle.config.js +0 -26
  249. package/dist/components/dist/control-toggle.d.ts +0 -420
  250. package/dist/components/dist/control-toggle.js +0 -36
  251. package/dist/components/dist/createSlot.d.ts +0 -8
  252. package/dist/components/dist/createSlot.js +0 -89
  253. package/dist/components/dist/dropdown.config.d.ts +0 -920
  254. package/dist/components/dist/dropdown.config.js +0 -107
  255. package/dist/components/dist/dropdown.d.ts +0 -950
  256. package/dist/components/dist/dropdown.js +0 -92
  257. package/dist/components/dist/empty-state.config.d.ts +0 -396
  258. package/dist/components/dist/empty-state.config.js +0 -53
  259. package/dist/components/dist/empty-state.d.ts +0 -416
  260. package/dist/components/dist/empty-state.js +0 -33
  261. package/dist/components/dist/footer.d.ts +0 -11
  262. package/dist/components/dist/footer.js +0 -9
  263. package/dist/components/dist/grid.d.ts +0 -41
  264. package/dist/components/dist/grid.js +0 -34
  265. package/dist/components/dist/header.d.ts +0 -11
  266. package/dist/components/dist/header.js +0 -9
  267. package/dist/components/dist/hstack.d.ts +0 -15
  268. package/dist/components/dist/hstack.js +0 -21
  269. package/dist/components/dist/image.d.ts +0 -19
  270. package/dist/components/dist/image.js +0 -9
  271. package/dist/components/dist/input.config.d.ts +0 -58
  272. package/dist/components/dist/input.config.js +0 -42
  273. package/dist/components/dist/input.d.ts +0 -67
  274. package/dist/components/dist/input.js +0 -14
  275. package/dist/components/dist/item.config.d.ts +0 -351
  276. package/dist/components/dist/item.config.js +0 -83
  277. package/dist/components/dist/item.d.ts +0 -374
  278. package/dist/components/dist/item.js +0 -51
  279. package/dist/components/dist/list.d.ts +0 -19
  280. package/dist/components/dist/list.js +0 -21
  281. package/dist/components/dist/main.d.ts +0 -11
  282. package/dist/components/dist/main.js +0 -9
  283. package/dist/components/dist/modal.config.d.ts +0 -397
  284. package/dist/components/dist/modal.config.js +0 -92
  285. package/dist/components/dist/modal.d.ts +0 -433
  286. package/dist/components/dist/modal.js +0 -125
  287. package/dist/components/dist/nav-header.config.d.ts +0 -158
  288. package/dist/components/dist/nav-header.config.js +0 -26
  289. package/dist/components/dist/nav-header.d.ts +0 -173
  290. package/dist/components/dist/nav-header.js +0 -23
  291. package/dist/components/dist/nav.d.ts +0 -11
  292. package/dist/components/dist/nav.js +0 -9
  293. package/dist/components/dist/preset-bar.config.d.ts +0 -192
  294. package/dist/components/dist/preset-bar.config.js +0 -39
  295. package/dist/components/dist/preset-bar.d.ts +0 -215
  296. package/dist/components/dist/preset-bar.js +0 -71
  297. package/dist/components/dist/presets/index.d.ts +0 -17674
  298. package/dist/components/dist/presets/index.js +0 -97
  299. package/dist/components/dist/pressable.d.ts +0 -11
  300. package/dist/components/dist/pressable.js +0 -9
  301. package/dist/components/dist/progress.config.d.ts +0 -296
  302. package/dist/components/dist/progress.config.js +0 -35
  303. package/dist/components/dist/progress.d.ts +0 -311
  304. package/dist/components/dist/progress.js +0 -43
  305. package/dist/components/dist/section.d.ts +0 -11
  306. package/dist/components/dist/section.js +0 -9
  307. package/dist/components/dist/select.config.d.ts +0 -31
  308. package/dist/components/dist/select.config.js +0 -25
  309. package/dist/components/dist/select.d.ts +0 -45
  310. package/dist/components/dist/select.js +0 -13
  311. package/dist/components/dist/sheet.config.d.ts +0 -245
  312. package/dist/components/dist/sheet.config.js +0 -99
  313. package/dist/components/dist/sheet.d.ts +0 -267
  314. package/dist/components/dist/sheet.js +0 -53
  315. package/dist/components/dist/sidebar.config.d.ts +0 -1651
  316. package/dist/components/dist/sidebar.config.js +0 -217
  317. package/dist/components/dist/sidebar.d.ts +0 -1825
  318. package/dist/components/dist/sidebar.js +0 -492
  319. package/dist/components/dist/skeleton.config.d.ts +0 -16
  320. package/dist/components/dist/skeleton.config.js +0 -10
  321. package/dist/components/dist/skeleton.d.ts +0 -27
  322. package/dist/components/dist/skeleton.js +0 -16
  323. package/dist/components/dist/slider.config.d.ts +0 -44
  324. package/dist/components/dist/slider.config.js +0 -40
  325. package/dist/components/dist/slider.d.ts +0 -70
  326. package/dist/components/dist/slider.js +0 -247
  327. package/dist/components/dist/spinner.config.d.ts +0 -34
  328. package/dist/components/dist/spinner.config.js +0 -24
  329. package/dist/components/dist/spinner.d.ts +0 -42
  330. package/dist/components/dist/spinner.js +0 -29
  331. package/dist/components/dist/svg.d.ts +0 -21
  332. package/dist/components/dist/svg.js +0 -17
  333. package/dist/components/dist/switch.config.d.ts +0 -353
  334. package/dist/components/dist/switch.config.js +0 -47
  335. package/dist/components/dist/switch.d.ts +0 -370
  336. package/dist/components/dist/switch.js +0 -32
  337. package/dist/components/dist/table.d.ts +0 -36
  338. package/dist/components/dist/table.js +0 -29
  339. package/dist/components/dist/tabs.config.d.ts +0 -611
  340. package/dist/components/dist/tabs.config.js +0 -56
  341. package/dist/components/dist/tabs.d.ts +0 -632
  342. package/dist/components/dist/tabs.js +0 -77
  343. package/dist/components/dist/text.config.d.ts +0 -306
  344. package/dist/components/dist/text.config.js +0 -149
  345. package/dist/components/dist/text.d.ts +0 -205
  346. package/dist/components/dist/text.js +0 -12
  347. package/dist/components/dist/textarea.config.d.ts +0 -352
  348. package/dist/components/dist/textarea.config.js +0 -57
  349. package/dist/components/dist/textarea.d.ts +0 -362
  350. package/dist/components/dist/textarea.js +0 -9
  351. package/dist/components/dist/toast.config.d.ts +0 -335
  352. package/dist/components/dist/toast.config.js +0 -145
  353. package/dist/components/dist/toast.d.ts +0 -426
  354. package/dist/components/dist/toast.js +0 -159
  355. package/dist/components/dist/tooltip.config.d.ts +0 -193
  356. package/dist/components/dist/tooltip.config.js +0 -40
  357. package/dist/components/dist/tooltip.d.ts +0 -206
  358. package/dist/components/dist/tooltip.js +0 -28
  359. package/dist/components/dist/vstack.d.ts +0 -15
  360. package/dist/components/dist/vstack.js +0 -20
  361. package/dist/components/dropdown.config.d.ts +0 -2
  362. package/dist/components/dropdown.config.js +0 -2
  363. package/dist/components/dropdown.d.ts +0 -2
  364. package/dist/components/dropdown.js +0 -2
  365. package/dist/components/empty-state.config.d.ts +0 -2
  366. package/dist/components/empty-state.config.js +0 -2
  367. package/dist/components/empty-state.d.ts +0 -2
  368. package/dist/components/empty-state.js +0 -2
  369. package/dist/components/footer.d.ts +0 -2
  370. package/dist/components/footer.js +0 -2
  371. package/dist/components/grid.d.ts +0 -2
  372. package/dist/components/grid.js +0 -2
  373. package/dist/components/header.d.ts +0 -2
  374. package/dist/components/header.js +0 -2
  375. package/dist/components/hstack.d.ts +0 -2
  376. package/dist/components/hstack.js +0 -2
  377. package/dist/components/image.d.ts +0 -2
  378. package/dist/components/image.js +0 -2
  379. package/dist/components/input.config.d.ts +0 -2
  380. package/dist/components/input.config.js +0 -2
  381. package/dist/components/input.d.ts +0 -2
  382. package/dist/components/input.js +0 -2
  383. package/dist/components/item.config.d.ts +0 -2
  384. package/dist/components/item.config.js +0 -2
  385. package/dist/components/item.d.ts +0 -2
  386. package/dist/components/item.js +0 -2
  387. package/dist/components/list.d.ts +0 -2
  388. package/dist/components/list.js +0 -2
  389. package/dist/components/main.d.ts +0 -2
  390. package/dist/components/main.js +0 -2
  391. package/dist/components/modal.config.d.ts +0 -2
  392. package/dist/components/modal.config.js +0 -2
  393. package/dist/components/modal.d.ts +0 -2
  394. package/dist/components/modal.js +0 -2
  395. package/dist/components/nav-header.config.d.ts +0 -2
  396. package/dist/components/nav-header.config.js +0 -2
  397. package/dist/components/nav-header.d.ts +0 -2
  398. package/dist/components/nav-header.js +0 -2
  399. package/dist/components/nav.d.ts +0 -2
  400. package/dist/components/nav.js +0 -2
  401. package/dist/components/preset-bar.config.d.ts +0 -2
  402. package/dist/components/preset-bar.config.js +0 -2
  403. package/dist/components/preset-bar.d.ts +0 -2
  404. package/dist/components/preset-bar.js +0 -2
  405. package/dist/components/presets/index.d.ts +0 -44
  406. package/dist/components/presets/index.js +0 -44
  407. package/dist/components/pressable.d.ts +0 -2
  408. package/dist/components/pressable.js +0 -2
  409. package/dist/components/progress.config.d.ts +0 -2
  410. package/dist/components/progress.config.js +0 -2
  411. package/dist/components/progress.d.ts +0 -2
  412. package/dist/components/progress.js +0 -2
  413. package/dist/components/section.d.ts +0 -2
  414. package/dist/components/section.js +0 -2
  415. package/dist/components/select.config.d.ts +0 -2
  416. package/dist/components/select.config.js +0 -2
  417. package/dist/components/select.d.ts +0 -2
  418. package/dist/components/select.js +0 -2
  419. package/dist/components/sheet.config.d.ts +0 -2
  420. package/dist/components/sheet.config.js +0 -2
  421. package/dist/components/sheet.d.ts +0 -2
  422. package/dist/components/sheet.js +0 -2
  423. package/dist/components/sidebar.config.d.ts +0 -2
  424. package/dist/components/sidebar.config.js +0 -2
  425. package/dist/components/sidebar.d.ts +0 -2
  426. package/dist/components/sidebar.js +0 -2
  427. package/dist/components/skeleton.config.d.ts +0 -2
  428. package/dist/components/skeleton.config.js +0 -2
  429. package/dist/components/skeleton.d.ts +0 -2
  430. package/dist/components/skeleton.js +0 -2
  431. package/dist/components/slider.config.d.ts +0 -2
  432. package/dist/components/slider.config.js +0 -2
  433. package/dist/components/slider.d.ts +0 -2
  434. package/dist/components/slider.js +0 -2
  435. package/dist/components/spinner.config.d.ts +0 -2
  436. package/dist/components/spinner.config.js +0 -2
  437. package/dist/components/spinner.d.ts +0 -2
  438. package/dist/components/spinner.js +0 -2
  439. package/dist/components/svg.d.ts +0 -2
  440. package/dist/components/svg.js +0 -2
  441. package/dist/components/switch.config.d.ts +0 -2
  442. package/dist/components/switch.config.js +0 -2
  443. package/dist/components/switch.d.ts +0 -2
  444. package/dist/components/switch.js +0 -2
  445. package/dist/components/table.d.ts +0 -2
  446. package/dist/components/table.js +0 -2
  447. package/dist/components/tabs.config.d.ts +0 -2
  448. package/dist/components/tabs.config.js +0 -2
  449. package/dist/components/tabs.d.ts +0 -2
  450. package/dist/components/tabs.js +0 -2
  451. package/dist/components/text.config.d.ts +0 -2
  452. package/dist/components/text.config.js +0 -2
  453. package/dist/components/text.d.ts +0 -2
  454. package/dist/components/text.js +0 -2
  455. package/dist/components/textarea.config.d.ts +0 -2
  456. package/dist/components/textarea.config.js +0 -2
  457. package/dist/components/textarea.d.ts +0 -2
  458. package/dist/components/textarea.js +0 -2
  459. package/dist/components/toast.config.d.ts +0 -2
  460. package/dist/components/toast.config.js +0 -2
  461. package/dist/components/toast.d.ts +0 -2
  462. package/dist/components/toast.js +0 -2
  463. package/dist/components/tooltip.config.d.ts +0 -2
  464. package/dist/components/tooltip.config.js +0 -2
  465. package/dist/components/tooltip.d.ts +0 -2
  466. package/dist/components/tooltip.js +0 -2
  467. package/dist/components/vstack.d.ts +0 -2
  468. package/dist/components/vstack.js +0 -2
  469. package/dist/config/dist/component-resolution.js +0 -78
  470. package/dist/config/dist/consts/defaultColors.d.ts +0 -253
  471. package/dist/config/dist/consts/defaultColors.js +0 -252
  472. package/dist/config/dist/createComponent.d.ts +0 -1
  473. package/dist/config/dist/createComponent.js +0 -1
  474. package/dist/config/dist/preset-merge.js +0 -192
  475. package/dist/config/dist/propertyGroups.d.ts +0 -1
  476. package/dist/config/dist/propertyGroups.js +0 -414
  477. package/dist/config/dist/resolveTokenTypes.d.ts +0 -1
  478. package/dist/config/dist/resolveTokenTypes.js +0 -149
  479. package/dist/config-utils/dist/componentConfig.d.ts +0 -10
  480. package/dist/config-utils/dist/componentConfig.js +0 -11
  481. package/dist/config-utils.d.ts +0 -2
  482. package/dist/config-utils.js +0 -2
  483. package/dist/core/dist/color-opacity-map.js +0 -33
  484. package/dist/core/dist/compositeStyles.d.ts +0 -21
  485. package/dist/core/dist/compositeStyles.js +0 -51
  486. package/dist/core/dist/configurable-prop-helpers.d.ts +0 -31
  487. package/dist/core/dist/configurable-prop-helpers.js +0 -61
  488. package/dist/core/dist/createComponent.boundaries.js +0 -192
  489. package/dist/core/dist/createComponent.d.ts +0 -56
  490. package/dist/core/dist/createComponent.js +0 -67
  491. package/dist/core/dist/createComponentExample.d.ts +0 -41
  492. package/dist/core/dist/createComponentExample.js +0 -27
  493. package/dist/core/dist/createProvider.d.ts +0 -12
  494. package/dist/core/dist/createProvider.js +0 -24
  495. package/dist/core/dist/generated/stylePropsTwMap.d.ts +0 -1700
  496. package/dist/core/dist/generated/stylePropsTwMap.js +0 -570
  497. package/dist/core/dist/getComponentStyles.d.ts +0 -49
  498. package/dist/core/dist/getComponentStyles.js +0 -85
  499. package/dist/core/dist/getStyles.d.ts +0 -42
  500. package/dist/core/dist/getStyles.js +0 -300
  501. package/dist/core/dist/index.d.ts +0 -13
  502. package/dist/core/dist/index.js +0 -13
  503. package/dist/core/dist/modifier-mappings.d.ts +0 -12
  504. package/dist/core/dist/modifier-mappings.js +0 -61
  505. package/dist/core/dist/resolveMotionState.d.ts +0 -4
  506. package/dist/core/dist/resolveMotionState.js +0 -17
  507. package/dist/core/dist/resolveProps.boundaries.js +0 -131
  508. package/dist/core/dist/style-prop-data.d.ts +0 -32
  509. package/dist/core/dist/style-prop-data.js +0 -1257
  510. package/dist/core/dist/transformPreset.d.ts +0 -17
  511. package/dist/core/dist/transformPreset.js +0 -28
  512. package/dist/core/dist/withDefaultStyleProps.d.ts +0 -43
  513. package/dist/core/dist/withDefaultStyleProps.js +0 -18
  514. package/dist/core.d.ts +0 -14
  515. package/dist/core.js +0 -15
  516. package/dist/createSlot.d.ts +0 -2
  517. package/dist/createSlot.js +0 -2
  518. package/dist/fixtures.d.ts +0 -4
  519. package/dist/fixtures.js +0 -5
  520. package/dist/foundational-presets/dist/_virtual/_rolldown/runtime.js +0 -13
  521. package/dist/foundational-presets/dist/defaultPreset.d.ts +0 -1557
  522. package/dist/foundational-presets/dist/defaultPreset.js +0 -615
  523. package/dist/foundational-presets/dist/index.d.ts +0 -1
  524. package/dist/foundational-presets/dist/index.js +0 -1
  525. package/dist/foundational-presets/dist/motion.d.ts +0 -12
  526. package/dist/foundational-presets/dist/motion.js +0 -10
  527. package/dist/foundational-presets/dist/style-props.js +0 -1445
  528. package/dist/loader/dist/loader/create-component-data.js +0 -33
  529. package/dist/loader/dist/loader/create-component-lowering.js +0 -454
  530. package/dist/loader/dist/loader/data-attr-transform.js +0 -191
  531. package/dist/loader/dist/loader/dynamic-style-codegen.js +0 -97
  532. package/dist/loader/dist/loader/motion-transform.js +0 -717
  533. package/dist/loader/dist/loader/style-transform.js +0 -670
  534. package/dist/loader/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -203
  535. package/dist/loader/dist/node_modules/react/cjs/react-jsx-runtime.production.js +0 -25
  536. package/dist/loader/dist/node_modules/react/cjs/react.development.js +0 -762
  537. package/dist/loader/dist/node_modules/react/cjs/react.production.js +0 -351
  538. package/dist/loader/dist/node_modules/react/index.js +0 -10
  539. package/dist/loader/dist/node_modules/react/jsx-runtime.js +0 -10
  540. package/dist/loader/dist/packages/core/dist/color-opacity-map.js +0 -33
  541. package/dist/loader/dist/packages/core/dist/compositeStyles.js +0 -43
  542. package/dist/loader/dist/packages/core/dist/createComponent.js +0 -6
  543. package/dist/loader/dist/packages/core/dist/createProvider.js +0 -7
  544. package/dist/loader/dist/packages/core/dist/generated/stylePropsTwMap.js +0 -570
  545. package/dist/loader/dist/packages/core/dist/getComponentStyles.js +0 -2
  546. package/dist/loader/dist/packages/core/dist/getStyles.js +0 -60
  547. package/dist/loader/dist/packages/core/dist/index.js +0 -6
  548. package/dist/loader/dist/packages/core/dist/modifier-mappings.js +0 -61
  549. package/dist/loader/dist/packages/core/dist/style-prop-data.js +0 -1257
  550. package/dist/loader/dist/packages/core/dist/withDefaultStyleProps.js +0 -1
  551. package/dist/presets/dist/defaultPreset.d.ts +0 -6
  552. package/dist/presets/dist/defaultPreset.js +0 -51
  553. package/dist/presets/dist/index.d.ts +0 -1
  554. package/dist/presets/dist/index.js +0 -1
  555. package/dist/presets/motion.d.ts +0 -2
  556. package/dist/presets/motion.js +0 -2
  557. package/dist/presets.d.ts +0 -2
  558. package/dist/presets.js +0 -3
  559. package/dist/styles.d.ts +0 -4
  560. package/dist/styles.js +0 -5
  561. package/dist/transformPreset.d.ts +0 -2
  562. package/dist/transformPreset.js +0 -3
  563. /package/dist/{config/dist/component-resolution.d.ts → loader/dist/transform-runner.d.ts} +0 -0
package/dist/config.js CHANGED
@@ -1,22 +1,17 @@
1
- import { defaultColors } from "./config/dist/consts/defaultColors.js";
2
- import { buildTokenReference, createConfigBuilder, darker, lighter, resolveConfig } from "./config/dist/createConfig.js";
1
+ import { buildStylePropClassName } from "./config/dist/className.js";
2
+ import { bool, composite, enums, hidden, slot, string, styleProp, token, tokenGroup } from "./config/dist/component-config.js";
3
+ import { PROPERTY_ACCEPTED_TYPES, isTokenAcceptedByProperty } from "./config/dist/propertyAcceptedTypes.js";
4
+ import { darken, isTokenWithModifier, lighten, resolveTokenValue, resolveTokenWithModifier } from "./config/dist/refs.js";
5
+ import { sniffTokenTypeFromValue } from "./config/dist/sniffTokenType.js";
6
+ import { detectTokenValueType, getColorOpacityMap, resolveStyleProp } from "./config/dist/resolveStyleProp.js";
7
+ import { buildCompositeStylesReference, buildTokenReference, convertModesInputToGroups, createConfigBuilder, darker, interpolate, lighter, rem, resolveConfig, uds } from "./config/dist/createConfig.js";
8
+ import { createStyler } from "./config/dist/createStyler.js";
9
+ import { defineComponent } from "./config/dist/defineComponent.js";
10
+ import { defineCompositeStyle } from "./config/dist/defineCompositeStyle.js";
11
+ import { definePreview } from "./config/dist/definePreview.js";
12
+ import { defineStyleProp } from "./config/dist/defineStyleProp.js";
13
+ import { applyCompoundProps, isLayerHidden, resolveCompoundProps } from "./config/dist/resolveCompoundProps.js";
3
14
  import { buildReverseMap, deserializeConfig, serializeConfig } from "./config/dist/serialize.js";
15
+ import { BUILT_IN_PSEUDO, buildStylePropRuntime, processStyleProps } from "./config/dist/style-prop-runtime.js";
4
16
  import "./config/dist/index.js";
5
- import { defaultPreset as defaultPreset$1 } from "./presets/dist/defaultPreset.js";
6
- import "./presets/dist/index.js";
7
- //#region src/config.ts
8
- /** biome-ignore-all lint/suspicious/noExplicitAny: necessary for dynamic builder */
9
- const uds = createConfigBuilder({
10
- atomic: [],
11
- modes: [],
12
- modifiers: [],
13
- compositeStyles: {},
14
- motion: {},
15
- components: {},
16
- globalStyles: {},
17
- preflight: true,
18
- prefix: "uds"
19
- });
20
- const defaultPreset = defaultPreset$1;
21
- //#endregion
22
- export { buildReverseMap, buildTokenReference, createConfigBuilder, darker, defaultColors, defaultPreset, deserializeConfig, lighter, resolveConfig, serializeConfig, uds };
17
+ export { BUILT_IN_PSEUDO, PROPERTY_ACCEPTED_TYPES, applyCompoundProps, bool, buildCompositeStylesReference, buildReverseMap, buildStylePropClassName, buildStylePropRuntime, buildTokenReference, composite, convertModesInputToGroups, createConfigBuilder, createStyler, darken, darker, defineComponent, defineCompositeStyle, definePreview, defineStyleProp, deserializeConfig, detectTokenValueType, enums, getColorOpacityMap, hidden, interpolate, isLayerHidden, isTokenAcceptedByProperty, isTokenWithModifier, lighten, lighter, processStyleProps, rem, resolveCompoundProps, resolveConfig, resolveStyleProp, resolveTokenValue, resolveTokenWithModifier, serializeConfig, slot, sniffTokenTypeFromValue, string, styleProp, token, tokenGroup, uds };
@@ -1,6 +1,5 @@
1
1
  import { createRequire } from "node:module";
2
2
  //#region ../loader/dist/_virtual/_rolldown/runtime.js
3
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
4
3
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
5
4
  //#endregion
6
- export { __commonJSMin, __require };
5
+ export { __require };
@@ -0,0 +1,2 @@
1
+ import { transformLoader } from "./loader.js";
2
+ import { UdsPluginOptions, udsPlugin } from "./unplugin.js";
@@ -0,0 +1,3 @@
1
+ import "./loader.js";
2
+ import "./transform-runner.js";
3
+ import "./unplugin.js";
@@ -37,7 +37,7 @@ const manifestLoader = createCachedJsonLoaderWithSeed();
37
37
  const transformDataLoader = createCachedJsonLoaderWithSeed();
38
38
  const loadManifest = manifestLoader.load;
39
39
  manifestLoader.seed;
40
- const loadTransformData = transformDataLoader.load;
40
+ transformDataLoader.load;
41
41
  transformDataLoader.seed;
42
42
  //#endregion
43
- export { loadManifest, loadTransformData };
43
+ export { loadManifest };
@@ -1,29 +1 @@
1
- import * as t from "@babel/types";
2
- //#region ../loader/dist/loader/babel-utils.js
3
- /** JSX function names used by compiled JSX (React, etc.) */
4
- const COMPILED_JSX_NAMES = new Set([
5
- "jsx",
6
- "jsxs",
7
- "jsxDEV",
8
- "_jsx",
9
- "_jsxs",
10
- "_jsxDEV"
11
- ]);
12
- /**
13
- * Check whether a callee expression is a compiled JSX call.
14
- *
15
- * Matches:
16
- * - Direct identifiers: `jsx(...)`, `_jsxs(...)`, `jsxDEV(...)`, etc.
17
- * - Member expressions: `React.jsx(...)`, `_reactJsxRuntime.jsxs(...)`, etc.
18
- */
19
- function isCompiledJsxCallee(node) {
20
- if (!node) return false;
21
- if (t.isIdentifier(node)) return COMPILED_JSX_NAMES.has(node.name);
22
- if (t.isMemberExpression(node) || t.isOptionalMemberExpression(node)) {
23
- if (!node.computed && t.isIdentifier(node.property)) return COMPILED_JSX_NAMES.has(node.property.name);
24
- if (node.computed && t.isStringLiteral(node.property)) return COMPILED_JSX_NAMES.has(node.property.value);
25
- }
26
- return false;
27
- }
28
- //#endregion
29
- export { isCompiledJsxCallee };
1
+ import "@babel/types";
@@ -1,4 +1,5 @@
1
1
  import path from "node:path";
2
+ import * as t from "@babel/types";
2
3
  //#region ../loader/dist/loader/internal-meta.js
3
4
  function hashToNumericId(value) {
4
5
  let hash = 2166136261;
@@ -18,5 +19,41 @@ function buildUdsId(meta) {
18
19
  function buildSourceRef(resourcePath, projectRoot, location) {
19
20
  return `${path.relative(projectRoot, resourcePath).replaceAll(path.sep, "/")}:${location.line}:${location.column + 1}`;
20
21
  }
22
+ function getJsxStringAttributeValue(nodePath, attrName) {
23
+ const attribute = nodePath.node.attributes.find((attr) => attr.type === "JSXAttribute" && attr.name?.type === "JSXIdentifier" && attr.name.name === attrName && attr.value?.type === "StringLiteral");
24
+ if (!attribute || attribute.value?.type !== "StringLiteral") return null;
25
+ return attribute.value.value;
26
+ }
27
+ function upsertInternalStringProp(nodePath, propName, value) {
28
+ const existing = nodePath.node.attributes.find((attr) => attr.type === "JSXAttribute" && attr.name?.type === "JSXIdentifier" && attr.name.name === propName);
29
+ if (existing) {
30
+ existing.value = t.stringLiteral(value);
31
+ return;
32
+ }
33
+ nodePath.node.attributes.push(t.jsxAttribute(t.jsxIdentifier(propName), t.stringLiteral(value)));
34
+ }
35
+ /**
36
+ * Inject `data-uds-id` + `data-uds-source` metadata onto a JSX
37
+ * opening element so the devtools panel / anatomy view can locate
38
+ * each element back to its source position.
39
+ */
40
+ function injectInternalUdsProps(nodePath, resourcePath, projectRoot, fallback = {}) {
41
+ const effectiveResourcePath = resourcePath || nodePath?.hub?.file?.opts?.filename || "";
42
+ if (!effectiveResourcePath) return;
43
+ const start = nodePath.node.loc?.start;
44
+ if (!start?.line || start.column === void 0) return;
45
+ const sourceRef = buildSourceRef(effectiveResourcePath, projectRoot, {
46
+ line: start.line,
47
+ column: start.column
48
+ });
49
+ const udsId = buildUdsId({
50
+ componentName: getJsxStringAttributeValue(nodePath, "data-uds-component") ?? fallback.componentName,
51
+ slotName: getJsxStringAttributeValue(nodePath, "data-uds-slot") ?? fallback.slotName,
52
+ sourceRef
53
+ });
54
+ if (!udsId) return;
55
+ upsertInternalStringProp(nodePath, "data-uds-id", udsId);
56
+ upsertInternalStringProp(nodePath, "data-uds-source", sourceRef);
57
+ }
21
58
  //#endregion
22
- export { buildSourceRef, buildUdsId };
59
+ export { injectInternalUdsProps };
@@ -1,29 +1,127 @@
1
1
  //#region ../loader/dist/loader/lower-new-api-primitive.js
2
2
  /**
3
+ * Convert a token name to its class-name-safe form. Mirrors
4
+ * `safeTokenName` from `@uds/utils`: `.` → `_`, `/` → `-`. Inlined
5
+ * here so the loader stays free of cross-package runtime imports for
6
+ * a one-line transform.
7
+ *
8
+ * toSafeTokenName('1.5') // → '1_5'
9
+ * toSafeTokenName('always/black') // → 'always-black'
10
+ * toSafeTokenName('brand') // → 'brand'
11
+ */
12
+ function toSafeTokenName(value) {
13
+ return value.replace(/\./g, "_").replace(/\//g, "-");
14
+ }
15
+ /**
3
16
  * Build the className a binding emits for a given value. Mirrors the
4
17
  * codegen convention in `packages/codegen/src/css/prepareCss.ts`:
5
18
  *
6
- * - `classPrefix === ''` / `'no-prefix'` → value IS the class.
19
+ * - `classPrefix === ''` → value IS the class.
7
20
  * - Bracketed arbitrary values (`'[#abc]'`) → preserved verbatim
8
21
  * (`bg-[#abc]`).
9
- * - Otherwise`${classPrefix}-${value}`.
22
+ * - Boolean `true` (passed in as the string `'true'`) bare
23
+ * `classPrefix` (`<Box border>` / `<Box border={true}>` →
24
+ * `'border'`, not `'border-true'`).
25
+ * - Blessed token / literal / alias (in `binding.blessedValues`) →
26
+ * `${classPrefix}-${value}`.
27
+ * - Otherwise, if the prop accepts arbitrary values
28
+ * (`binding.acceptsArbitrary`) → `${classPrefix}-[value]`
29
+ * (auto-bracket so the consumer can write `fontSize="0.8125rem"`
30
+ * instead of `fontSize="[0.8125rem]"`).
31
+ * - Otherwise (when blessed/arbitrary metadata is absent — test
32
+ * fixtures) fall back to `${classPrefix}-${value}`.
33
+ *
34
+ * Returns `undefined` when no class should be emitted — caller drops
35
+ * the contribution. Boolean `false` lands here.
36
+ */
37
+ function buildClassName(binding, value) {
38
+ if (value === "false") return void 0;
39
+ if (value === "true") return binding.classPrefix || void 0;
40
+ const isNoPrefix = binding.classPrefix === "";
41
+ if (value.startsWith("[") && value.endsWith("]")) {
42
+ if (isNoPrefix) return value.slice(1, -1);
43
+ return `${binding.classPrefix}-${value}`;
44
+ }
45
+ if (isNoPrefix) return value;
46
+ if (!(binding.blessedValues !== void 0 || binding.acceptsArbitrary !== void 0)) return `${binding.classPrefix}-${toSafeTokenName(value)}`;
47
+ if (binding.blessedValues?.includes(value)) return `${binding.classPrefix}-${toSafeTokenName(value)}`;
48
+ if (binding.acceptsArbitrary) return `${binding.classPrefix}-[${value}]`;
49
+ }
50
+ /**
51
+ * Read a JS expression node as a literal string when statically
52
+ * resolvable. Mirrors `readStaticString` but operates on a bare
53
+ * expression (used by the branch-compiler below to drill into
54
+ * ternary / `&&` branches that aren't wrapped in JSX containers).
55
+ *
56
+ * Returns `undefined` for any non-literal form.
57
+ */
58
+ function readStaticStringFromExpression(expr) {
59
+ if (!expr) return void 0;
60
+ if (expr.type === "StringLiteral") return expr.value;
61
+ if (expr.type === "NumericLiteral") return String(expr.value);
62
+ if (expr.type === "BooleanLiteral") return String(expr.value);
63
+ if (expr.type === "TemplateLiteral" && expr.expressions.length === 0 && expr.quasis.length === 1) return expr.quasis[0].value.cooked ?? expr.quasis[0].value.raw;
64
+ if (expr.type === "Identifier" && expr.name === "undefined") return "";
65
+ if (expr.type === "NullLiteral") return "";
66
+ }
67
+ /**
68
+ * Try to compile a dynamic JSX expression into a className expression
69
+ * with pre-resolved per-branch class names. Mirrors the legacy
70
+ * `tryCompileStaticBranchExpression` in `style-transform.ts` so the
71
+ * new-API lowering matches existing behavior for the common ternary /
72
+ * `&&` patterns:
73
+ *
74
+ * bg={isActive ? 'primary' : undefined}
75
+ * → isActive ? 'bg-primary' : ''
76
+ *
77
+ * color={isActive && 'on-primary'}
78
+ * → isActive && 'color-on-primary'
79
+ *
80
+ * Returns `null` when the expression isn't a statically-resolvable
81
+ * branch shape — caller bails on lowering for that prop. (Variables,
82
+ * function calls, member access of dynamic values: those need runtime
83
+ * resolution.)
10
84
  */
11
- function buildClassName(classPrefix, noPrefix, value) {
12
- if (noPrefix) return value;
13
- return `${classPrefix}-${value}`;
85
+ function tryCompileBranchClassExpression(expr, binding, t) {
86
+ if (expr.type === "ConditionalExpression") {
87
+ const consequentValue = readStaticStringFromExpression(expr.consequent);
88
+ const alternateValue = readStaticStringFromExpression(expr.alternate);
89
+ const compileLeafValue = (value) => value === "" ? "" : buildClassName(binding, value) ?? "";
90
+ const compiledConsequent = consequentValue !== void 0 ? t.stringLiteral(compileLeafValue(consequentValue)) : tryCompileBranchClassExpression(expr.consequent, binding, t);
91
+ const compiledAlternate = alternateValue !== void 0 ? t.stringLiteral(compileLeafValue(alternateValue)) : tryCompileBranchClassExpression(expr.alternate, binding, t);
92
+ if (compiledConsequent && compiledAlternate) return t.conditionalExpression(t.cloneNode(expr.test), compiledConsequent, compiledAlternate);
93
+ return null;
94
+ }
95
+ if (expr.type === "LogicalExpression" && expr.operator === "&&") {
96
+ const rightValue = readStaticStringFromExpression(expr.right);
97
+ if (rightValue !== void 0) {
98
+ const className = buildClassName(binding, rightValue) ?? "";
99
+ return t.logicalExpression("&&", t.cloneNode(expr.left), t.stringLiteral(className));
100
+ }
101
+ return null;
102
+ }
103
+ return null;
14
104
  }
15
105
  /**
16
106
  * Read a JSX attribute value as a literal string when statically
17
- * resolvable. Handles `attr="x"`, `attr={"x"}`, and template-literal
18
- * expressions with no interpolations. Returns `undefined` for any
19
- * dynamic form so the caller can bail.
107
+ * resolvable. Handles:
108
+ *
109
+ * - `attr="x"` → `"x"`
110
+ * - `attr={"x"}` / `attr={\`x\`}` (no interpolations) → `"x"`
111
+ * - `attr={2}` (numeric literal) → `"2"`
112
+ * - `attr={true}` / `attr={false}` (boolean literal) → `"true"` / `"false"`
113
+ * - `attr` with no value (boolean prop shorthand) → `"true"`
114
+ *
115
+ * Returns `undefined` for any dynamic form so the caller can bail.
20
116
  */
21
117
  function readStaticString(value) {
22
- if (!value) return void 0;
118
+ if (!value) return "true";
23
119
  if (value.type === "StringLiteral") return value.value;
24
120
  if (value.type === "JSXExpressionContainer") {
25
121
  const expr = value.expression;
26
122
  if (expr.type === "StringLiteral") return expr.value;
123
+ if (expr.type === "NumericLiteral") return String(expr.value);
124
+ if (expr.type === "BooleanLiteral") return String(expr.value);
27
125
  if (expr.type === "TemplateLiteral" && expr.expressions.length === 0 && expr.quasis.length === 1) return expr.quasis[0].value.cooked ?? expr.quasis[0].value.raw;
28
126
  }
29
127
  }
@@ -42,6 +140,7 @@ function readStaticString(value) {
42
140
  function lowerNewApiPrimitiveJsx(openingElement, closingElement, entry, t) {
43
141
  let tag = entry.tag;
44
142
  const classNames = [...entry.defaultClassNames];
143
+ const dynamicClassExprs = [];
45
144
  const passthroughAttrs = [];
46
145
  let existingClassName = null;
47
146
  for (const attr of openingElement.attributes ?? []) {
@@ -60,16 +159,68 @@ function lowerNewApiPrimitiveJsx(openingElement, closingElement, entry, t) {
60
159
  }
61
160
  const binding = entry.propBindings[attrName];
62
161
  if (binding) {
63
- const value = readStaticString(attr.value);
64
- if (value === void 0) return false;
65
- classNames.push(buildClassName(binding.classPrefix, binding.noPrefix, value));
162
+ const staticValue = readStaticString(attr.value);
163
+ if (staticValue !== void 0) {
164
+ const className = buildClassName(binding, staticValue);
165
+ if (className !== void 0) classNames.push(className);
166
+ continue;
167
+ }
168
+ if (attr.value?.type === "JSXExpressionContainer") {
169
+ const compiled = tryCompileBranchClassExpression(attr.value.expression, binding, t);
170
+ if (compiled) {
171
+ dynamicClassExprs.push(compiled);
172
+ continue;
173
+ }
174
+ }
175
+ return false;
176
+ }
177
+ if (attrName.startsWith("_")) {
178
+ const variantPrefix = entry.modifiersTwMap?.[attrName];
179
+ if (!variantPrefix) continue;
180
+ const objectExpr = attr.value?.type === "JSXExpressionContainer" ? attr.value.expression : void 0;
181
+ if (!objectExpr || objectExpr.type !== "ObjectExpression") return false;
182
+ let bailed = false;
183
+ for (const property of objectExpr.properties) {
184
+ if (property.type !== "ObjectProperty" || property.computed) {
185
+ bailed = true;
186
+ break;
187
+ }
188
+ const key = property.key?.type === "Identifier" ? property.key.name : property.key?.type === "StringLiteral" ? property.key.value : void 0;
189
+ if (!key) {
190
+ bailed = true;
191
+ break;
192
+ }
193
+ const value = readStaticString(property.value);
194
+ if (value === void 0) {
195
+ bailed = true;
196
+ break;
197
+ }
198
+ const innerBinding = entry.propBindings[key];
199
+ if (!innerBinding) {
200
+ bailed = true;
201
+ break;
202
+ }
203
+ const innerClass = buildClassName(innerBinding, value);
204
+ if (innerClass !== void 0) classNames.push(`${variantPrefix}${innerClass}`);
205
+ }
206
+ if (bailed) return false;
66
207
  continue;
67
208
  }
68
209
  passthroughAttrs.push(attr);
69
210
  }
70
211
  const boundClassName = classNames.join(" ");
71
212
  let classNameAttr = null;
72
- if (existingClassName === null && boundClassName.length > 0) classNameAttr = t.jsxAttribute(t.jsxIdentifier("className"), t.stringLiteral(boundClassName));
213
+ if (dynamicClassExprs.length > 0) {
214
+ const parts = [];
215
+ if (boundClassName.length > 0) parts.push(t.stringLiteral(boundClassName));
216
+ for (const expr of dynamicClassExprs) parts.push(expr);
217
+ if (existingClassName !== null) {
218
+ if (existingClassName.type === "StringLiteral") parts.push(t.stringLiteral(existingClassName.value));
219
+ else if (existingClassName.type === "JSXExpressionContainer") parts.push(t.cloneNode(existingClassName.expression));
220
+ }
221
+ const joinExpr = t.callExpression(t.memberExpression(t.callExpression(t.memberExpression(t.arrayExpression(parts), t.identifier("filter")), [t.identifier("Boolean")]), t.identifier("join")), [t.stringLiteral(" ")]);
222
+ classNameAttr = t.jsxAttribute(t.jsxIdentifier("className"), t.jsxExpressionContainer(joinExpr));
223
+ } else if (existingClassName === null && boundClassName.length > 0) classNameAttr = t.jsxAttribute(t.jsxIdentifier("className"), t.stringLiteral(boundClassName));
73
224
  else if (existingClassName !== null) if (existingClassName.type === "StringLiteral") {
74
225
  const merged = boundClassName ? `${existingClassName.value} ${boundClassName}` : existingClassName.value;
75
226
  classNameAttr = t.jsxAttribute(t.jsxIdentifier("className"), t.stringLiteral(merged));
@@ -81,8 +232,19 @@ function lowerNewApiPrimitiveJsx(openingElement, closingElement, entry, t) {
81
232
  const finalExpr = boundClassName ? t.binaryExpression("+", t.binaryExpression("+", expr, t.stringLiteral(" ")), t.stringLiteral(boundClassName)) : expr;
82
233
  classNameAttr = t.jsxAttribute(t.jsxIdentifier("className"), t.jsxExpressionContainer(finalExpr));
83
234
  } else return false;
235
+ const anatomyAttrs = [];
236
+ if (entry.componentName) {
237
+ const alreadyHasSlot = passthroughAttrs.some((a) => a.type === "JSXAttribute" && a.name?.name === "data-uds-slot");
238
+ const alreadyHasComponent = passthroughAttrs.some((a) => a.type === "JSXAttribute" && a.name?.name === "data-uds-component");
239
+ if (!alreadyHasSlot) anatomyAttrs.push(t.jsxAttribute(t.jsxIdentifier("data-uds-slot"), t.stringLiteral("root")));
240
+ if (!alreadyHasComponent) anatomyAttrs.push(t.jsxAttribute(t.jsxIdentifier("data-uds-component"), t.stringLiteral(entry.componentName)));
241
+ }
84
242
  openingElement.name = t.jsxIdentifier(tag);
85
- openingElement.attributes = classNameAttr ? [classNameAttr, ...passthroughAttrs] : passthroughAttrs;
243
+ openingElement.attributes = [
244
+ ...classNameAttr ? [classNameAttr] : [],
245
+ ...passthroughAttrs,
246
+ ...anatomyAttrs
247
+ ];
86
248
  if (closingElement) closingElement.name = t.jsxIdentifier(tag);
87
249
  return true;
88
250
  }
@@ -1,7 +1,35 @@
1
1
  import { LoaderDefinitionFunction } from "webpack";
2
2
 
3
3
  //#region ../loader/dist/loader.d.ts
4
+ //#region src/loader.d.ts
5
+ /**
6
+ * The UDS loader's only build-time job. Three responsibilities, one
7
+ * Babel pass:
8
+ *
9
+ * 1. **Import rewrite** — when the source imports a registered
10
+ * component from an aliased local path (e.g.
11
+ * `@/uds/components/box`), rewrite the import source to
12
+ * `'#uds/components'` so it resolves to the codegen-emitted
13
+ * `.uds/components.tsx` barrel. The authoring file
14
+ * (`apps/<app>/src/uds/components/<name>.tsx`) is only read by
15
+ * codegen — production renders the downleveled FC.
16
+ *
17
+ * 2. **Static primitive JSX lowering** — when a JSX site references a
18
+ * registered primitive (`type: 'primitive'` + non-empty
19
+ * `propBindings` in the manifest), try `lowerNewApiPrimitiveJsx`
20
+ * to bake a literal `className="bg-primary"` into the output.
21
+ * Skips the codegen FC's runtime className concatenation entirely
22
+ * in the all-static case. Falls through to the runtime FC when
23
+ * lowering bails.
24
+ *
25
+ * 3. **Dev-mode metadata** — inject `data-uds-id` + `data-uds-source`
26
+ * attrs onto every UDS JSX site so devtools can map elements
27
+ * back to source positions. Off in production.
28
+ *
29
+ * Anything else (motion wiring, composite expansion, slot resolution,
30
+ * styler tracking) is owned by codegen and intentionally absent here.
31
+ */
4
32
  declare const transformLoader: LoaderDefinitionFunction;
5
- declare const normal: LoaderDefinitionFunction<{}, {}>;
33
+ declare const normal: LoaderDefinitionFunction<{}, {}>; //#endregion
6
34
  //#endregion
7
35
  export { normal, transformLoader };