@teamix-evo/ui 0.4.0 → 0.5.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 (511) hide show
  1. package/README.md +46 -50
  2. package/manifest.json +406 -653
  3. package/package.json +15 -34
  4. package/src/_design-system/theme-tokens/stories.tsx +1474 -0
  5. package/src/components/accordion/index.tsx +139 -0
  6. package/src/components/accordion/meta.md +162 -0
  7. package/src/components/accordion/stories.tsx +145 -0
  8. package/src/components/affix/index.tsx +149 -0
  9. package/src/components/affix/meta.md +23 -0
  10. package/src/components/affix/stories.tsx +70 -0
  11. package/src/components/alert/index.tsx +220 -0
  12. package/src/components/alert/meta.md +133 -0
  13. package/src/components/alert/stories.tsx +126 -0
  14. package/src/components/alert-dialog/index.tsx +282 -0
  15. package/src/components/alert-dialog/meta.md +86 -0
  16. package/src/components/alert-dialog/stories.tsx +163 -0
  17. package/src/components/avatar/index.tsx +159 -0
  18. package/src/components/avatar/meta.md +242 -0
  19. package/src/components/avatar/stories.tsx +241 -0
  20. package/src/components/badge/index.tsx +299 -0
  21. package/src/components/badge/meta.md +237 -0
  22. package/src/components/badge/stories.tsx +275 -0
  23. package/src/components/breadcrumb/index.tsx +137 -0
  24. package/src/components/breadcrumb/meta.md +64 -0
  25. package/src/components/breadcrumb/stories.tsx +86 -0
  26. package/src/components/button/index.tsx +202 -0
  27. package/src/components/button/meta.md +209 -0
  28. package/src/components/button/stories.tsx +215 -0
  29. package/src/components/button-group/index.tsx +211 -0
  30. package/src/components/button-group/meta.md +190 -0
  31. package/src/components/button-group/stories.tsx +182 -0
  32. package/src/components/calendar/index.tsx +240 -0
  33. package/src/components/calendar/meta.md +36 -0
  34. package/src/components/calendar/stories.tsx +36 -0
  35. package/src/components/card/index.tsx +262 -0
  36. package/src/components/card/meta.md +194 -0
  37. package/src/components/card/stories.tsx +202 -0
  38. package/src/components/carousel/index.tsx +481 -0
  39. package/src/components/carousel/meta.md +208 -0
  40. package/src/components/carousel/stories.tsx +271 -0
  41. package/src/components/cascader-select/index.tsx +308 -0
  42. package/src/components/cascader-select/meta.md +28 -0
  43. package/src/components/cascader-select/stories.tsx +118 -0
  44. package/src/components/checkbox/index.tsx +208 -0
  45. package/src/components/checkbox/meta.md +166 -0
  46. package/src/components/checkbox/stories.tsx +206 -0
  47. package/src/components/collapsible/index.tsx +72 -0
  48. package/src/components/collapsible/meta.md +87 -0
  49. package/src/components/collapsible/stories.tsx +97 -0
  50. package/src/components/color-picker/index.tsx +677 -0
  51. package/src/components/color-picker/meta.md +83 -0
  52. package/src/components/color-picker/stories.tsx +172 -0
  53. package/src/components/combobox/index.tsx +687 -0
  54. package/src/components/combobox/meta.md +83 -0
  55. package/src/components/combobox/stories.tsx +179 -0
  56. package/src/components/command/index.tsx +238 -0
  57. package/src/components/command/meta.md +48 -0
  58. package/src/components/command/stories.tsx +83 -0
  59. package/src/components/data-table/index.tsx +1537 -0
  60. package/src/components/data-table/meta.md +107 -0
  61. package/src/components/data-table/stories.tsx +1234 -0
  62. package/src/components/date-picker/index.tsx +1492 -0
  63. package/src/components/date-picker/meta.md +103 -0
  64. package/src/components/date-picker/stories.tsx +125 -0
  65. package/src/components/descriptions/index.tsx +535 -0
  66. package/src/components/descriptions/meta.md +104 -0
  67. package/src/components/descriptions/stories.tsx +389 -0
  68. package/src/components/dialog/index.tsx +255 -0
  69. package/src/components/dialog/meta.md +244 -0
  70. package/src/components/dialog/stories.tsx +330 -0
  71. package/src/components/dropdown-menu/index.tsx +301 -0
  72. package/src/components/dropdown-menu/meta.md +93 -0
  73. package/src/components/dropdown-menu/stories.tsx +124 -0
  74. package/src/components/empty/index.tsx +431 -0
  75. package/src/components/empty/meta.md +274 -0
  76. package/src/components/empty/stories.tsx +278 -0
  77. package/src/components/field/index.tsx +374 -0
  78. package/src/components/field/meta.md +283 -0
  79. package/src/components/field/stories.tsx +327 -0
  80. package/src/components/filter-bar/index.tsx +976 -0
  81. package/src/components/filter-bar/meta.md +57 -0
  82. package/src/components/filter-bar/stories.tsx +496 -0
  83. package/src/components/float-button/index.tsx +163 -0
  84. package/src/components/float-button/meta.md +73 -0
  85. package/src/components/float-button/stories.tsx +68 -0
  86. package/src/components/form/index.tsx +218 -0
  87. package/src/components/form/meta.md +16 -0
  88. package/src/components/form/stories.tsx +301 -0
  89. package/src/components/hover-card/index.tsx +103 -0
  90. package/src/components/hover-card/meta.md +71 -0
  91. package/src/components/hover-card/stories.tsx +107 -0
  92. package/src/components/icon/index.tsx +225 -0
  93. package/src/components/icon/meta.md +102 -0
  94. package/src/components/icon/stories.tsx +127 -0
  95. package/src/components/image/index.tsx +147 -0
  96. package/src/components/image/meta.md +55 -0
  97. package/src/components/image/stories.tsx +48 -0
  98. package/src/components/input/index.tsx +63 -0
  99. package/src/components/input/meta.md +57 -0
  100. package/src/components/input/stories.tsx +66 -0
  101. package/src/components/input-group/index.tsx +292 -0
  102. package/src/components/input-group/meta.md +108 -0
  103. package/src/components/input-group/stories.tsx +258 -0
  104. package/src/components/input-ip/index.tsx +288 -0
  105. package/src/components/input-ip/meta.md +48 -0
  106. package/src/components/input-ip/stories.tsx +69 -0
  107. package/src/components/input-number/index.tsx +360 -0
  108. package/src/components/input-number/meta.md +156 -0
  109. package/src/components/input-number/stories.tsx +187 -0
  110. package/src/components/item/index.tsx +368 -0
  111. package/src/components/item/meta.md +395 -0
  112. package/src/components/item/stories.tsx +432 -0
  113. package/src/components/label/index.tsx +44 -0
  114. package/src/components/label/meta.md +68 -0
  115. package/src/components/label/stories.tsx +64 -0
  116. package/src/components/mentions/index.tsx +369 -0
  117. package/src/components/mentions/meta.md +118 -0
  118. package/src/components/mentions/stories.tsx +153 -0
  119. package/src/components/menubar/index.tsx +313 -0
  120. package/src/components/menubar/meta.md +52 -0
  121. package/src/components/menubar/stories.tsx +99 -0
  122. package/src/components/navigation-menu/index.tsx +216 -0
  123. package/src/components/navigation-menu/meta.md +66 -0
  124. package/src/components/navigation-menu/stories.tsx +137 -0
  125. package/src/components/page-header/index.tsx +218 -0
  126. package/src/components/page-header/meta.md +211 -0
  127. package/src/components/page-header/stories.tsx +290 -0
  128. package/src/components/page-shell/index.tsx +119 -0
  129. package/src/components/page-shell/meta.md +115 -0
  130. package/src/components/page-shell/stories.tsx +154 -0
  131. package/src/components/pagination/index.tsx +580 -0
  132. package/src/components/pagination/meta.md +39 -0
  133. package/src/components/pagination/stories.tsx +319 -0
  134. package/src/components/popconfirm/index.tsx +477 -0
  135. package/src/components/popconfirm/meta.md +164 -0
  136. package/src/components/popconfirm/stories.tsx +231 -0
  137. package/src/components/popover/index.tsx +181 -0
  138. package/src/components/popover/meta.md +97 -0
  139. package/src/components/popover/stories.tsx +169 -0
  140. package/src/components/progress/index.tsx +176 -0
  141. package/src/components/progress/meta.md +95 -0
  142. package/src/components/progress/stories.tsx +115 -0
  143. package/src/components/radio-group/index.tsx +78 -0
  144. package/src/components/radio-group/meta.md +137 -0
  145. package/src/components/radio-group/stories.tsx +285 -0
  146. package/src/components/rate/index.tsx +284 -0
  147. package/src/components/rate/meta.md +63 -0
  148. package/src/components/rate/stories.tsx +107 -0
  149. package/src/components/resizable/index.tsx +122 -0
  150. package/src/components/resizable/meta.md +142 -0
  151. package/src/components/resizable/stories.tsx +105 -0
  152. package/src/components/scroll-area/index.tsx +83 -0
  153. package/src/components/scroll-area/meta.md +85 -0
  154. package/src/components/scroll-area/stories.tsx +82 -0
  155. package/src/components/select/index.tsx +325 -0
  156. package/src/components/select/meta.md +183 -0
  157. package/src/components/select/stories.tsx +210 -0
  158. package/src/components/separator/index.tsx +51 -0
  159. package/src/components/separator/meta.md +68 -0
  160. package/src/components/separator/stories.tsx +53 -0
  161. package/src/components/sheet/index.tsx +293 -0
  162. package/src/components/sheet/meta.md +226 -0
  163. package/src/components/sheet/stories.tsx +405 -0
  164. package/src/components/sidebar/index.tsx +715 -0
  165. package/src/components/sidebar/meta.md +14 -0
  166. package/src/components/sidebar/{sidebar.stories.tsx → stories.tsx} +250 -330
  167. package/src/components/skeleton/index.tsx +415 -0
  168. package/src/components/skeleton/meta.md +210 -0
  169. package/src/components/skeleton/stories.tsx +197 -0
  170. package/src/components/slider/index.tsx +222 -0
  171. package/src/components/slider/meta.md +125 -0
  172. package/src/components/slider/stories.tsx +109 -0
  173. package/src/components/sonner/index.tsx +149 -0
  174. package/src/components/sonner/meta.md +156 -0
  175. package/src/components/sonner/stories.tsx +285 -0
  176. package/src/components/spinner/index.tsx +335 -0
  177. package/src/components/spinner/meta.md +172 -0
  178. package/src/components/spinner/stories.tsx +197 -0
  179. package/src/components/statistic/{statistic.tsx → index.tsx} +25 -26
  180. package/src/components/statistic/meta.md +94 -0
  181. package/src/components/statistic/stories.tsx +85 -0
  182. package/src/components/steps/index.tsx +500 -0
  183. package/src/components/steps/meta.md +245 -0
  184. package/src/components/steps/stories.tsx +287 -0
  185. package/src/components/switch/index.tsx +175 -0
  186. package/src/components/switch/meta.md +107 -0
  187. package/src/components/switch/stories.tsx +154 -0
  188. package/src/components/table/index.tsx +350 -0
  189. package/src/components/table/meta.md +148 -0
  190. package/src/components/table/stories.tsx +189 -0
  191. package/src/components/tabs/index.tsx +379 -0
  192. package/src/components/tabs/meta.md +244 -0
  193. package/src/components/tabs/stories.tsx +312 -0
  194. package/src/components/tag/index.tsx +774 -0
  195. package/src/components/tag/meta.md +256 -0
  196. package/src/components/tag/stories.tsx +431 -0
  197. package/src/components/textarea/index.tsx +62 -0
  198. package/src/components/textarea/meta.md +77 -0
  199. package/src/components/textarea/stories.tsx +112 -0
  200. package/src/components/time-picker/index.tsx +887 -0
  201. package/src/components/time-picker/meta.md +102 -0
  202. package/src/components/time-picker/stories.tsx +125 -0
  203. package/src/components/timeline/index.tsx +422 -0
  204. package/src/components/timeline/meta.md +352 -0
  205. package/src/components/timeline/stories.tsx +369 -0
  206. package/src/components/toggle/index.tsx +74 -0
  207. package/src/components/toggle/meta.md +76 -0
  208. package/src/components/toggle/stories.tsx +66 -0
  209. package/src/components/toggle-group/index.tsx +167 -0
  210. package/src/components/toggle-group/meta.md +141 -0
  211. package/src/components/toggle-group/stories.tsx +124 -0
  212. package/src/components/tooltip/index.tsx +144 -0
  213. package/src/components/tooltip/meta.md +186 -0
  214. package/src/components/tooltip/stories.tsx +212 -0
  215. package/src/components/transfer/index.tsx +639 -0
  216. package/src/components/transfer/meta.md +76 -0
  217. package/src/components/transfer/stories.tsx +221 -0
  218. package/src/components/tree/index.tsx +764 -0
  219. package/src/components/tree/meta.md +96 -0
  220. package/src/components/tree/stories.tsx +385 -0
  221. package/src/components/tree/utils.ts +269 -0
  222. package/src/components/tree-select/index.tsx +400 -0
  223. package/src/components/tree-select/meta.md +78 -0
  224. package/src/components/tree-select/stories.tsx +234 -0
  225. package/src/components/typography/index.tsx +290 -0
  226. package/src/components/typography/meta.md +151 -0
  227. package/src/components/typography/stories.tsx +151 -0
  228. package/src/components/upload/index.tsx +858 -0
  229. package/src/components/upload/meta.md +122 -0
  230. package/src/components/upload/stories.tsx +261 -0
  231. package/src/components/watermark/index.tsx +152 -0
  232. package/src/components/watermark/meta.md +67 -0
  233. package/src/components/watermark/stories.tsx +59 -0
  234. package/src/hooks/use-mobile.ts +9 -11
  235. package/src/lib/color.ts +243 -0
  236. package/src/{utils/cn.ts → lib/utils.ts} +1 -1
  237. package/src/components/accordion/accordion.meta.md +0 -88
  238. package/src/components/accordion/accordion.stories.tsx +0 -72
  239. package/src/components/accordion/accordion.tsx +0 -154
  240. package/src/components/affix/affix.meta.md +0 -98
  241. package/src/components/affix/affix.stories.tsx +0 -134
  242. package/src/components/affix/affix.tsx +0 -167
  243. package/src/components/alert/alert.meta.md +0 -132
  244. package/src/components/alert/alert.stories.tsx +0 -138
  245. package/src/components/alert/alert.tsx +0 -179
  246. package/src/components/alert-dialog/alert-dialog.meta.md +0 -152
  247. package/src/components/alert-dialog/alert-dialog.stories.tsx +0 -223
  248. package/src/components/alert-dialog/alert-dialog.tsx +0 -183
  249. package/src/components/anchor/anchor.meta.md +0 -92
  250. package/src/components/anchor/anchor.stories.tsx +0 -74
  251. package/src/components/anchor/anchor.tsx +0 -130
  252. package/src/components/app/app.meta.md +0 -91
  253. package/src/components/app/app.stories.tsx +0 -64
  254. package/src/components/app/app.tsx +0 -58
  255. package/src/components/aspect-ratio/aspect-ratio.meta.md +0 -82
  256. package/src/components/aspect-ratio/aspect-ratio.stories.tsx +0 -59
  257. package/src/components/aspect-ratio/aspect-ratio.tsx +0 -22
  258. package/src/components/auto-complete/auto-complete.meta.md +0 -110
  259. package/src/components/auto-complete/auto-complete.stories.tsx +0 -136
  260. package/src/components/auto-complete/auto-complete.tsx +0 -253
  261. package/src/components/avatar/avatar.meta.md +0 -93
  262. package/src/components/avatar/avatar.stories.tsx +0 -98
  263. package/src/components/avatar/avatar.tsx +0 -127
  264. package/src/components/badge/badge.meta.md +0 -120
  265. package/src/components/badge/badge.stories.tsx +0 -153
  266. package/src/components/badge/badge.tsx +0 -204
  267. package/src/components/breadcrumb/breadcrumb.meta.md +0 -127
  268. package/src/components/breadcrumb/breadcrumb.stories.tsx +0 -207
  269. package/src/components/breadcrumb/breadcrumb.tsx +0 -136
  270. package/src/components/button/button.meta.md +0 -335
  271. package/src/components/button/button.stories.tsx +0 -743
  272. package/src/components/button/button.tsx +0 -466
  273. package/src/components/calendar/calendar.meta.md +0 -128
  274. package/src/components/calendar/calendar.stories.tsx +0 -68
  275. package/src/components/calendar/calendar.tsx +0 -172
  276. package/src/components/card/card.meta.md +0 -139
  277. package/src/components/card/card.stories.tsx +0 -151
  278. package/src/components/card/card.tsx +0 -306
  279. package/src/components/carousel/carousel.meta.md +0 -118
  280. package/src/components/carousel/carousel.stories.tsx +0 -89
  281. package/src/components/carousel/carousel.tsx +0 -224
  282. package/src/components/cascader/cascader.meta.md +0 -140
  283. package/src/components/cascader/cascader.stories.tsx +0 -120
  284. package/src/components/cascader/cascader.tsx +0 -548
  285. package/src/components/checkbox/checkbox.meta.md +0 -167
  286. package/src/components/checkbox/checkbox.stories.tsx +0 -288
  287. package/src/components/checkbox/checkbox.tsx +0 -195
  288. package/src/components/collapsible/collapsible.meta.md +0 -88
  289. package/src/components/collapsible/collapsible.stories.tsx +0 -43
  290. package/src/components/collapsible/collapsible.tsx +0 -105
  291. package/src/components/color-picker/color-picker.meta.md +0 -89
  292. package/src/components/color-picker/color-picker.stories.tsx +0 -159
  293. package/src/components/color-picker/color-picker.tsx +0 -171
  294. package/src/components/command/command.meta.md +0 -120
  295. package/src/components/command/command.stories.tsx +0 -59
  296. package/src/components/command/command.tsx +0 -158
  297. package/src/components/context-menu/context-menu.meta.md +0 -93
  298. package/src/components/context-menu/context-menu.stories.tsx +0 -54
  299. package/src/components/context-menu/context-menu.tsx +0 -204
  300. package/src/components/data-table/data-table.meta.md +0 -150
  301. package/src/components/data-table/data-table.stories.tsx +0 -132
  302. package/src/components/data-table/data-table.tsx +0 -185
  303. package/src/components/date-picker/date-picker.meta.md +0 -175
  304. package/src/components/date-picker/date-picker.stories.tsx +0 -108
  305. package/src/components/date-picker/date-picker.tsx +0 -1554
  306. package/src/components/descriptions/descriptions.meta.md +0 -83
  307. package/src/components/descriptions/descriptions.stories.tsx +0 -60
  308. package/src/components/descriptions/descriptions.tsx +0 -137
  309. package/src/components/dialog/dialog.meta.md +0 -168
  310. package/src/components/dialog/dialog.stories.tsx +0 -255
  311. package/src/components/dialog/dialog.tsx +0 -180
  312. package/src/components/dialog/imperative.tsx +0 -252
  313. package/src/components/drawer/drawer.meta.md +0 -95
  314. package/src/components/drawer/drawer.stories.tsx +0 -71
  315. package/src/components/drawer/drawer.tsx +0 -23
  316. package/src/components/dropdown-menu/dropdown-menu.meta.md +0 -171
  317. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -198
  318. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -209
  319. package/src/components/ellipsis/ellipsis.meta.md +0 -87
  320. package/src/components/ellipsis/ellipsis.stories.tsx +0 -72
  321. package/src/components/ellipsis/ellipsis.tsx +0 -153
  322. package/src/components/empty/empty.meta.md +0 -86
  323. package/src/components/empty/empty.stories.tsx +0 -46
  324. package/src/components/empty/empty.tsx +0 -54
  325. package/src/components/field/field.meta.md +0 -154
  326. package/src/components/field/field.stories.tsx +0 -497
  327. package/src/components/field/field.tsx +0 -392
  328. package/src/components/filter-bar/filter-bar.meta.md +0 -92
  329. package/src/components/filter-bar/filter-bar.stories.tsx +0 -1086
  330. package/src/components/filter-bar/filter-bar.tsx +0 -568
  331. package/src/components/flex/flex.meta.md +0 -142
  332. package/src/components/flex/flex.stories.tsx +0 -199
  333. package/src/components/flex/flex.tsx +0 -145
  334. package/src/components/float-button/float-button.meta.md +0 -92
  335. package/src/components/float-button/float-button.stories.tsx +0 -80
  336. package/src/components/float-button/float-button.tsx +0 -143
  337. package/src/components/form/form.meta.md +0 -153
  338. package/src/components/form/form.stories.tsx +0 -472
  339. package/src/components/form/form.tsx +0 -260
  340. package/src/components/grid/grid.meta.md +0 -92
  341. package/src/components/grid/grid.stories.tsx +0 -101
  342. package/src/components/grid/grid.tsx +0 -130
  343. package/src/components/hover-card/hover-card.meta.md +0 -103
  344. package/src/components/hover-card/hover-card.stories.tsx +0 -97
  345. package/src/components/hover-card/hover-card.tsx +0 -67
  346. package/src/components/icon/DEVELOPMENT.md +0 -809
  347. package/src/components/icon/icon.meta.md +0 -170
  348. package/src/components/icon/icon.stories.tsx +0 -344
  349. package/src/components/icon/icon.tsx +0 -248
  350. package/src/components/image/image.meta.md +0 -99
  351. package/src/components/image/image.stories.tsx +0 -55
  352. package/src/components/image/image.tsx +0 -140
  353. package/src/components/input/input.meta.md +0 -115
  354. package/src/components/input/input.stories.tsx +0 -144
  355. package/src/components/input/input.tsx +0 -212
  356. package/src/components/input-group/input-group.meta.md +0 -124
  357. package/src/components/input-group/input-group.stories.tsx +0 -121
  358. package/src/components/input-group/input-group.tsx +0 -143
  359. package/src/components/input-number/input-number.meta.md +0 -148
  360. package/src/components/input-number/input-number.stories.tsx +0 -125
  361. package/src/components/input-number/input-number.tsx +0 -283
  362. package/src/components/input-otp/input-otp.meta.md +0 -106
  363. package/src/components/input-otp/input-otp.stories.tsx +0 -65
  364. package/src/components/input-otp/input-otp.tsx +0 -97
  365. package/src/components/item/item.meta.md +0 -121
  366. package/src/components/item/item.stories.tsx +0 -116
  367. package/src/components/item/item.tsx +0 -172
  368. package/src/components/kbd/kbd.meta.md +0 -94
  369. package/src/components/kbd/kbd.stories.tsx +0 -70
  370. package/src/components/kbd/kbd.tsx +0 -86
  371. package/src/components/label/label.meta.md +0 -99
  372. package/src/components/label/label.stories.tsx +0 -145
  373. package/src/components/label/label.tsx +0 -138
  374. package/src/components/masonry/masonry.meta.md +0 -90
  375. package/src/components/masonry/masonry.stories.tsx +0 -68
  376. package/src/components/masonry/masonry.tsx +0 -60
  377. package/src/components/mentions/mentions.meta.md +0 -119
  378. package/src/components/mentions/mentions.stories.tsx +0 -189
  379. package/src/components/mentions/mentions.tsx +0 -243
  380. package/src/components/menubar/menubar.meta.md +0 -118
  381. package/src/components/menubar/menubar.stories.tsx +0 -141
  382. package/src/components/menubar/menubar.tsx +0 -232
  383. package/src/components/native-select/native-select.meta.md +0 -93
  384. package/src/components/native-select/native-select.stories.tsx +0 -83
  385. package/src/components/native-select/native-select.tsx +0 -54
  386. package/src/components/navigation-menu/navigation-menu.meta.md +0 -118
  387. package/src/components/navigation-menu/navigation-menu.stories.tsx +0 -215
  388. package/src/components/navigation-menu/navigation-menu.tsx +0 -129
  389. package/src/components/notification/notification.meta.md +0 -133
  390. package/src/components/notification/notification.stories.tsx +0 -98
  391. package/src/components/notification/notification.tsx +0 -99
  392. package/src/components/page-header/DEVELOPMENT.md +0 -842
  393. package/src/components/page-header/page-header.meta.md +0 -210
  394. package/src/components/page-header/page-header.stories.tsx +0 -428
  395. package/src/components/page-header/page-header.tsx +0 -284
  396. package/src/components/page-shell/page-shell.meta.md +0 -116
  397. package/src/components/page-shell/page-shell.stories.tsx +0 -149
  398. package/src/components/page-shell/page-shell.tsx +0 -115
  399. package/src/components/pagination/pagination.meta.md +0 -230
  400. package/src/components/pagination/pagination.stories.tsx +0 -284
  401. package/src/components/pagination/pagination.tsx +0 -567
  402. package/src/components/popconfirm/popconfirm.meta.md +0 -114
  403. package/src/components/popconfirm/popconfirm.stories.tsx +0 -75
  404. package/src/components/popconfirm/popconfirm.tsx +0 -134
  405. package/src/components/popover/popover.meta.md +0 -154
  406. package/src/components/popover/popover.stories.tsx +0 -158
  407. package/src/components/popover/popover.tsx +0 -104
  408. package/src/components/progress/progress.meta.md +0 -118
  409. package/src/components/progress/progress.stories.tsx +0 -75
  410. package/src/components/progress/progress.tsx +0 -203
  411. package/src/components/radio-group/radio-group.meta.md +0 -175
  412. package/src/components/radio-group/radio-group.stories.tsx +0 -113
  413. package/src/components/radio-group/radio-group.tsx +0 -209
  414. package/src/components/rate/rate.meta.md +0 -118
  415. package/src/components/rate/rate.stories.tsx +0 -89
  416. package/src/components/rate/rate.tsx +0 -180
  417. package/src/components/resizable/resizable.meta.md +0 -95
  418. package/src/components/resizable/resizable.stories.tsx +0 -104
  419. package/src/components/resizable/resizable.tsx +0 -56
  420. package/src/components/result/result.meta.md +0 -95
  421. package/src/components/result/result.stories.tsx +0 -67
  422. package/src/components/result/result.tsx +0 -100
  423. package/src/components/scroll-area/scroll-area.meta.md +0 -85
  424. package/src/components/scroll-area/scroll-area.stories.tsx +0 -49
  425. package/src/components/scroll-area/scroll-area.tsx +0 -51
  426. package/src/components/segmented/segmented.meta.md +0 -106
  427. package/src/components/segmented/segmented.stories.tsx +0 -130
  428. package/src/components/segmented/segmented.tsx +0 -146
  429. package/src/components/select/select.meta.md +0 -255
  430. package/src/components/select/select.stories.tsx +0 -275
  431. package/src/components/select/select.tsx +0 -735
  432. package/src/components/separator/separator.meta.md +0 -75
  433. package/src/components/separator/separator.stories.tsx +0 -71
  434. package/src/components/separator/separator.tsx +0 -100
  435. package/src/components/sheet/sheet.meta.md +0 -113
  436. package/src/components/sheet/sheet.stories.tsx +0 -188
  437. package/src/components/sheet/sheet.tsx +0 -226
  438. package/src/components/sidebar/sidebar.meta.md +0 -151
  439. package/src/components/sidebar/sidebar.tsx +0 -853
  440. package/src/components/skeleton/skeleton.meta.md +0 -94
  441. package/src/components/skeleton/skeleton.stories.tsx +0 -79
  442. package/src/components/skeleton/skeleton.tsx +0 -144
  443. package/src/components/slider/slider.meta.md +0 -146
  444. package/src/components/slider/slider.stories.tsx +0 -121
  445. package/src/components/slider/slider.tsx +0 -227
  446. package/src/components/sonner/sonner.meta.md +0 -147
  447. package/src/components/sonner/sonner.stories.tsx +0 -164
  448. package/src/components/sonner/sonner.tsx +0 -169
  449. package/src/components/spinner/spinner.meta.md +0 -125
  450. package/src/components/spinner/spinner.stories.tsx +0 -123
  451. package/src/components/spinner/spinner.tsx +0 -166
  452. package/src/components/statistic/statistic.meta.md +0 -104
  453. package/src/components/statistic/statistic.stories.tsx +0 -67
  454. package/src/components/steps/steps.meta.md +0 -116
  455. package/src/components/steps/steps.stories.tsx +0 -115
  456. package/src/components/steps/steps.tsx +0 -173
  457. package/src/components/switch/switch.meta.md +0 -138
  458. package/src/components/switch/switch.stories.tsx +0 -75
  459. package/src/components/switch/switch.tsx +0 -169
  460. package/src/components/table/table.meta.md +0 -106
  461. package/src/components/table/table.stories.tsx +0 -80
  462. package/src/components/table/table.tsx +0 -124
  463. package/src/components/tabs/tabs.meta.md +0 -111
  464. package/src/components/tabs/tabs.stories.tsx +0 -156
  465. package/src/components/tabs/tabs.tsx +0 -190
  466. package/src/components/tag/tag.meta.md +0 -159
  467. package/src/components/tag/tag.stories.tsx +0 -250
  468. package/src/components/tag/tag.tsx +0 -386
  469. package/src/components/textarea/textarea.meta.md +0 -99
  470. package/src/components/textarea/textarea.stories.tsx +0 -89
  471. package/src/components/textarea/textarea.tsx +0 -137
  472. package/src/components/time-picker/time-picker.meta.md +0 -175
  473. package/src/components/time-picker/time-picker.stories.tsx +0 -129
  474. package/src/components/time-picker/time-picker.tsx +0 -946
  475. package/src/components/timeline/timeline.meta.md +0 -110
  476. package/src/components/timeline/timeline.stories.tsx +0 -134
  477. package/src/components/timeline/timeline.tsx +0 -168
  478. package/src/components/toggle/toggle.meta.md +0 -89
  479. package/src/components/toggle/toggle.stories.tsx +0 -66
  480. package/src/components/toggle/toggle.tsx +0 -54
  481. package/src/components/toggle-group/toggle-group.meta.md +0 -91
  482. package/src/components/toggle-group/toggle-group.stories.tsx +0 -83
  483. package/src/components/toggle-group/toggle-group.tsx +0 -78
  484. package/src/components/tooltip/tooltip.meta.md +0 -149
  485. package/src/components/tooltip/tooltip.stories.tsx +0 -108
  486. package/src/components/tooltip/tooltip.tsx +0 -153
  487. package/src/components/tour/tour.meta.md +0 -121
  488. package/src/components/tour/tour.stories.tsx +0 -66
  489. package/src/components/tour/tour.tsx +0 -242
  490. package/src/components/transfer/transfer.meta.md +0 -95
  491. package/src/components/transfer/transfer.stories.tsx +0 -64
  492. package/src/components/transfer/transfer.tsx +0 -258
  493. package/src/components/tree/tree.meta.md +0 -169
  494. package/src/components/tree/tree.stories.tsx +0 -128
  495. package/src/components/tree/tree.tsx +0 -368
  496. package/src/components/tree-select/tree-select.meta.md +0 -151
  497. package/src/components/tree-select/tree-select.stories.tsx +0 -80
  498. package/src/components/tree-select/tree-select.tsx +0 -206
  499. package/src/components/typography/typography.meta.md +0 -149
  500. package/src/components/typography/typography.stories.tsx +0 -116
  501. package/src/components/typography/typography.tsx +0 -260
  502. package/src/components/upload/upload.meta.md +0 -156
  503. package/src/components/upload/upload.stories.tsx +0 -135
  504. package/src/components/upload/upload.tsx +0 -398
  505. package/src/components/watermark/watermark.meta.md +0 -100
  506. package/src/components/watermark/watermark.stories.tsx +0 -170
  507. package/src/components/watermark/watermark.tsx +0 -166
  508. package/src/hooks/use-breakpoint.ts +0 -117
  509. package/src/hooks/use-debounce-callback.ts +0 -52
  510. package/src/stories/theme-tokens.stories.tsx +0 -747
  511. package/src/utils/trigger-input.ts +0 -57
package/manifest.json CHANGED
@@ -14,9 +14,9 @@
14
14
  "description": "Tailwind className 合并工具(clsx + tailwind-merge)",
15
15
  "files": [
16
16
  {
17
- "source": "src/utils/cn.ts",
18
- "targetAlias": "utils",
19
- "targetName": "cn.ts"
17
+ "source": "src/lib/utils.ts",
18
+ "targetAlias": "lib",
19
+ "targetName": "utils.ts"
20
20
  }
21
21
  ],
22
22
  "dependencies": {
@@ -25,23 +25,74 @@
25
25
  },
26
26
  "updateStrategy": "frozen"
27
27
  },
28
+ {
29
+ "id": "color",
30
+ "name": "Color",
31
+ "type": "util",
32
+ "description": "颜色工具类 — 提供 hex/rgb/hsb/hsva 互转、alpha 处理、相等判断",
33
+ "files": [
34
+ {
35
+ "source": "src/lib/color.ts",
36
+ "targetAlias": "lib",
37
+ "targetName": "color.ts"
38
+ }
39
+ ],
40
+ "updateStrategy": "frozen"
41
+ },
42
+ {
43
+ "id": "icon",
44
+ "name": "Icon",
45
+ "type": "util",
46
+ "description": "面性状态图标集合 — 9 档语义状态(success/warning/error/info/help/processing/pause/mention/default)面性 SVG,外圈 fill-current 由上层 text-* 控色,内字符白色。不含 loading(请用 lucide Loader2 + animate-spin)。",
47
+ "files": [
48
+ {
49
+ "source": "src/components/icon/index.tsx",
50
+ "targetAlias": "components",
51
+ "targetName": "icon.tsx"
52
+ }
53
+ ],
54
+ "meta": "src/components/icon/meta.md",
55
+ "registryDependencies": ["cn"],
56
+ "updateStrategy": "frozen",
57
+ "category": "feedback"
58
+ },
28
59
  {
29
60
  "id": "button",
30
61
  "name": "Button",
31
62
  "type": "component",
32
- "description": "通用按钮 — shadcn 实现 + cloud-design 能力并集(loading / icon / shape / block / dashed variant / color 语义双 prop / disabledTooltip)。同文件合一导出 ButtonGroup + ButtonGroupText(等价 antd Space.Compact + cd SplitButton)。",
63
+ "description": "通用按钮 — shadcn 实现 + cloud-design 能力并集(loading / icon / shape / block / dashed variant / color 语义双 prop / disabledTooltip)ButtonGroup 已拆为独立组件。",
33
64
  "files": [
34
65
  {
35
- "source": "src/components/button/button.tsx",
66
+ "source": "src/components/button/index.tsx",
36
67
  "targetAlias": "components",
37
68
  "targetName": "button.tsx"
38
69
  }
39
70
  ],
40
- "meta": "src/components/button/button.meta.md",
41
- "registryDependencies": ["cn", "tooltip"],
71
+ "meta": "src/components/button/meta.md",
72
+ "registryDependencies": ["cn", "spinner"],
73
+ "dependencies": {
74
+ "radix-ui": "^1.4.3",
75
+ "class-variance-authority": "^0.7.0",
76
+ "lucide-react": "^0.460.0"
77
+ },
78
+ "updateStrategy": "frozen",
79
+ "category": "general"
80
+ },
81
+ {
82
+ "id": "button-group",
83
+ "name": "ButtonGroup",
84
+ "type": "component",
85
+ "description": "按钮组容器 — 对齐 shadcn ButtonGroup + antd Space.Compact,支持 SplitButton / Toolbar / Input addon 拼装,Context 统一注入 size。提供 ButtonGroupOverflow 子组件封装操作列 ⋯ 下拉折叠。",
86
+ "files": [
87
+ {
88
+ "source": "src/components/button-group/index.tsx",
89
+ "targetAlias": "components",
90
+ "targetName": "button-group.tsx"
91
+ }
92
+ ],
93
+ "meta": "src/components/button-group/meta.md",
94
+ "registryDependencies": ["cn", "button", "dropdown-menu", "separator"],
42
95
  "dependencies": {
43
- "@radix-ui/react-slot": "^1.1.0",
44
- "@radix-ui/react-tooltip": "^1.1.0",
45
96
  "class-variance-authority": "^0.7.0",
46
97
  "lucide-react": "^0.460.0"
47
98
  },
@@ -55,15 +106,15 @@
55
106
  "description": "表单字段标签 — Radix Label 包装,补 antd Form.Item 风格的 required / disabled 显式视觉",
56
107
  "files": [
57
108
  {
58
- "source": "src/components/label/label.tsx",
109
+ "source": "src/components/label/index.tsx",
59
110
  "targetAlias": "components",
60
111
  "targetName": "label.tsx"
61
112
  }
62
113
  ],
63
- "meta": "src/components/label/label.meta.md",
114
+ "meta": "src/components/label/meta.md",
64
115
  "registryDependencies": ["cn"],
65
116
  "dependencies": {
66
- "@radix-ui/react-label": "^2.1.0",
117
+ "radix-ui": "^1.4.3",
67
118
  "class-variance-authority": "^0.7.0"
68
119
  },
69
120
  "updateStrategy": "frozen",
@@ -76,14 +127,15 @@
76
127
  "description": "徽标 — shadcn 文本徽标 + antd 数字 / 红点 / 状态点合集,单组件四种形态(text / wrapped / standalone numeric / status)",
77
128
  "files": [
78
129
  {
79
- "source": "src/components/badge/badge.tsx",
130
+ "source": "src/components/badge/index.tsx",
80
131
  "targetAlias": "components",
81
132
  "targetName": "badge.tsx"
82
133
  }
83
134
  ],
84
- "meta": "src/components/badge/badge.meta.md",
135
+ "meta": "src/components/badge/meta.md",
85
136
  "registryDependencies": ["cn"],
86
137
  "dependencies": {
138
+ "radix-ui": "^1.4.3",
87
139
  "class-variance-authority": "^0.7.0"
88
140
  },
89
141
  "updateStrategy": "frozen",
@@ -96,15 +148,15 @@
96
148
  "description": "分隔线 — Radix Separator + antd Divider 的 dashed / 中间装饰文本",
97
149
  "files": [
98
150
  {
99
- "source": "src/components/separator/separator.tsx",
151
+ "source": "src/components/separator/index.tsx",
100
152
  "targetAlias": "components",
101
153
  "targetName": "separator.tsx"
102
154
  }
103
155
  ],
104
- "meta": "src/components/separator/separator.meta.md",
156
+ "meta": "src/components/separator/meta.md",
105
157
  "registryDependencies": ["cn"],
106
158
  "dependencies": {
107
- "@radix-ui/react-separator": "^1.1.0"
159
+ "radix-ui": "^1.4.3"
108
160
  },
109
161
  "updateStrategy": "frozen",
110
162
  "category": "layout"
@@ -113,18 +165,20 @@
113
165
  "id": "skeleton",
114
166
  "name": "Skeleton",
115
167
  "type": "component",
116
- "description": "骨架屏 — shadcn pulse 单元素 + antd Avatar/Image/Button/Input/Paragraph 子家族,自动 motion-reduce",
168
+ "description": "骨架屏 — shadcn v4 base Skeleton (variant/animation/loading/asChild) + 6 子家族 (Avatar/Image/Button/Input/Title/Paragraph),自动 motion-reduce",
117
169
  "files": [
118
170
  {
119
- "source": "src/components/skeleton/skeleton.tsx",
171
+ "source": "src/components/skeleton/index.tsx",
120
172
  "targetAlias": "components",
121
173
  "targetName": "skeleton.tsx"
122
174
  }
123
175
  ],
124
- "meta": "src/components/skeleton/skeleton.meta.md",
176
+ "meta": "src/components/skeleton/meta.md",
125
177
  "registryDependencies": ["cn"],
126
178
  "dependencies": {
127
- "class-variance-authority": "^0.7.0"
179
+ "radix-ui": "^1.4.3",
180
+ "class-variance-authority": "^0.7.0",
181
+ "lucide-react": "^0.460.0"
128
182
  },
129
183
  "updateStrategy": "frozen",
130
184
  "category": "feedback"
@@ -133,18 +187,18 @@
133
187
  "id": "avatar",
134
188
  "name": "Avatar",
135
189
  "type": "component",
136
- "description": "头像 — Radix Avatar(自动 fallback)+ antd size / shape / Avatar.Group",
190
+ "description": "头像 — Radix Avatar(自动 fallback)+ shadcn v4 风格 size / shape + AvatarBadge / AvatarGroup",
137
191
  "files": [
138
192
  {
139
- "source": "src/components/avatar/avatar.tsx",
193
+ "source": "src/components/avatar/index.tsx",
140
194
  "targetAlias": "components",
141
195
  "targetName": "avatar.tsx"
142
196
  }
143
197
  ],
144
- "meta": "src/components/avatar/avatar.meta.md",
198
+ "meta": "src/components/avatar/meta.md",
145
199
  "registryDependencies": ["cn"],
146
200
  "dependencies": {
147
- "@radix-ui/react-avatar": "^1.1.0",
201
+ "radix-ui": "^1.4.3",
148
202
  "class-variance-authority": "^0.7.0",
149
203
  "lucide-react": "^0.460.0"
150
204
  },
@@ -155,18 +209,18 @@
155
209
  "id": "progress",
156
210
  "name": "Progress",
157
211
  "type": "component",
158
- "description": "进度条 — Radix 线性 + antd status / showInfo / size 并集 + 配套 ProgressCircle 环形",
212
+ "description": "进度条 — shadcn v4 线性进度(Radix Root/Indicator);提供 size / 语义色 color (default/success/warning/destructive,ADR 0021) / progressive 渐进色 / showInfo / format 自定义文本,并保留 value=null 不确定态",
159
213
  "files": [
160
214
  {
161
- "source": "src/components/progress/progress.tsx",
215
+ "source": "src/components/progress/index.tsx",
162
216
  "targetAlias": "components",
163
217
  "targetName": "progress.tsx"
164
218
  }
165
219
  ],
166
- "meta": "src/components/progress/progress.meta.md",
220
+ "meta": "src/components/progress/meta.md",
167
221
  "registryDependencies": ["cn"],
168
222
  "dependencies": {
169
- "@radix-ui/react-progress": "^1.1.0"
223
+ "radix-ui": "^1.4.3"
170
224
  },
171
225
  "updateStrategy": "frozen",
172
226
  "category": "feedback"
@@ -175,18 +229,18 @@
175
229
  "id": "switch",
176
230
  "name": "Switch",
177
231
  "type": "component",
178
- "description": "开关 — Radix Switch + antd 的 loading / checkedChildren / unCheckedChildren / size",
232
+ "description": "开关 — 在两态间切换;支持 size / loading / checkedChildren / unCheckedChildren,内文宽度自适应。",
179
233
  "files": [
180
234
  {
181
- "source": "src/components/switch/switch.tsx",
235
+ "source": "src/components/switch/index.tsx",
182
236
  "targetAlias": "components",
183
237
  "targetName": "switch.tsx"
184
238
  }
185
239
  ],
186
- "meta": "src/components/switch/switch.meta.md",
240
+ "meta": "src/components/switch/meta.md",
187
241
  "registryDependencies": ["cn"],
188
242
  "dependencies": {
189
- "@radix-ui/react-switch": "^1.1.0",
243
+ "radix-ui": "^1.4.3",
190
244
  "lucide-react": "^0.460.0"
191
245
  },
192
246
  "updateStrategy": "frozen",
@@ -196,18 +250,18 @@
196
250
  "id": "slider",
197
251
  "name": "Slider",
198
252
  "type": "component",
199
- "description": "滑块 — Radix Slider(原生支持单/双滑块)+ antd marks 刻度",
253
+ "description": "滑块 — Radix Slider 原生单/双滑块 + marks 刻度 + tooltip + reverse",
200
254
  "files": [
201
255
  {
202
- "source": "src/components/slider/slider.tsx",
256
+ "source": "src/components/slider/index.tsx",
203
257
  "targetAlias": "components",
204
258
  "targetName": "slider.tsx"
205
259
  }
206
260
  ],
207
- "meta": "src/components/slider/slider.meta.md",
208
- "registryDependencies": ["cn"],
261
+ "meta": "src/components/slider/meta.md",
262
+ "registryDependencies": ["cn", "tooltip"],
209
263
  "dependencies": {
210
- "@radix-ui/react-slider": "^1.2.0"
264
+ "radix-ui": "^1.4.3"
211
265
  },
212
266
  "updateStrategy": "frozen",
213
267
  "category": "data-entry"
@@ -216,15 +270,15 @@
216
270
  "id": "input",
217
271
  "name": "Input",
218
272
  "type": "component",
219
- "description": "单行文本输入 — clearable / showCount / size(sm 24 / md 32 / lg 36,与 Button 同档)/ error 四档内建能力。前缀/后缀/addon 等复合形态已拆出独立 InputGroup;多行已拆出独立 Textarea",
273
+ "description": "单行文本输入 — 极薄的原生 input 包装,size 三档(sm 24 / default 32 / lg 36,与 Button 同档) + aria-invalid 错误态。前后缀 / 清除 / 密码切换 / 字符计数等装饰能力全部走 InputGroup;多行已拆出独立 Textarea",
220
274
  "files": [
221
275
  {
222
- "source": "src/components/input/input.tsx",
276
+ "source": "src/components/input/index.tsx",
223
277
  "targetAlias": "components",
224
278
  "targetName": "input.tsx"
225
279
  }
226
280
  ],
227
- "meta": "src/components/input/input.meta.md",
281
+ "meta": "src/components/input/meta.md",
228
282
  "registryDependencies": ["cn"],
229
283
  "dependencies": {
230
284
  "lucide-react": "^0.460.0"
@@ -236,15 +290,15 @@
236
290
  "id": "textarea",
237
291
  "name": "Textarea",
238
292
  "type": "component",
239
- "description": "多行文本输入 — autoSize(布尔或 minRows/maxRows)+ showCount + size 三档字号,与 Input 同档对齐;高度由 rows / autoSize 控制",
293
+ "description": "多行文本输入 — size 三档字号与 Input 对齐,高度自适应由 CSS field-sizing-content 原生提供(无 minRows/maxRows props)。字符计数 / 前后缀插槽走 InputGroup + InputGroupTextarea",
240
294
  "files": [
241
295
  {
242
- "source": "src/components/textarea/textarea.tsx",
296
+ "source": "src/components/textarea/index.tsx",
243
297
  "targetAlias": "components",
244
298
  "targetName": "textarea.tsx"
245
299
  }
246
300
  ],
247
- "meta": "src/components/textarea/textarea.meta.md",
301
+ "meta": "src/components/textarea/meta.md",
248
302
  "registryDependencies": ["cn"],
249
303
  "updateStrategy": "frozen",
250
304
  "category": "data-entry"
@@ -253,15 +307,15 @@
253
307
  "id": "input-group",
254
308
  "name": "InputGroup",
255
309
  "type": "component",
256
- "description": "复合输入容器 — shadcn 2025-10 新增,等价 antd Input 的 prefix/suffix/addonBefore/addonAfter 集合;通过 InputGroupAddon(position=before|after) + InputGroupInput / InputGroupTextarea 复合插槽组合图标 / 按钮 / 文本",
310
+ "description": "复合输入容器 — shadcn 2025-10 新增,等价 antd Input 的 prefix/suffix/addonBefore/addonAfter 集合;通过 InputGroupAddon(align=inline-start|inline-end|block-start|block-end) + InputGroupInput / InputGroupTextarea 复合插槽组合图标 / 按钮 / 文本;配套 helper 原子 InputGroupClear / InputGroupPasswordToggle / InputGroupShowCount 覆盖清除 / 密码切换 / 字符计数高频场景",
257
311
  "files": [
258
312
  {
259
- "source": "src/components/input-group/input-group.tsx",
313
+ "source": "src/components/input-group/index.tsx",
260
314
  "targetAlias": "components",
261
315
  "targetName": "input-group.tsx"
262
316
  }
263
317
  ],
264
- "meta": "src/components/input-group/input-group.meta.md",
318
+ "meta": "src/components/input-group/meta.md",
265
319
  "registryDependencies": ["cn"],
266
320
  "updateStrategy": "frozen",
267
321
  "category": "data-entry"
@@ -273,15 +327,15 @@
273
327
  "description": "复选框 — Radix Checkbox(原生 indeterminate)+ antd Checkbox.Group(options 数组驱动)",
274
328
  "files": [
275
329
  {
276
- "source": "src/components/checkbox/checkbox.tsx",
330
+ "source": "src/components/checkbox/index.tsx",
277
331
  "targetAlias": "components",
278
332
  "targetName": "checkbox.tsx"
279
333
  }
280
334
  ],
281
- "meta": "src/components/checkbox/checkbox.meta.md",
335
+ "meta": "src/components/checkbox/meta.md",
282
336
  "registryDependencies": ["cn"],
283
337
  "dependencies": {
284
- "@radix-ui/react-checkbox": "^1.1.0",
338
+ "radix-ui": "^1.4.3",
285
339
  "lucide-react": "^0.460.0"
286
340
  },
287
341
  "updateStrategy": "frozen",
@@ -291,18 +345,18 @@
291
345
  "id": "radio-group",
292
346
  "name": "RadioGroup",
293
347
  "type": "component",
294
- "description": "单选组 — Radix RadioGroup + antd Radio.Button 形态(variant=button)",
348
+ "description": "单选组 — Radix RadioGroup + shadcn v4 dot 形态(按钮形态请使用 ToggleGroup type=\"single\")",
295
349
  "files": [
296
350
  {
297
- "source": "src/components/radio-group/radio-group.tsx",
351
+ "source": "src/components/radio-group/index.tsx",
298
352
  "targetAlias": "components",
299
353
  "targetName": "radio-group.tsx"
300
354
  }
301
355
  ],
302
- "meta": "src/components/radio-group/radio-group.meta.md",
356
+ "meta": "src/components/radio-group/meta.md",
303
357
  "registryDependencies": ["cn"],
304
358
  "dependencies": {
305
- "@radix-ui/react-radio-group": "^1.2.0",
359
+ "radix-ui": "^1.4.3",
306
360
  "lucide-react": "^0.460.0"
307
361
  },
308
362
  "updateStrategy": "frozen",
@@ -312,16 +366,16 @@
312
366
  "id": "alert",
313
367
  "name": "Alert",
314
368
  "type": "component",
315
- "description": "静态提示条 — shadcn 视觉 + antd type/showIcon/closable/banner 并集,六档语义色(primary/info/success/warning/destructive/neutral),无边框 + 面性状态图标",
369
+ "description": "静态反馈条 — shadcn v4 composable + 五档语义色(info 默认 / success / warning / destructive / help)+ closable + AlertIcon 自动/自定义图标,不含弹出(由 Sonner 接管)",
316
370
  "files": [
317
371
  {
318
- "source": "src/components/alert/alert.tsx",
372
+ "source": "src/components/alert/index.tsx",
319
373
  "targetAlias": "components",
320
374
  "targetName": "alert.tsx"
321
375
  }
322
376
  ],
323
- "meta": "src/components/alert/alert.meta.md",
324
- "registryDependencies": ["cn"],
377
+ "meta": "src/components/alert/meta.md",
378
+ "registryDependencies": ["cn", "icon"],
325
379
  "dependencies": {
326
380
  "class-variance-authority": "^0.7.0",
327
381
  "lucide-react": "^0.460.0"
@@ -333,18 +387,18 @@
333
387
  "id": "tooltip",
334
388
  "name": "Tooltip",
335
389
  "type": "component",
336
- "description": "文字提示气泡 — Radix Tooltip + antd arrow/placement(side) 并集 + cloud-design Balloon 双变体(default 深底 / light 白底) + 一行 wrapper API",
390
+ "description": "文字提示气泡 — Radix Tooltip + cva 双变体(default 亮底 / inverse 反色) + 可选 TooltipArrow + container 透传",
337
391
  "files": [
338
392
  {
339
- "source": "src/components/tooltip/tooltip.tsx",
393
+ "source": "src/components/tooltip/index.tsx",
340
394
  "targetAlias": "components",
341
395
  "targetName": "tooltip.tsx"
342
396
  }
343
397
  ],
344
- "meta": "src/components/tooltip/tooltip.meta.md",
398
+ "meta": "src/components/tooltip/meta.md",
345
399
  "registryDependencies": ["cn"],
346
400
  "dependencies": {
347
- "@radix-ui/react-tooltip": "^1.1.0",
401
+ "radix-ui": "^1.4.3",
348
402
  "class-variance-authority": "^0.7.0"
349
403
  },
350
404
  "updateStrategy": "frozen",
@@ -354,59 +408,88 @@
354
408
  "id": "popover",
355
409
  "name": "Popover",
356
410
  "type": "component",
357
- "description": "可交互浮层 — Radix Popover + antd arrow 并集,使用 showArrow 控制尖角(与 Tooltip / HoverCard 命名统一)",
411
+ "description": "可交互浮层 — Radix Popover + Header/Title/Description 语义子组件 + 可选 PopoverClose / PopoverArrow + container 透传",
358
412
  "files": [
359
413
  {
360
- "source": "src/components/popover/popover.tsx",
414
+ "source": "src/components/popover/index.tsx",
361
415
  "targetAlias": "components",
362
416
  "targetName": "popover.tsx"
363
417
  }
364
418
  ],
365
- "meta": "src/components/popover/popover.meta.md",
419
+ "meta": "src/components/popover/meta.md",
366
420
  "registryDependencies": ["cn"],
367
421
  "dependencies": {
368
- "@radix-ui/react-popover": "^1.1.0"
422
+ "radix-ui": "^1.4.3",
423
+ "lucide-react": "^0.460.0"
369
424
  },
370
425
  "updateStrategy": "frozen",
371
- "category": "feedback"
426
+ "category": "data-display"
372
427
  },
373
428
  {
374
429
  "id": "command",
375
430
  "name": "Command",
376
431
  "type": "component",
377
- "description": "命令面板 / 下拉底座 — cmdk(Linear / Raycast 风格)提供过滤 / 键盘导航 / a11y;同时为 Combobox / Select / AutoComplete 提供同源下拉内核",
432
+ "description": "命令面板 / 下拉底座 — cmdk(Linear / Raycast 风格)提供过滤 / 键盘导航 / a11y;同时为 Select / AutoComplete 提供同源下拉内核",
378
433
  "files": [
379
434
  {
380
- "source": "src/components/command/command.tsx",
435
+ "source": "src/components/command/index.tsx",
381
436
  "targetAlias": "components",
382
437
  "targetName": "command.tsx"
383
438
  }
384
439
  ],
385
- "meta": "src/components/command/command.meta.md",
440
+ "meta": "src/components/command/meta.md",
386
441
  "registryDependencies": ["cn", "dialog"],
387
442
  "dependencies": {
388
443
  "cmdk": "^1.0.0",
389
444
  "lucide-react": "^0.460.0"
390
445
  },
391
446
  "updateStrategy": "frozen",
392
- "category": "feedback"
447
+ "category": "data-entry"
448
+ },
449
+ {
450
+ "id": "combobox",
451
+ "name": "Combobox",
452
+ "type": "component",
453
+ "description": "组合选择器 — Popover + Command + Tag 的 shadcn 风格 composable;支持单选与多选,多选触发区以可关闭 Tag 展示选中项,超出 maxTagCount 折叠为 +N",
454
+ "files": [
455
+ {
456
+ "source": "src/components/combobox/index.tsx",
457
+ "targetAlias": "components",
458
+ "targetName": "combobox.tsx"
459
+ }
460
+ ],
461
+ "meta": "src/components/combobox/meta.md",
462
+ "registryDependencies": [
463
+ "cn",
464
+ "command",
465
+ "popover",
466
+ "tag",
467
+ "input-group"
468
+ ],
469
+ "dependencies": {
470
+ "radix-ui": "^1.4.3",
471
+ "cmdk": "^1.0.0",
472
+ "lucide-react": "^0.460.0"
473
+ },
474
+ "updateStrategy": "frozen",
475
+ "category": "data-entry"
393
476
  },
394
477
  {
395
478
  "id": "hover-card",
396
479
  "name": "HoverCard",
397
480
  "type": "component",
398
- "description": "悬浮富内容卡 — Radix HoverCard,shadcn-only(@username 卡片 / 链接预览 / 资源卡),使用 showArrow Tooltip/Popover 对齐",
481
+ "description": "悬浮富内容卡 — Radix HoverCard(@username 卡片 / 链接预览 / 资源卡) + 自定义 openDelay/closeDelay + 可选 HoverCardArrow + container 透传",
399
482
  "files": [
400
483
  {
401
- "source": "src/components/hover-card/hover-card.tsx",
484
+ "source": "src/components/hover-card/index.tsx",
402
485
  "targetAlias": "components",
403
486
  "targetName": "hover-card.tsx"
404
487
  }
405
488
  ],
406
- "meta": "src/components/hover-card/hover-card.meta.md",
489
+ "meta": "src/components/hover-card/meta.md",
407
490
  "registryDependencies": ["cn"],
408
491
  "dependencies": {
409
- "@radix-ui/react-hover-card": "^1.1.0"
492
+ "radix-ui": "^1.4.3"
410
493
  },
411
494
  "updateStrategy": "frozen",
412
495
  "category": "data-display"
@@ -418,20 +501,15 @@
418
501
  "description": "模态对话框 — Radix Dialog + antd Modal 并集(组合式 Header/Footer/Title/Description,size sm/md/lg/xl 绑定 layout-dialog tokens,圆角 radius-dialog 16px,无 border)",
419
502
  "files": [
420
503
  {
421
- "source": "src/components/dialog/dialog.tsx",
504
+ "source": "src/components/dialog/index.tsx",
422
505
  "targetAlias": "components",
423
506
  "targetName": "dialog.tsx"
424
- },
425
- {
426
- "source": "src/components/dialog/imperative.tsx",
427
- "targetAlias": "components",
428
- "targetName": "dialog-imperative.tsx"
429
507
  }
430
508
  ],
431
- "meta": "src/components/dialog/dialog.meta.md",
509
+ "meta": "src/components/dialog/meta.md",
432
510
  "registryDependencies": ["cn", "button"],
433
511
  "dependencies": {
434
- "@radix-ui/react-dialog": "^1.1.0",
512
+ "radix-ui": "^1.4.3",
435
513
  "class-variance-authority": "^0.7.0",
436
514
  "lucide-react": "^0.460.0",
437
515
  "react-dom": ">=18"
@@ -446,15 +524,15 @@
446
524
  "description": "阻断式确认对话框 — Radix AlertDialog + antd Modal.confirm 并集(Action / Cancel,size sm/md/lg/xl,圆角与无 border 同 Dialog)",
447
525
  "files": [
448
526
  {
449
- "source": "src/components/alert-dialog/alert-dialog.tsx",
527
+ "source": "src/components/alert-dialog/index.tsx",
450
528
  "targetAlias": "components",
451
529
  "targetName": "alert-dialog.tsx"
452
530
  }
453
531
  ],
454
- "meta": "src/components/alert-dialog/alert-dialog.meta.md",
532
+ "meta": "src/components/alert-dialog/meta.md",
455
533
  "registryDependencies": ["cn", "button"],
456
534
  "dependencies": {
457
- "@radix-ui/react-alert-dialog": "^1.1.0",
535
+ "radix-ui": "^1.4.3",
458
536
  "class-variance-authority": "^0.7.0"
459
537
  },
460
538
  "updateStrategy": "frozen",
@@ -467,53 +545,34 @@
467
545
  "description": "侧边面板 — Radix Dialog + side(left/right/top/bottom) + size(sm/md/lg/xl) + --radius-dialog 圆角,对齐 antd Drawer 全能力集",
468
546
  "files": [
469
547
  {
470
- "source": "src/components/sheet/sheet.tsx",
548
+ "source": "src/components/sheet/index.tsx",
471
549
  "targetAlias": "components",
472
550
  "targetName": "sheet.tsx"
473
551
  }
474
552
  ],
475
- "meta": "src/components/sheet/sheet.meta.md",
553
+ "meta": "src/components/sheet/meta.md",
476
554
  "registryDependencies": ["cn"],
477
555
  "dependencies": {
478
- "@radix-ui/react-dialog": "^1.1.0",
556
+ "radix-ui": "^1.4.3",
479
557
  "class-variance-authority": "^0.7.0",
480
558
  "lucide-react": "^0.460.0"
481
559
  },
482
560
  "updateStrategy": "frozen",
483
561
  "category": "feedback"
484
562
  },
485
- {
486
- "id": "drawer",
487
- "name": "Drawer",
488
- "type": "component",
489
- "description": "抽屉(Sheet 别名)— re-export sheet,向后兼容已有 Drawer 导入",
490
- "alias": "sheet",
491
- "files": [
492
- {
493
- "source": "src/components/drawer/drawer.tsx",
494
- "targetAlias": "components",
495
- "targetName": "drawer.tsx"
496
- }
497
- ],
498
- "meta": "src/components/drawer/drawer.meta.md",
499
- "registryDependencies": ["sheet", "cn"],
500
- "dependencies": {},
501
- "updateStrategy": "frozen",
502
- "category": "feedback"
503
- },
504
563
  {
505
564
  "id": "sonner",
506
565
  "name": "Toaster",
507
566
  "type": "component",
508
- "description": "Toast 通知 — sonner 包装,等价 antd message + notification 并集(toast() 函数式 API + Toaster 容器,面性 5 状态图标 + 无边框)",
567
+ "description": "Toast 通知 — sonner 包装,等价 cloud-design Notification + Message 弹窗便捷用法(toast() 函数式 API + 5+1 状态 success/info/warning/error/help/loading + placement/duration/maxToasts/action/cancel/promise/custom/按 id 更新与关闭,主题 token 化)",
509
568
  "files": [
510
569
  {
511
- "source": "src/components/sonner/sonner.tsx",
570
+ "source": "src/components/sonner/index.tsx",
512
571
  "targetAlias": "components",
513
572
  "targetName": "sonner.tsx"
514
573
  }
515
574
  ],
516
- "meta": "src/components/sonner/sonner.meta.md",
575
+ "meta": "src/components/sonner/meta.md",
517
576
  "registryDependencies": ["cn"],
518
577
  "dependencies": {
519
578
  "sonner": "^1.5.0",
@@ -526,15 +585,15 @@
526
585
  "id": "select",
527
586
  "name": "Select",
528
587
  "type": "component",
529
- "description": "下拉选择 — 单组件覆盖 cd Select 全部模式:单选 / 多选(multiple) / 搜索(searchable) / 标签创建(creatable) / 远程异步(onSearch) / 虚拟滚动(virtual) / 弹层容器(container)。基于 Popover + cmdk Command,size 三档对齐 Button/Input(24/32/36)。原 Combobox 已合并入此组件",
588
+ "description": "下拉选择 — 单组件覆盖 cd Select 全部模式:单选 / 多选(multiple) / 搜索(searchable) / 标签创建(creatable) / 远程异步(onSearch) / 虚拟滚动(virtual) / 弹层容器(container)。基于 Popover + cmdk Command,size 三档对齐 Button/Input(24/32/36)",
530
589
  "files": [
531
590
  {
532
- "source": "src/components/select/select.tsx",
591
+ "source": "src/components/select/index.tsx",
533
592
  "targetAlias": "components",
534
593
  "targetName": "select.tsx"
535
594
  }
536
595
  ],
537
- "meta": "src/components/select/select.meta.md",
596
+ "meta": "src/components/select/meta.md",
538
597
  "registryDependencies": ["cn", "command", "popover"],
539
598
  "dependencies": {
540
599
  "@tanstack/react-virtual": "^3.0.0",
@@ -550,12 +609,12 @@
550
609
  "description": "日期选择面板 — react-day-picker,mode=single|multiple|range,与 design tokens 对齐",
551
610
  "files": [
552
611
  {
553
- "source": "src/components/calendar/calendar.tsx",
612
+ "source": "src/components/calendar/index.tsx",
554
613
  "targetAlias": "components",
555
614
  "targetName": "calendar.tsx"
556
615
  }
557
616
  ],
558
- "meta": "src/components/calendar/calendar.meta.md",
617
+ "meta": "src/components/calendar/meta.md",
559
618
  "registryDependencies": ["cn", "button"],
560
619
  "dependencies": {
561
620
  "react-day-picker": "^9.0.0",
@@ -571,12 +630,12 @@
571
630
  "description": "日期 / 范围选择器 — Calendar + Popover 复合,可选 showTime 追加 TimePickerPanel(对齐 antd DatePicker / RangePicker / showTime)",
572
631
  "files": [
573
632
  {
574
- "source": "src/components/date-picker/date-picker.tsx",
633
+ "source": "src/components/date-picker/index.tsx",
575
634
  "targetAlias": "components",
576
635
  "targetName": "date-picker.tsx"
577
636
  }
578
637
  ],
579
- "meta": "src/components/date-picker/date-picker.meta.md",
638
+ "meta": "src/components/date-picker/meta.md",
580
639
  "registryDependencies": [
581
640
  "cn",
582
641
  "button",
@@ -599,18 +658,18 @@
599
658
  "description": "表单 — react-hook-form + shadcn 7 件套(FormField/FormItem/Label/Control/Description/Message),配 zod 做 schema 校验",
600
659
  "files": [
601
660
  {
602
- "source": "src/components/form/form.tsx",
661
+ "source": "src/components/form/index.tsx",
603
662
  "targetAlias": "components",
604
663
  "targetName": "form.tsx"
605
664
  }
606
665
  ],
607
- "meta": "src/components/form/form.meta.md",
666
+ "meta": "src/components/form/meta.md",
608
667
  "registryDependencies": ["cn", "field"],
609
668
  "dependencies": {
610
669
  "react-hook-form": "^7.50.0",
611
670
  "@hookform/resolvers": "^3.0.0",
612
671
  "zod": "^3.22.0",
613
- "@radix-ui/react-slot": "^1.1.0"
672
+ "radix-ui": "^1.4.3"
614
673
  },
615
674
  "updateStrategy": "frozen",
616
675
  "category": "data-entry"
@@ -622,19 +681,19 @@
622
681
  "description": "标签页 — Radix Tabs + shadcn ∪ antd 并集,吸收 Segmented 胶囊视觉(variant=line|capsule + size=sm|md|lg + extra)",
623
682
  "files": [
624
683
  {
625
- "source": "src/components/tabs/tabs.tsx",
684
+ "source": "src/components/tabs/index.tsx",
626
685
  "targetAlias": "components",
627
686
  "targetName": "tabs.tsx"
628
687
  }
629
688
  ],
630
- "meta": "src/components/tabs/tabs.meta.md",
689
+ "meta": "src/components/tabs/meta.md",
631
690
  "registryDependencies": ["cn"],
632
691
  "dependencies": {
633
- "@radix-ui/react-tabs": "^1.1.0",
692
+ "radix-ui": "^1.4.3",
634
693
  "class-variance-authority": "^0.7.0"
635
694
  },
636
695
  "updateStrategy": "frozen",
637
- "category": "data-display"
696
+ "category": "navigation"
638
697
  },
639
698
  {
640
699
  "id": "accordion",
@@ -643,15 +702,15 @@
643
702
  "description": "折叠面板 — Radix Accordion + antd Collapse 的 accordion 模式(单/多展开)",
644
703
  "files": [
645
704
  {
646
- "source": "src/components/accordion/accordion.tsx",
705
+ "source": "src/components/accordion/index.tsx",
647
706
  "targetAlias": "components",
648
707
  "targetName": "accordion.tsx"
649
708
  }
650
709
  ],
651
- "meta": "src/components/accordion/accordion.meta.md",
710
+ "meta": "src/components/accordion/meta.md",
652
711
  "registryDependencies": ["cn"],
653
712
  "dependencies": {
654
- "@radix-ui/react-accordion": "^1.2.0",
713
+ "radix-ui": "^1.4.3",
655
714
  "lucide-react": "^0.460.0"
656
715
  },
657
716
  "updateStrategy": "frozen",
@@ -664,14 +723,14 @@
664
723
  "description": "单区域展开收起 — Radix Collapsible 薄包装(shadcn-only)",
665
724
  "files": [
666
725
  {
667
- "source": "src/components/collapsible/collapsible.tsx",
726
+ "source": "src/components/collapsible/index.tsx",
668
727
  "targetAlias": "components",
669
728
  "targetName": "collapsible.tsx"
670
729
  }
671
730
  ],
672
- "meta": "src/components/collapsible/collapsible.meta.md",
731
+ "meta": "src/components/collapsible/meta.md",
673
732
  "dependencies": {
674
- "@radix-ui/react-collapsible": "^1.1.0"
733
+ "radix-ui": "^1.4.3"
675
734
  },
676
735
  "updateStrategy": "frozen",
677
736
  "category": "data-display"
@@ -683,15 +742,15 @@
683
742
  "description": "面包屑 — 纯组合 + antd separator/itemRender(asChild 配 React Router/Next.js Link)",
684
743
  "files": [
685
744
  {
686
- "source": "src/components/breadcrumb/breadcrumb.tsx",
745
+ "source": "src/components/breadcrumb/index.tsx",
687
746
  "targetAlias": "components",
688
747
  "targetName": "breadcrumb.tsx"
689
748
  }
690
749
  ],
691
- "meta": "src/components/breadcrumb/breadcrumb.meta.md",
750
+ "meta": "src/components/breadcrumb/meta.md",
692
751
  "registryDependencies": ["cn"],
693
752
  "dependencies": {
694
- "@radix-ui/react-slot": "^1.1.0",
753
+ "radix-ui": "^1.4.3",
695
754
  "lucide-react": "^0.460.0"
696
755
  },
697
756
  "updateStrategy": "frozen",
@@ -704,12 +763,12 @@
704
763
  "description": "分页 — shadcn primitives + 高阶 SimplePagination(antd 风格 total/pageSize/current/onChange,自动页码窗口 + 折叠)",
705
764
  "files": [
706
765
  {
707
- "source": "src/components/pagination/pagination.tsx",
766
+ "source": "src/components/pagination/index.tsx",
708
767
  "targetAlias": "components",
709
768
  "targetName": "pagination.tsx"
710
769
  }
711
770
  ],
712
- "meta": "src/components/pagination/pagination.meta.md",
771
+ "meta": "src/components/pagination/meta.md",
713
772
  "registryDependencies": ["cn", "button"],
714
773
  "dependencies": {
715
774
  "class-variance-authority": "^0.7.0",
@@ -725,15 +784,15 @@
725
784
  "description": "下拉菜单 — Radix DropdownMenu 完整(Item/CheckboxItem/RadioItem/Sub/Label/Separator/Shortcut),对应 antd Dropdown",
726
785
  "files": [
727
786
  {
728
- "source": "src/components/dropdown-menu/dropdown-menu.tsx",
787
+ "source": "src/components/dropdown-menu/index.tsx",
729
788
  "targetAlias": "components",
730
789
  "targetName": "dropdown-menu.tsx"
731
790
  }
732
791
  ],
733
- "meta": "src/components/dropdown-menu/dropdown-menu.meta.md",
792
+ "meta": "src/components/dropdown-menu/meta.md",
734
793
  "registryDependencies": ["cn"],
735
794
  "dependencies": {
736
- "@radix-ui/react-dropdown-menu": "^2.1.0",
795
+ "radix-ui": "^1.4.3",
737
796
  "lucide-react": "^0.460.0"
738
797
  },
739
798
  "updateStrategy": "frozen",
@@ -760,12 +819,12 @@
760
819
  "description": "侧边导航栏 — shadcn 完整版 25 primitives 复合(Provider + Sidebar + Header/Footer/Content + Group/GroupAction/GroupContent + Menu/MenuItem/MenuButton/MenuSub/MenuAction/MenuBadge/MenuSkeleton + Rail + Inset + Input + Trigger + variant=sidebar|floating|inset),含 mobile Sheet 切换 / cookie 持久化 / Cmd+B 快捷键 / 折叠态自动 Tooltip。对应 antd Layout.Sider + Menu + 移动端 Drawer",
761
820
  "files": [
762
821
  {
763
- "source": "src/components/sidebar/sidebar.tsx",
822
+ "source": "src/components/sidebar/index.tsx",
764
823
  "targetAlias": "components",
765
824
  "targetName": "sidebar.tsx"
766
825
  }
767
826
  ],
768
- "meta": "src/components/sidebar/sidebar.meta.md",
827
+ "meta": "src/components/sidebar/meta.md",
769
828
  "registryDependencies": [
770
829
  "cn",
771
830
  "button",
@@ -777,12 +836,12 @@
777
836
  "use-mobile"
778
837
  ],
779
838
  "dependencies": {
780
- "@radix-ui/react-slot": "^1.1.0",
839
+ "radix-ui": "^1.4.3",
781
840
  "class-variance-authority": "^0.7.0",
782
841
  "lucide-react": "^0.460.0"
783
842
  },
784
843
  "updateStrategy": "frozen",
785
- "category": "layout"
844
+ "category": "navigation"
786
845
  },
787
846
  {
788
847
  "id": "page-header",
@@ -791,18 +850,18 @@
791
850
  "description": "页头容器 — 承接 teamix-pro ProPageHeader 视觉规范的 shadcn 复合组件(PageHeader + Nav/Content/Heading/Description/Actions/Data/DataItem/Footer/Skeleton 共 10 个子组件)。纯排版骨架,不接受配置对象;面包屑/标签/操作/图标/数据概览全用原子组件自由组合。含 goBack 返回按钮、backgroundImage 装饰图、PageHeaderDataItem 6 档数据色、整体替换式骨架屏。对应 antd PageHeader / teamix-pro ProPageHeader",
792
851
  "files": [
793
852
  {
794
- "source": "src/components/page-header/page-header.tsx",
853
+ "source": "src/components/page-header/index.tsx",
795
854
  "targetAlias": "components",
796
855
  "targetName": "page-header.tsx"
797
856
  }
798
857
  ],
799
- "meta": "src/components/page-header/page-header.meta.md",
858
+ "meta": "src/components/page-header/meta.md",
800
859
  "registryDependencies": ["cn", "skeleton"],
801
860
  "dependencies": {
802
861
  "lucide-react": "^0.460.0"
803
862
  },
804
863
  "updateStrategy": "frozen",
805
- "category": "layout"
864
+ "category": "navigation"
806
865
  },
807
866
  {
808
867
  "id": "page-shell",
@@ -811,12 +870,12 @@
811
870
  "description": "页面三明治壳 — header + sidebar + children 三 slot 任意组合,覆盖全屏/仅顶部/仅左导/顶部+左导四种页面形态。background prop 走 shadcn 语义槽枚举(background/muted/card/sidebar/accent),亮暗模式由 token 文件自动管。内部为传入的 ui Sidebar 注入 scoped CSS 覆盖默认 fixed 定位,让 sidebar 跟 header 共存而不被撑到 viewport 顶端。",
812
871
  "files": [
813
872
  {
814
- "source": "src/components/page-shell/page-shell.tsx",
873
+ "source": "src/components/page-shell/index.tsx",
815
874
  "targetAlias": "components",
816
875
  "targetName": "page-shell.tsx"
817
876
  }
818
877
  ],
819
- "meta": "src/components/page-shell/page-shell.meta.md",
878
+ "meta": "src/components/page-shell/meta.md",
820
879
  "registryDependencies": ["cn", "sidebar"],
821
880
  "updateStrategy": "frozen",
822
881
  "category": "layout"
@@ -825,15 +884,15 @@
825
884
  "id": "card",
826
885
  "name": "Card",
827
886
  "type": "component",
828
- "description": "卡片容器 — shadcn 组合式 + antd hoverable/loading/Cover/Actions/Meta/extra 并集",
887
+ "description": "卡片容器 — shadcn v4 组合式 (Header/Title/Description/Action/Content/Footer/Media/Divider) + variant/interactive/asChild/loading",
829
888
  "files": [
830
889
  {
831
- "source": "src/components/card/card.tsx",
890
+ "source": "src/components/card/index.tsx",
832
891
  "targetAlias": "components",
833
892
  "targetName": "card.tsx"
834
893
  }
835
894
  ],
836
- "meta": "src/components/card/card.meta.md",
895
+ "meta": "src/components/card/meta.md",
837
896
  "registryDependencies": ["cn", "skeleton"],
838
897
  "updateStrategy": "frozen",
839
898
  "category": "data-display"
@@ -842,16 +901,20 @@
842
901
  "id": "table",
843
902
  "name": "Table",
844
903
  "type": "component",
845
- "description": "基础表格 — 原生 HTML 元素薄包装(视觉骨架,无交互,交互见 DataTable)",
904
+ "description": "基础表格 — shadcn 极薄 composable,提供 size / bordered / striped / stickyHeader / hoverable / crossline / loading / empty / maxBodyHeight 等视觉与状态能力(交互逻辑见 DataTable",
846
905
  "files": [
847
906
  {
848
- "source": "src/components/table/table.tsx",
907
+ "source": "src/components/table/index.tsx",
849
908
  "targetAlias": "components",
850
909
  "targetName": "table.tsx"
851
910
  }
852
911
  ],
853
- "meta": "src/components/table/table.meta.md",
912
+ "meta": "src/components/table/meta.md",
854
913
  "registryDependencies": ["cn"],
914
+ "dependencies": {
915
+ "class-variance-authority": "^0.7.0",
916
+ "lucide-react": "^0.460.0"
917
+ },
855
918
  "updateStrategy": "frozen",
856
919
  "category": "data-display"
857
920
  },
@@ -859,18 +922,31 @@
859
922
  "id": "data-table",
860
923
  "name": "DataTable",
861
924
  "type": "component",
862
- "description": "高阶数据表 — TanStack Table + Table primitives + SimplePagination(等价 antd Table sorter/filter/pagination/rowSelection)",
925
+ "description": "高阶数据表 — 基于 @tanstack/react-table v8 + Table primitives + Pagination,提供排序 / 列过滤 / 分页 / 行选择(单/多) / 行展开 / 锁列 / 列宽拖拽 / 树形 / 虚拟滚动 / 多级表头 / 合并单元格 / 可编辑单元格 / 行拖拽排序 等交互;API 名采用业界主流(columns / data / accessorKey / header / cell)同时保留 cd / antd 老字段兼容(dataSource / dataIndex / title / sortable / render / fixed / width)",
863
926
  "files": [
864
927
  {
865
- "source": "src/components/data-table/data-table.tsx",
928
+ "source": "src/components/data-table/index.tsx",
866
929
  "targetAlias": "components",
867
930
  "targetName": "data-table.tsx"
868
931
  }
869
932
  ],
870
- "meta": "src/components/data-table/data-table.meta.md",
871
- "registryDependencies": ["cn", "table", "pagination"],
933
+ "meta": "src/components/data-table/meta.md",
934
+ "registryDependencies": [
935
+ "cn",
936
+ "table",
937
+ "pagination",
938
+ "checkbox",
939
+ "radio-group",
940
+ "button",
941
+ "popover"
942
+ ],
872
943
  "dependencies": {
873
- "@tanstack/react-table": "^8.0.0"
944
+ "@tanstack/react-table": "^8.0.0",
945
+ "@tanstack/react-virtual": "^3.0.0",
946
+ "@dnd-kit/core": "^6.0.0",
947
+ "@dnd-kit/sortable": "^8.0.0",
948
+ "@dnd-kit/utilities": "^3.0.0",
949
+ "lucide-react": "^0.460.0"
874
950
  },
875
951
  "updateStrategy": "frozen",
876
952
  "category": "data-display"
@@ -879,18 +955,20 @@
879
955
  "id": "carousel",
880
956
  "name": "Carousel",
881
957
  "type": "component",
882
- "description": "走马灯 — embla-carousel-react,支持单页/多页/循环/垂直/触屏拖动,对应 antd Carousel",
958
+ "description": "轮播 — embla-carousel-react,支持单页/多页/无穷循环/垂直/触屏拖动;新增 autoplay(含悬浮暂停)/ fade / 受控 activeIndex / 内置 CarouselDots 与 inner-outer 箭头位置",
883
959
  "files": [
884
960
  {
885
- "source": "src/components/carousel/carousel.tsx",
961
+ "source": "src/components/carousel/index.tsx",
886
962
  "targetAlias": "components",
887
963
  "targetName": "carousel.tsx"
888
964
  }
889
965
  ],
890
- "meta": "src/components/carousel/carousel.meta.md",
966
+ "meta": "src/components/carousel/meta.md",
891
967
  "registryDependencies": ["cn", "button"],
892
968
  "dependencies": {
893
969
  "embla-carousel-react": "^8.0.0",
970
+ "embla-carousel-autoplay": "^8.0.0",
971
+ "embla-carousel-fade": "^8.0.0",
894
972
  "lucide-react": "^0.460.0"
895
973
  },
896
974
  "updateStrategy": "frozen",
@@ -903,15 +981,15 @@
903
981
  "description": "可拖拽分栏 — react-resizable-panels(VS Code / Figma 风格),横/纵向 + 嵌套 + min/max 限制。等价 antd `Splitter`(v5.21+)",
904
982
  "files": [
905
983
  {
906
- "source": "src/components/resizable/resizable.tsx",
984
+ "source": "src/components/resizable/index.tsx",
907
985
  "targetAlias": "components",
908
986
  "targetName": "resizable.tsx"
909
987
  }
910
988
  ],
911
- "meta": "src/components/resizable/resizable.meta.md",
989
+ "meta": "src/components/resizable/meta.md",
912
990
  "registryDependencies": ["cn"],
913
991
  "dependencies": {
914
- "react-resizable-panels": "^2.0.0",
992
+ "react-resizable-panels": "^4.0.0",
915
993
  "lucide-react": "^0.460.0"
916
994
  },
917
995
  "updateStrategy": "frozen",
@@ -924,12 +1002,12 @@
924
1002
  "description": "排版组件 — Prose 富文本容器 + Title/Paragraph/Text/Link + antd type/strong/delete/disabled/code/ellipsis/copyable",
925
1003
  "files": [
926
1004
  {
927
- "source": "src/components/typography/typography.tsx",
1005
+ "source": "src/components/typography/index.tsx",
928
1006
  "targetAlias": "components",
929
1007
  "targetName": "typography.tsx"
930
1008
  }
931
1009
  ],
932
- "meta": "src/components/typography/typography.meta.md",
1010
+ "meta": "src/components/typography/meta.md",
933
1011
  "registryDependencies": ["cn"],
934
1012
  "dependencies": {
935
1013
  "lucide-react": "^0.460.0"
@@ -944,12 +1022,12 @@
944
1022
  "description": "数字展示 — antd 独有补足。仪表板 KPI(标题 / 值 / 前后缀 / 趋势 / 千分位 / 精度)",
945
1023
  "files": [
946
1024
  {
947
- "source": "src/components/statistic/statistic.tsx",
1025
+ "source": "src/components/statistic/index.tsx",
948
1026
  "targetAlias": "components",
949
1027
  "targetName": "statistic.tsx"
950
1028
  }
951
1029
  ],
952
- "meta": "src/components/statistic/statistic.meta.md",
1030
+ "meta": "src/components/statistic/meta.md",
953
1031
  "registryDependencies": ["cn"],
954
1032
  "dependencies": {
955
1033
  "lucide-react": "^0.460.0"
@@ -964,12 +1042,12 @@
964
1042
  "description": "步骤条 — antd 独有补足。多步流程引导(注册 / 下单 / 部署),状态自动推导(wait/process/finish/error)",
965
1043
  "files": [
966
1044
  {
967
- "source": "src/components/steps/steps.tsx",
1045
+ "source": "src/components/steps/index.tsx",
968
1046
  "targetAlias": "components",
969
1047
  "targetName": "steps.tsx"
970
1048
  }
971
1049
  ],
972
- "meta": "src/components/steps/steps.meta.md",
1050
+ "meta": "src/components/steps/meta.md",
973
1051
  "registryDependencies": ["cn"],
974
1052
  "dependencies": {
975
1053
  "lucide-react": "^0.460.0"
@@ -977,41 +1055,22 @@
977
1055
  "updateStrategy": "frozen",
978
1056
  "category": "navigation"
979
1057
  },
980
- {
981
- "id": "result",
982
- "name": "Result",
983
- "type": "component",
984
- "description": "结果页 — antd 独有补足。整页级反馈(成功 / 失败 / 404 / 403 / 500)",
985
- "files": [
986
- {
987
- "source": "src/components/result/result.tsx",
988
- "targetAlias": "components",
989
- "targetName": "result.tsx"
990
- }
991
- ],
992
- "meta": "src/components/result/result.meta.md",
993
- "registryDependencies": ["cn"],
994
- "dependencies": {
995
- "lucide-react": "^0.460.0"
996
- },
997
- "updateStrategy": "frozen",
998
- "category": "feedback"
999
- },
1000
1058
  {
1001
1059
  "id": "empty",
1002
1060
  "name": "Empty",
1003
1061
  "type": "component",
1004
- "description": "空状态 — antd 独有补足。列表 / 表格 / 搜索结果为空时的占位 + 引导操作",
1062
+ "description": "空状态 / 结果页 复合组件 + status 预设(403/404/500/noData/noSearch/noNetwork/browserError/createSuccess/createError/import/success/error/info/warning),覆盖容器内空态与页面级异常,支持 vertical/horizontal 布局",
1005
1063
  "files": [
1006
1064
  {
1007
- "source": "src/components/empty/empty.tsx",
1065
+ "source": "src/components/empty/index.tsx",
1008
1066
  "targetAlias": "components",
1009
1067
  "targetName": "empty.tsx"
1010
1068
  }
1011
1069
  ],
1012
- "meta": "src/components/empty/empty.meta.md",
1070
+ "meta": "src/components/empty/meta.md",
1013
1071
  "registryDependencies": ["cn"],
1014
1072
  "dependencies": {
1073
+ "class-variance-authority": "^0.7.0",
1015
1074
  "lucide-react": "^0.460.0"
1016
1075
  },
1017
1076
  "updateStrategy": "frozen",
@@ -1021,16 +1080,21 @@
1021
1080
  "id": "descriptions",
1022
1081
  "name": "Descriptions",
1023
1082
  "type": "component",
1024
- "description": "描述列表 — antd 独有补足。键值对详情(items 数组驱动,横/纵布局,bordered,span 跨列)",
1083
+ "description": "描述列表 — shadcn v4 纯 composable slot。Descriptions 根、DescriptionsHeader/Title/Extra、DescriptionsBody、DescriptionsItem/Label/Content 全量 data-slot 子组件,不提供 items / dataSource / dataIndex / render / hidden / tooltip / extra 等 data-driven 快捷 prop——label 与 content 都是 ReactNode 槽位,label 需要 tooltip 图标请在 `<DescriptionsLabel>` 子树内拼 `<Tooltip>`。能力保留:响应式 column(number | { xs/sm/md/lg/xl/2xl })、layout(horizontal/vertical)、bordered 矩阵(gap-px + bg-border 避免与 header 叠边)、size(sm/default)、colon(默认 false)、labelWidth、labelStyle/contentStyle、item.span(兼容 colSpan) + align、collapsible(受控/非受控) + asChild。不内置请求 / 行内编辑能力。",
1025
1084
  "files": [
1026
1085
  {
1027
- "source": "src/components/descriptions/descriptions.tsx",
1086
+ "source": "src/components/descriptions/index.tsx",
1028
1087
  "targetAlias": "components",
1029
1088
  "targetName": "descriptions.tsx"
1030
1089
  }
1031
1090
  ],
1032
- "meta": "src/components/descriptions/descriptions.meta.md",
1033
- "registryDependencies": ["cn"],
1091
+ "meta": "src/components/descriptions/meta.md",
1092
+ "registryDependencies": ["cn", "tooltip"],
1093
+ "dependencies": {
1094
+ "radix-ui": "^1.4.3",
1095
+ "class-variance-authority": "^0.7.0",
1096
+ "lucide-react": "^0.460.0"
1097
+ },
1034
1098
  "updateStrategy": "frozen",
1035
1099
  "category": "data-display"
1036
1100
  },
@@ -1038,17 +1102,18 @@
1038
1102
  "id": "tag",
1039
1103
  "name": "Tag",
1040
1104
  "type": "component",
1041
- "description": "标签 — antd cloud-design 并集。形态(solid/outline/ghost) × 语义色(ADR 0021,5 档) × 多彩分类(9 预设 + 任意 CSS 值) × size × icon × closable,以及 CheckableTag/Group( Badge 互补)",
1105
+ "description": "标签 — shadcn v4 工程模式 + antd v6 / cloud-design 能力并集。Tag(形态 solid/outline/ghost/status × 语义色 ADR 0021 5 档 × 多彩 palette 9 预设 + 任意 CSS × size × icon × asChild × disabled × 关闭路径:closable boolean|object + closeIcon + closeArea + visible/defaultVisible 受控可见性 + onClose 可 preventDefault + afterClose) + TagGroup(wrap/gap)+ CheckableTag + CheckableTagGroup(multiple 多选/单选)",
1042
1106
  "files": [
1043
1107
  {
1044
- "source": "src/components/tag/tag.tsx",
1108
+ "source": "src/components/tag/index.tsx",
1045
1109
  "targetAlias": "components",
1046
1110
  "targetName": "tag.tsx"
1047
1111
  }
1048
1112
  ],
1049
- "meta": "src/components/tag/tag.meta.md",
1050
- "registryDependencies": ["cn"],
1113
+ "meta": "src/components/tag/meta.md",
1114
+ "registryDependencies": ["cn", "icon"],
1051
1115
  "dependencies": {
1116
+ "radix-ui": "^1.4.3",
1052
1117
  "class-variance-authority": "^0.7.0",
1053
1118
  "lucide-react": "^0.460.0"
1054
1119
  },
@@ -1059,15 +1124,15 @@
1059
1124
  "id": "upload",
1060
1125
  "name": "Upload",
1061
1126
  "type": "component",
1062
- "description": "文件上传 — antd 独有补足。点击 + 拖拽双模式(Dragger),内置 accept / multiple / maxCount / maxSize 校验、文件列表与进度条;真实上传由消费方在 onChange 中发起",
1127
+ "description": "文件上传 — shadcn v4 工程模式。Upload(按钮触发) + UploadDragger(拖拽触发) 双导出,共享上传状态机;listType 支持 text / image,内置 accept / multiple / maxCount / maxSize / beforeUpload / onPreview / itemRender 等业界主流 props,真实上传通过回调式 customRequest({ file, onProgress, onSuccess, onError }) => { abort } 接入,支持进度、abort 与失败重试",
1063
1128
  "files": [
1064
1129
  {
1065
- "source": "src/components/upload/upload.tsx",
1130
+ "source": "src/components/upload/index.tsx",
1066
1131
  "targetAlias": "components",
1067
1132
  "targetName": "upload.tsx"
1068
1133
  }
1069
1134
  ],
1070
- "meta": "src/components/upload/upload.meta.md",
1135
+ "meta": "src/components/upload/meta.md",
1071
1136
  "registryDependencies": ["cn", "button", "progress"],
1072
1137
  "dependencies": {
1073
1138
  "lucide-react": "^0.460.0"
@@ -1082,12 +1147,12 @@
1082
1147
  "description": "树形控件 — antd 独有补足。递归层级展示(目录、组织、分类),可展开 / 可选 / 可勾选(父子级联 + 半选),受控与非受控并存",
1083
1148
  "files": [
1084
1149
  {
1085
- "source": "src/components/tree/tree.tsx",
1150
+ "source": "src/components/tree/index.tsx",
1086
1151
  "targetAlias": "components",
1087
1152
  "targetName": "tree.tsx"
1088
1153
  }
1089
1154
  ],
1090
- "meta": "src/components/tree/tree.meta.md",
1155
+ "meta": "src/components/tree/meta.md",
1091
1156
  "registryDependencies": ["cn", "checkbox"],
1092
1157
  "dependencies": {
1093
1158
  "lucide-react": "^0.460.0"
@@ -1099,17 +1164,18 @@
1099
1164
  "id": "transfer",
1100
1165
  "name": "Transfer",
1101
1166
  "type": "component",
1102
- "description": "穿梭框 — antd 独有补足。双侧勾选 + 移动的批量分配交互(权限分配 / 字段映射 / 收件人),受控 targetKeys 单一真值,内置全选 / 半选 / 可选搜索 / 禁用项跳过",
1167
+ "description": "穿梭框 — 双栏勾选 + 移动的批量分配交互(权限分配 / 字段映射 / 收件人)。对齐 antd v5 schema(key / title / description),内置 size 三档 / normal & simple 模式 / oneWay 单向 / 双侧搜索 / filterOption / 自定义 render / locale 文案 / 自定义按钮 operations,以及面板列表 children render-prop(可承接树穿梭 / 表格穿梭)",
1103
1168
  "files": [
1104
1169
  {
1105
- "source": "src/components/transfer/transfer.tsx",
1170
+ "source": "src/components/transfer/index.tsx",
1106
1171
  "targetAlias": "components",
1107
1172
  "targetName": "transfer.tsx"
1108
1173
  }
1109
1174
  ],
1110
- "meta": "src/components/transfer/transfer.meta.md",
1175
+ "meta": "src/components/transfer/meta.md",
1111
1176
  "registryDependencies": ["cn", "button", "checkbox", "input"],
1112
1177
  "dependencies": {
1178
+ "class-variance-authority": "^0.7.0",
1113
1179
  "lucide-react": "^0.460.0"
1114
1180
  },
1115
1181
  "updateStrategy": "frozen",
@@ -1119,59 +1185,38 @@
1119
1185
  "id": "spinner",
1120
1186
  "name": "Spinner",
1121
1187
  "type": "component",
1122
- "description": "加载指示器 — shadcn 2025-10 新增,等价 antd `Spin` 并集。核心 `Spinner` 是行内 / 局部旋转指示(4 档尺寸 + 4 档语义配色,自带 role=status sr-only 读屏文本);配套 `SpinnerOverlay` 实现包裹子元遮罩形态(可选 tip / blur)",
1188
+ "description": "加载指示器 — shadcn v4 composable 套件。原子 Spinner(4 档尺寸 + 4 档语义配色 + role=status + sr-only) + SpinnerTip(文案) + SpinnerOverlay(包裹遮罩 + tip + tipAlign + 100ms 防闪 + blur) + SpinnerFullscreen(全屏 Portal + Esc 关闭)",
1123
1189
  "files": [
1124
1190
  {
1125
- "source": "src/components/spinner/spinner.tsx",
1191
+ "source": "src/components/spinner/index.tsx",
1126
1192
  "targetAlias": "components",
1127
1193
  "targetName": "spinner.tsx"
1128
1194
  }
1129
1195
  ],
1130
- "meta": "src/components/spinner/spinner.meta.md",
1196
+ "meta": "src/components/spinner/meta.md",
1131
1197
  "registryDependencies": ["cn"],
1132
1198
  "dependencies": {
1133
1199
  "class-variance-authority": "^0.7.0",
1134
- "lucide-react": "^0.460.0"
1200
+ "lucide-react": "^0.460.0",
1201
+ "react-dom": ">=18"
1135
1202
  },
1136
1203
  "updateStrategy": "frozen",
1137
1204
  "category": "feedback"
1138
1205
  },
1139
- {
1140
- "id": "icon",
1141
- "name": "Icon",
1142
- "type": "component",
1143
- "description": "图标容器 — 基于 lucide-react 的统一封装。5 档尺寸 + 6 档语义 color + spin/rotate + Slot + 背景容器(circle/square × 5 档 bgColor) + 装饰/非装饰无障碍。承接 cloud-design Icon 的 iconBackgroundType/Color 能力,iconfont 工厂 v0.2 接入但 API 已稳定",
1144
- "files": [
1145
- {
1146
- "source": "src/components/icon/icon.tsx",
1147
- "targetAlias": "components",
1148
- "targetName": "icon.tsx"
1149
- }
1150
- ],
1151
- "meta": "src/components/icon/icon.meta.md",
1152
- "registryDependencies": ["cn"],
1153
- "dependencies": {
1154
- "@radix-ui/react-slot": "^1.1.0",
1155
- "class-variance-authority": "^0.7.0",
1156
- "lucide-react": "^0.460.0"
1157
- },
1158
- "updateStrategy": "frozen",
1159
- "category": "general"
1160
- },
1161
1206
  {
1162
1207
  "id": "item",
1163
1208
  "name": "Item",
1164
1209
  "type": "component",
1165
- "description": "通用列表项 / 卡片项 — shadcn 2025-10 新增,取代旧 List.Item(antd v6 已废弃 List)。5 个语义槽:ItemMedia / ItemContent / ItemTitle / ItemDescription / ItemActions + ItemGroup 纵向排列",
1210
+ "description": "通用列表项 / 卡片项 — composable 架构,支持 vertical/horizontal 布局、bordered/divider 容器、separated actions 自动分隔。13 个语义槽:ItemGroup + ItemGroupHeader/Footer + Item + ItemMedia(icon/image/cover) + ItemContent + ItemTitle + ItemDescription + ItemExtra + ItemActions + ItemHeader/Footer + ItemSeparator",
1166
1211
  "files": [
1167
1212
  {
1168
- "source": "src/components/item/item.tsx",
1213
+ "source": "src/components/item/index.tsx",
1169
1214
  "targetAlias": "components",
1170
1215
  "targetName": "item.tsx"
1171
1216
  }
1172
1217
  ],
1173
- "meta": "src/components/item/item.meta.md",
1174
- "registryDependencies": ["cn"],
1218
+ "meta": "src/components/item/meta.md",
1219
+ "registryDependencies": ["cn", "separator"],
1175
1220
  "dependencies": {
1176
1221
  "class-variance-authority": "^0.7.0"
1177
1222
  },
@@ -1185,66 +1230,32 @@
1185
1230
  "description": "通用表单字段抽象 — shadcn 2025-10 新增。Field / FieldLabel / FieldDescription / FieldError / FieldGroup / FieldSet / FieldLegend 7 个语义槽,跟任何状态管理(Server Actions / RHF / TanStack Form)都能搭,与 form 共存",
1186
1231
  "files": [
1187
1232
  {
1188
- "source": "src/components/field/field.tsx",
1233
+ "source": "src/components/field/index.tsx",
1189
1234
  "targetAlias": "components",
1190
1235
  "targetName": "field.tsx"
1191
1236
  }
1192
1237
  ],
1193
- "meta": "src/components/field/field.meta.md",
1194
- "registryDependencies": ["cn", "label", "use-breakpoint"],
1238
+ "meta": "src/components/field/meta.md",
1239
+ "registryDependencies": ["cn", "label"],
1195
1240
  "dependencies": {
1196
1241
  "class-variance-authority": "^0.7.0"
1197
1242
  },
1198
1243
  "updateStrategy": "frozen",
1199
1244
  "category": "data-entry"
1200
1245
  },
1201
- {
1202
- "id": "flex",
1203
- "name": "Flex",
1204
- "type": "component",
1205
- "description": "Flex 弹性布局 — antd 独有补足。等价 antd `Flex`(v5.10+) ∪ antd `Space`——一个原子覆盖完整布局容器与 inline 小集合两类场景。支持 direction / gap / align / justify / wrap / inline / as / split",
1206
- "files": [
1207
- {
1208
- "source": "src/components/flex/flex.tsx",
1209
- "targetAlias": "components",
1210
- "targetName": "flex.tsx"
1211
- }
1212
- ],
1213
- "meta": "src/components/flex/flex.meta.md",
1214
- "registryDependencies": ["cn"],
1215
- "updateStrategy": "frozen",
1216
- "category": "layout"
1217
- },
1218
- {
1219
- "id": "grid",
1220
- "name": "Grid",
1221
- "type": "component",
1222
- "description": "24 栅格(Row + Col) — antd 独有补足。等价 antd Row + Col,基于 CSS Grid 的 24 列容器,支持 span / offset / order / flex / gutter / justify / align",
1223
- "files": [
1224
- {
1225
- "source": "src/components/grid/grid.tsx",
1226
- "targetAlias": "components",
1227
- "targetName": "grid.tsx"
1228
- }
1229
- ],
1230
- "meta": "src/components/grid/grid.meta.md",
1231
- "registryDependencies": ["cn"],
1232
- "updateStrategy": "frozen",
1233
- "category": "layout"
1234
- },
1235
1246
  {
1236
1247
  "id": "rate",
1237
1248
  "name": "Rate",
1238
1249
  "type": "component",
1239
- "description": "星级评分 — antd 独有补足。等价 antd `Rate`,支持半星 / 再次点击清零 / 自定义图标 / 只读展示",
1250
+ "description": "星级评分 — shadcn 风格 API,支持半星、键盘无障碍、自定义图标、只读 / 禁用区分",
1240
1251
  "files": [
1241
1252
  {
1242
- "source": "src/components/rate/rate.tsx",
1253
+ "source": "src/components/rate/index.tsx",
1243
1254
  "targetAlias": "components",
1244
1255
  "targetName": "rate.tsx"
1245
1256
  }
1246
1257
  ],
1247
- "meta": "src/components/rate/rate.meta.md",
1258
+ "meta": "src/components/rate/meta.md",
1248
1259
  "registryDependencies": ["cn"],
1249
1260
  "dependencies": {
1250
1261
  "lucide-react": "^0.460.0"
@@ -1256,15 +1267,15 @@
1256
1267
  "id": "timeline",
1257
1268
  "name": "Timeline",
1258
1269
  "type": "component",
1259
- "description": "时间轴 — antd 独有补足。等价 antd `Timeline`,垂直时间流(历史 / 物流 / 进度),3 种布局 + 5 种圆点色 + 自定义 dot + pending 进行中占位",
1270
+ "description": "时间轴 — 垂直时间流 (历史 / 物流 / 进度),composable 子组件 + 4 种状态语义色 (done/process/error/success) + 自定义 dot (asChild) + 左/右/交替布局",
1260
1271
  "files": [
1261
1272
  {
1262
- "source": "src/components/timeline/timeline.tsx",
1273
+ "source": "src/components/timeline/index.tsx",
1263
1274
  "targetAlias": "components",
1264
1275
  "targetName": "timeline.tsx"
1265
1276
  }
1266
1277
  ],
1267
- "meta": "src/components/timeline/timeline.meta.md",
1278
+ "meta": "src/components/timeline/meta.md",
1268
1279
  "registryDependencies": ["cn"],
1269
1280
  "updateStrategy": "frozen",
1270
1281
  "category": "data-display"
@@ -1273,15 +1284,15 @@
1273
1284
  "id": "popconfirm",
1274
1285
  "name": "Popconfirm",
1275
1286
  "type": "component",
1276
- "description": "轻量级确认弹层antd 独有补足。等价 antd `Popconfirm`,小风险操作二次确认,onConfirm 支持 Promise 自动 loading,与 AlertDialog 互补(更轻、不阻塞)",
1287
+ "description": "气泡确认shadcn v4 composable 套件(Popconfirm / PopconfirmRoot / Trigger / Content / Header / Icon / Title / Description / Footer / Cancel / Action / Arrow),另外保留单体便捷 props(title / description / intent / okText / cancelText / okButtonProps / cancelButtonProps / onConfirm / loading / showArrow)。onConfirm 返回 Promise 自动 loading + 完成后关闭;antd 独有补足,与 AlertDialog 互补(更轻、不阻塞)。",
1277
1288
  "files": [
1278
1289
  {
1279
- "source": "src/components/popconfirm/popconfirm.tsx",
1290
+ "source": "src/components/popconfirm/index.tsx",
1280
1291
  "targetAlias": "components",
1281
1292
  "targetName": "popconfirm.tsx"
1282
1293
  }
1283
1294
  ],
1284
- "meta": "src/components/popconfirm/popconfirm.meta.md",
1295
+ "meta": "src/components/popconfirm/meta.md",
1285
1296
  "registryDependencies": ["cn", "button", "popover"],
1286
1297
  "dependencies": {
1287
1298
  "lucide-react": "^0.460.0"
@@ -1293,15 +1304,15 @@
1293
1304
  "id": "input-number",
1294
1305
  "name": "InputNumber",
1295
1306
  "type": "component",
1296
- "description": "数字输入antd 独有补足。等价 antd `InputNumber`,步进按钮 + min/max 自动夹紧 + precision + 千分位展示 + 键盘 ↑↓ 步进 + null 空状态",
1307
+ "description": "数字输入框步进按钮 + min/max 夹紧 + precision 精度 + formatter/parser 双向格式化 + readOnly + changeOnBlur/changeOnWheel/keyboard 输入流控制 + onPressEnter + null 空状态。default/inline 两种 variant。",
1297
1308
  "files": [
1298
1309
  {
1299
- "source": "src/components/input-number/input-number.tsx",
1310
+ "source": "src/components/input-number/index.tsx",
1300
1311
  "targetAlias": "components",
1301
1312
  "targetName": "input-number.tsx"
1302
1313
  }
1303
1314
  ],
1304
- "meta": "src/components/input-number/input-number.meta.md",
1315
+ "meta": "src/components/input-number/meta.md",
1305
1316
  "registryDependencies": ["cn"],
1306
1317
  "dependencies": {
1307
1318
  "lucide-react": "^0.460.0"
@@ -1310,56 +1321,38 @@
1310
1321
  "category": "data-entry"
1311
1322
  },
1312
1323
  {
1313
- "id": "time-picker",
1314
- "name": "TimePicker",
1324
+ "id": "input-ip",
1325
+ "name": "InputIP",
1315
1326
  "type": "component",
1316
- "description": "时间选择Popover + 滚动列(TimeColumn)面板,含 TimePicker / TimeRangePicker / TimePickerPanel(对齐 antd TimePicker / TimePicker.RangePicker)",
1327
+ "description": "IP 地址输入 分段式 IPv4 地址输入框,自动跳段 + 范围校验(0-255) + 粘贴解析 + 可选 CIDR 前缀选择",
1317
1328
  "files": [
1318
1329
  {
1319
- "source": "src/components/time-picker/time-picker.tsx",
1330
+ "source": "src/components/input-ip/index.tsx",
1320
1331
  "targetAlias": "components",
1321
- "targetName": "time-picker.tsx"
1332
+ "targetName": "input-ip.tsx"
1322
1333
  }
1323
1334
  ],
1324
- "meta": "src/components/time-picker/time-picker.meta.md",
1325
- "registryDependencies": ["cn", "popover", "button"],
1335
+ "registryDependencies": ["cn"],
1326
1336
  "dependencies": {
1327
- "lucide-react": "^0.460.0"
1337
+ "class-variance-authority": "^0.7.0"
1328
1338
  },
1329
1339
  "updateStrategy": "frozen",
1330
1340
  "category": "data-entry"
1331
1341
  },
1332
1342
  {
1333
- "id": "auto-complete",
1334
- "name": "AutoComplete",
1335
- "type": "component",
1336
- "description": "输入即建议 — antd 独有补足。等价 antd `AutoComplete`,键入触发候选下拉,最终 value 可以是任意字符串(与 Combobox 必选互补),配 onSearch 实现异步建议",
1337
- "files": [
1338
- {
1339
- "source": "src/components/auto-complete/auto-complete.tsx",
1340
- "targetAlias": "components",
1341
- "targetName": "auto-complete.tsx"
1342
- }
1343
- ],
1344
- "meta": "src/components/auto-complete/auto-complete.meta.md",
1345
- "registryDependencies": ["cn", "input", "popover", "command"],
1346
- "updateStrategy": "frozen",
1347
- "category": "data-entry"
1348
- },
1349
- {
1350
- "id": "cascader",
1351
- "name": "Cascader",
1343
+ "id": "time-picker",
1344
+ "name": "TimePicker",
1352
1345
  "type": "component",
1353
- "description": "级联选择antd 独有补足。等价 antd `Cascader`,多级联动(地区 / 分类 / 文件夹路径),多列面板,叶子触发 onChange(可改 changeOnSelect 为每级触发)",
1346
+ "description": "时间选择Popover + 滚动列(TimeColumn)面板,含 TimePicker / TimeRangePicker / TimePickerPanel(对齐 antd TimePicker / TimePicker.RangePicker)",
1354
1347
  "files": [
1355
1348
  {
1356
- "source": "src/components/cascader/cascader.tsx",
1349
+ "source": "src/components/time-picker/index.tsx",
1357
1350
  "targetAlias": "components",
1358
- "targetName": "cascader.tsx"
1351
+ "targetName": "time-picker.tsx"
1359
1352
  }
1360
1353
  ],
1361
- "meta": "src/components/cascader/cascader.meta.md",
1362
- "registryDependencies": ["cn", "button", "popover"],
1354
+ "meta": "src/components/time-picker/meta.md",
1355
+ "registryDependencies": ["cn", "popover", "button"],
1363
1356
  "dependencies": {
1364
1357
  "lucide-react": "^0.460.0"
1365
1358
  },
@@ -1370,43 +1363,23 @@
1370
1363
  "id": "tree-select",
1371
1364
  "name": "TreeSelect",
1372
1365
  "type": "component",
1373
- "description": "树形下拉antd 独有补足。等价 antd `TreeSelect`,Tree 嵌入 Popover 提供单选 / 多选(父子级联勾选)两种模式,组织架构 / 分类树形选择常用",
1366
+ "description": "树形下拉选择树形结构数据的下拉选择,支持单选、多选(父子联动 / 独立)、搜索与受控开合,基于 Popover + 内嵌 Tree 渲染",
1374
1367
  "files": [
1375
1368
  {
1376
- "source": "src/components/tree-select/tree-select.tsx",
1369
+ "source": "src/components/tree-select/index.tsx",
1377
1370
  "targetAlias": "components",
1378
1371
  "targetName": "tree-select.tsx"
1379
1372
  }
1380
1373
  ],
1381
- "meta": "src/components/tree-select/tree-select.meta.md",
1382
- "registryDependencies": ["cn", "button", "popover", "tree"],
1374
+ "meta": "src/components/tree-select/meta.md",
1375
+ "registryDependencies": ["cn", "popover", "checkbox"],
1383
1376
  "dependencies": {
1384
- "lucide-react": "^0.460.0"
1377
+ "lucide-react": "^0.460.0",
1378
+ "class-variance-authority": "^0.7.1"
1385
1379
  },
1386
1380
  "updateStrategy": "frozen",
1387
1381
  "category": "data-entry"
1388
1382
  },
1389
- {
1390
- "id": "notification",
1391
- "name": "notification",
1392
- "type": "component",
1393
- "description": "卡片式通知 — antd 独有补足。等价 antd `Notification`,基于 sonner toast.custom 二次封装,提供 title + description + 状态图标卡片化 API,与 toast(message)互补,共用 Toaster 容器",
1394
- "files": [
1395
- {
1396
- "source": "src/components/notification/notification.tsx",
1397
- "targetAlias": "components",
1398
- "targetName": "notification.tsx"
1399
- }
1400
- ],
1401
- "meta": "src/components/notification/notification.meta.md",
1402
- "registryDependencies": ["cn", "sonner"],
1403
- "dependencies": {
1404
- "sonner": "^1.5.0",
1405
- "lucide-react": "^0.460.0"
1406
- },
1407
- "updateStrategy": "frozen",
1408
- "category": "feedback"
1409
- },
1410
1383
  {
1411
1384
  "id": "affix",
1412
1385
  "name": "Affix",
@@ -1414,30 +1387,35 @@
1414
1387
  "description": "滚动吸顶 / 吸底 — antd 独有补足。等价 antd `Affix`,滚出指定偏移时切为 position: fixed,保留原占位避免页面跳动,基于 scroll + getBoundingClientRect",
1415
1388
  "files": [
1416
1389
  {
1417
- "source": "src/components/affix/affix.tsx",
1390
+ "source": "src/components/affix/index.tsx",
1418
1391
  "targetAlias": "components",
1419
1392
  "targetName": "affix.tsx"
1420
1393
  }
1421
1394
  ],
1422
- "meta": "src/components/affix/affix.meta.md",
1395
+ "meta": "src/components/affix/meta.md",
1423
1396
  "registryDependencies": ["cn"],
1424
1397
  "updateStrategy": "frozen",
1425
- "category": "navigation"
1398
+ "category": "layout"
1426
1399
  },
1427
1400
  {
1428
1401
  "id": "color-picker",
1429
1402
  "name": "ColorPicker",
1430
1403
  "type": "component",
1431
- "description": "颜色选择 — antd 独有补足。等价 antd `ColorPicker`(v5.5+),触发器色块 + Popover 面板(原生 color input + alpha 滑块 + hex 输入 + 预设色板),支持 8 位 hex(含透明度)",
1404
+ "description": "颜色选择 — 完整的颜色选取器(色相/饱和度/明度面板 + 色相/透明度滑条 + 格式切换 hex/rgb/hsb + 预设色板分组),支持受控/非受控、拖拽完成回调、自定义触发器",
1432
1405
  "files": [
1433
1406
  {
1434
- "source": "src/components/color-picker/color-picker.tsx",
1407
+ "source": "src/components/color-picker/index.tsx",
1435
1408
  "targetAlias": "components",
1436
1409
  "targetName": "color-picker.tsx"
1437
1410
  }
1438
1411
  ],
1439
- "meta": "src/components/color-picker/color-picker.meta.md",
1440
- "registryDependencies": ["cn", "input", "popover"],
1412
+ "meta": "src/components/color-picker/meta.md",
1413
+ "registryDependencies": ["cn", "popover", "collapsible"],
1414
+ "dependencies": {
1415
+ "react-colorful": "^5.6.1",
1416
+ "class-variance-authority": "^0.7.0",
1417
+ "lucide-react": "^0.460.0"
1418
+ },
1441
1419
  "updateStrategy": "frozen",
1442
1420
  "category": "data-entry"
1443
1421
  },
@@ -1448,60 +1426,15 @@
1448
1426
  "description": "水印 — antd 独有补足。等价 antd `Watermark`(v5.1+),容器内重复平铺的 SVG 文字 / 图片水印(内部敏感页面 / 文档预览 / demo 录屏)。仅前端视觉,不作安全防护",
1449
1427
  "files": [
1450
1428
  {
1451
- "source": "src/components/watermark/watermark.tsx",
1429
+ "source": "src/components/watermark/index.tsx",
1452
1430
  "targetAlias": "components",
1453
1431
  "targetName": "watermark.tsx"
1454
1432
  }
1455
1433
  ],
1456
- "meta": "src/components/watermark/watermark.meta.md",
1434
+ "meta": "src/components/watermark/meta.md",
1457
1435
  "registryDependencies": ["cn"],
1458
1436
  "updateStrategy": "frozen",
1459
- "category": "feedback"
1460
- },
1461
- {
1462
- "id": "ellipsis",
1463
- "name": "Ellipsis",
1464
- "type": "component",
1465
- "description": "单行/多行文本截断 + 渐变遮罩 + 溢出时自动 hover tooltip — 对齐《Teamix UI 表单设计规范》§八 '截断 + 渐变遮罩 + hover tooltip 三件套'",
1466
- "files": [
1467
- {
1468
- "source": "src/components/ellipsis/ellipsis.tsx",
1469
- "targetAlias": "components",
1470
- "targetName": "ellipsis.tsx"
1471
- }
1472
- ],
1473
- "meta": "src/components/ellipsis/ellipsis.meta.md",
1474
- "registryDependencies": ["cn", "tooltip"],
1475
- "updateStrategy": "frozen",
1476
- "category": "data-display"
1477
- },
1478
- {
1479
- "id": "use-debounce-callback",
1480
- "name": "useDebounceCallback",
1481
- "type": "hook",
1482
- "description": "防抖回调 hook — 返回一个防抖包装后的函数,在指定 delay 毫秒内连续调用只执行最后一次",
1483
- "files": [
1484
- {
1485
- "source": "src/hooks/use-debounce-callback.ts",
1486
- "targetAlias": "hooks",
1487
- "targetName": "use-debounce-callback.ts"
1488
- }
1489
- ],
1490
- "updateStrategy": "frozen"
1491
- },
1492
- {
1493
- "id": "use-breakpoint",
1494
- "name": "useBreakpoint",
1495
- "type": "hook",
1496
- "description": "响应式断点 hook + pickByBreakpoint 工具 — 5 档断点(432/672/944/1200/1600,对齐《Teamix UI 表单设计规范》§4.1),给 Field 响应式 orientation / FilterBarPanel 响应式列数共用",
1497
- "files": [
1498
- {
1499
- "source": "src/hooks/use-breakpoint.ts",
1500
- "targetAlias": "hooks",
1501
- "targetName": "use-breakpoint.ts"
1502
- }
1503
- ],
1504
- "updateStrategy": "frozen"
1437
+ "category": "layout"
1505
1438
  },
1506
1439
  {
1507
1440
  "id": "filter-bar",
@@ -1510,387 +1443,207 @@
1510
1443
  "description": "筛选栏 — 面向 Table/List 的筛选表单变体,支持行内实时筛选 + 可折叠高级面板栅格。混合式架构:复合子组件(FilterBar/FilterBarSearch/FilterBarTrigger/FilterBarPanel/FilterBarActions) + FilterBarPreset 开箱即用",
1511
1444
  "files": [
1512
1445
  {
1513
- "source": "src/components/filter-bar/filter-bar.tsx",
1446
+ "source": "src/components/filter-bar/index.tsx",
1514
1447
  "targetAlias": "components",
1515
1448
  "targetName": "filter-bar.tsx"
1516
1449
  }
1517
1450
  ],
1518
- "meta": "src/components/filter-bar/filter-bar.meta.md",
1519
- "registryDependencies": [
1520
- "cn",
1521
- "button",
1522
- "form",
1523
- "grid",
1524
- "collapsible",
1525
- "use-debounce-callback",
1526
- "use-breakpoint"
1527
- ],
1451
+ "meta": "src/components/filter-bar/meta.md",
1452
+ "registryDependencies": ["cn", "button", "form", "collapsible"],
1528
1453
  "dependencies": {
1529
1454
  "lucide-react": "^0.460.0",
1530
1455
  "class-variance-authority": "^0.7.0",
1531
- "@radix-ui/react-collapsible": "^1.1.0"
1456
+ "radix-ui": "^1.4.3"
1532
1457
  },
1533
1458
  "updateStrategy": "frozen",
1534
1459
  "category": "data-entry"
1535
- }
1536
- ],
1537
- "deprecatedEntries": [
1538
- {
1539
- "id": "aspect-ratio",
1540
- "name": "AspectRatio",
1541
- "type": "component",
1542
- "description": "容器保持宽高比 — Radix AspectRatio,无 layout shift",
1543
- "files": [
1544
- {
1545
- "source": "src/components/aspect-ratio/aspect-ratio.tsx",
1546
- "targetAlias": "components",
1547
- "targetName": "aspect-ratio.tsx"
1548
- }
1549
- ],
1550
- "meta": "src/components/aspect-ratio/aspect-ratio.meta.md",
1551
- "dependencies": {
1552
- "@radix-ui/react-aspect-ratio": "^1.1.0"
1553
- },
1554
- "updateStrategy": "frozen",
1555
- "category": "deprecated"
1556
1460
  },
1557
1461
  {
1558
- "id": "toggle",
1559
- "name": "Toggle",
1462
+ "id": "cascader-select",
1463
+ "name": "CascaderSelect",
1560
1464
  "type": "component",
1561
- "description": "二元状态按钮Radix Toggle 包装,工具栏图标级开关",
1465
+ "description": "级联选择多层级数据的逐级选择,适合省/市/区、分类目录等场景",
1562
1466
  "files": [
1563
1467
  {
1564
- "source": "src/components/toggle/toggle.tsx",
1468
+ "source": "src/components/cascader-select/index.tsx",
1565
1469
  "targetAlias": "components",
1566
- "targetName": "toggle.tsx"
1470
+ "targetName": "cascader-select.tsx"
1567
1471
  }
1568
1472
  ],
1569
- "meta": "src/components/toggle/toggle.meta.md",
1473
+ "meta": "src/components/cascader-select/meta.md",
1570
1474
  "registryDependencies": ["cn"],
1571
1475
  "dependencies": {
1572
- "@radix-ui/react-toggle": "^1.1.0",
1573
- "class-variance-authority": "^0.7.0"
1476
+ "lucide-react": "^0.460.0"
1574
1477
  },
1575
1478
  "updateStrategy": "frozen",
1576
- "category": "deprecated"
1479
+ "category": "data-entry"
1577
1480
  },
1578
1481
  {
1579
- "id": "toggle-group",
1580
- "name": "ToggleGroup",
1482
+ "id": "float-button",
1483
+ "name": "FloatButton",
1581
1484
  "type": "component",
1582
- "description": "切换按钮组Radix ToggleGroup,type=single|multiple,复用 Toggle variant/size",
1485
+ "description": "悬浮按钮固定在视口角落的操作按钮,用于回到顶部、客服入口、新建等高频操作",
1583
1486
  "files": [
1584
1487
  {
1585
- "source": "src/components/toggle-group/toggle-group.tsx",
1488
+ "source": "src/components/float-button/index.tsx",
1586
1489
  "targetAlias": "components",
1587
- "targetName": "toggle-group.tsx"
1490
+ "targetName": "float-button.tsx"
1588
1491
  }
1589
1492
  ],
1590
- "meta": "src/components/toggle-group/toggle-group.meta.md",
1591
- "registryDependencies": ["cn", "toggle"],
1493
+ "meta": "src/components/float-button/meta.md",
1494
+ "registryDependencies": ["cn"],
1592
1495
  "dependencies": {
1593
- "@radix-ui/react-toggle-group": "^1.1.0",
1496
+ "lucide-react": "^0.460.0",
1594
1497
  "class-variance-authority": "^0.7.0"
1595
1498
  },
1596
1499
  "updateStrategy": "frozen",
1597
- "status": "deprecated",
1598
- "deprecatedReason": "单选场景由 RadioGroup variant=\"button\" 替代;多选切换场景由 Checkbox variant=\"button\" 替代",
1599
- "replacedBy": "radio-group",
1600
- "category": "deprecated"
1500
+ "category": "general"
1601
1501
  },
1602
1502
  {
1603
- "id": "input-otp",
1604
- "name": "InputOTP",
1503
+ "id": "image",
1504
+ "name": "Image",
1605
1505
  "type": "component",
1606
- "description": "OTP 验证码输入 基于 input-otp,shadcn-only(短验证码场景:登录、二步验证、PIN)",
1506
+ "description": "图片带加载占位、错误兜底和点击预览的增强图片组件",
1607
1507
  "files": [
1608
1508
  {
1609
- "source": "src/components/input-otp/input-otp.tsx",
1509
+ "source": "src/components/image/index.tsx",
1610
1510
  "targetAlias": "components",
1611
- "targetName": "input-otp.tsx"
1511
+ "targetName": "image.tsx"
1612
1512
  }
1613
1513
  ],
1614
- "meta": "src/components/input-otp/input-otp.meta.md",
1615
- "registryDependencies": ["cn"],
1514
+ "meta": "src/components/image/meta.md",
1515
+ "registryDependencies": ["cn", "skeleton", "dialog"],
1616
1516
  "dependencies": {
1617
- "input-otp": "^1.2.0",
1618
1517
  "lucide-react": "^0.460.0"
1619
1518
  },
1620
1519
  "updateStrategy": "frozen",
1621
- "category": "deprecated"
1520
+ "category": "data-display"
1622
1521
  },
1623
1522
  {
1624
- "id": "context-menu",
1625
- "name": "ContextMenu",
1523
+ "id": "mentions",
1524
+ "name": "Mentions",
1626
1525
  "type": "component",
1627
- "description": "右键菜单Radix ContextMenu(与 DropdownMenu 形态一致,触发为右键)",
1526
+ "description": "提及在文本输入中通过特定前缀触发候选列表,选中后将提及插入文本",
1628
1527
  "files": [
1629
1528
  {
1630
- "source": "src/components/context-menu/context-menu.tsx",
1529
+ "source": "src/components/mentions/index.tsx",
1631
1530
  "targetAlias": "components",
1632
- "targetName": "context-menu.tsx"
1531
+ "targetName": "mentions.tsx"
1633
1532
  }
1634
1533
  ],
1635
- "meta": "src/components/context-menu/context-menu.meta.md",
1636
- "registryDependencies": ["cn"],
1534
+ "meta": "src/components/mentions/meta.md",
1535
+ "registryDependencies": ["cn", "textarea"],
1637
1536
  "dependencies": {
1638
- "@radix-ui/react-context-menu": "^2.2.0",
1639
1537
  "lucide-react": "^0.460.0"
1640
1538
  },
1641
1539
  "updateStrategy": "frozen",
1642
- "category": "deprecated"
1540
+ "category": "data-entry"
1643
1541
  },
1644
1542
  {
1645
1543
  "id": "menubar",
1646
1544
  "name": "Menubar",
1647
1545
  "type": "component",
1648
- "description": "应用顶部菜单栏 — Radix Menubar(macOS 风格:文件/编辑/视图/帮助)",
1546
+ "description": "菜单栏水平菜单栏,支持子菜单、快捷键、复选和单选项,基于 Radix Menubar 原语",
1649
1547
  "files": [
1650
1548
  {
1651
- "source": "src/components/menubar/menubar.tsx",
1549
+ "source": "src/components/menubar/index.tsx",
1652
1550
  "targetAlias": "components",
1653
1551
  "targetName": "menubar.tsx"
1654
1552
  }
1655
1553
  ],
1656
- "meta": "src/components/menubar/menubar.meta.md",
1554
+ "meta": "src/components/menubar/meta.md",
1657
1555
  "registryDependencies": ["cn"],
1658
1556
  "dependencies": {
1659
- "@radix-ui/react-menubar": "^1.1.0",
1557
+ "radix-ui": "^1.4.3",
1660
1558
  "lucide-react": "^0.460.0"
1661
1559
  },
1662
1560
  "updateStrategy": "frozen",
1663
- "category": "deprecated"
1561
+ "category": "navigation"
1664
1562
  },
1665
1563
  {
1666
1564
  "id": "navigation-menu",
1667
1565
  "name": "NavigationMenu",
1668
1566
  "type": "component",
1669
- "description": "网站主导航 — Radix NavigationMenu(支持富 Content 面板)",
1567
+ "description": "导航菜单水平导航栏,支持嵌套菜单、多列布局和快捷链接展示,基于 Radix NavigationMenu 原语",
1670
1568
  "files": [
1671
1569
  {
1672
- "source": "src/components/navigation-menu/navigation-menu.tsx",
1570
+ "source": "src/components/navigation-menu/index.tsx",
1673
1571
  "targetAlias": "components",
1674
1572
  "targetName": "navigation-menu.tsx"
1675
1573
  }
1676
1574
  ],
1677
- "meta": "src/components/navigation-menu/navigation-menu.meta.md",
1575
+ "meta": "src/components/navigation-menu/meta.md",
1678
1576
  "registryDependencies": ["cn"],
1679
1577
  "dependencies": {
1680
- "@radix-ui/react-navigation-menu": "^1.2.0",
1578
+ "radix-ui": "^1.4.3",
1681
1579
  "class-variance-authority": "^0.7.0",
1682
1580
  "lucide-react": "^0.460.0"
1683
1581
  },
1684
1582
  "updateStrategy": "frozen",
1685
- "category": "deprecated"
1583
+ "category": "navigation"
1686
1584
  },
1687
1585
  {
1688
1586
  "id": "scroll-area",
1689
1587
  "name": "ScrollArea",
1690
1588
  "type": "component",
1691
- "description": "自定义滚动容器 — Radix ScrollArea(跨浏览器一致的滚动条,触屏友好,自动隐藏 thumb)",
1589
+ "description": "滚动区域自定义滚动条的滚动容器,基于 Radix ScrollArea 原语",
1692
1590
  "files": [
1693
1591
  {
1694
- "source": "src/components/scroll-area/scroll-area.tsx",
1592
+ "source": "src/components/scroll-area/index.tsx",
1695
1593
  "targetAlias": "components",
1696
1594
  "targetName": "scroll-area.tsx"
1697
1595
  }
1698
1596
  ],
1699
- "meta": "src/components/scroll-area/scroll-area.meta.md",
1597
+ "meta": "src/components/scroll-area/meta.md",
1700
1598
  "registryDependencies": ["cn"],
1701
1599
  "dependencies": {
1702
- "@radix-ui/react-scroll-area": "^1.2.0"
1703
- },
1704
- "updateStrategy": "frozen",
1705
- "category": "deprecated"
1706
- },
1707
- {
1708
- "id": "image",
1709
- "name": "Image",
1710
- "type": "component",
1711
- "description": "图片 — antd 独有补足。自动加载占位 + 失败占位 + 点击预览(Dialog 模态原图)",
1712
- "files": [
1713
- {
1714
- "source": "src/components/image/image.tsx",
1715
- "targetAlias": "components",
1716
- "targetName": "image.tsx"
1717
- }
1718
- ],
1719
- "meta": "src/components/image/image.meta.md",
1720
- "registryDependencies": ["cn", "dialog", "skeleton"],
1721
- "dependencies": {
1722
- "lucide-react": "^0.460.0"
1600
+ "radix-ui": "^1.4.3"
1723
1601
  },
1724
1602
  "updateStrategy": "frozen",
1725
- "category": "deprecated"
1726
- },
1727
- {
1728
- "id": "mentions",
1729
- "name": "Mentions",
1730
- "type": "component",
1731
- "description": "@提及输入 — antd 独有补足。Textarea + @ 触发候选下拉(评论 @ 同事 / # 话题),键盘 ↑↓ 切换 + Enter/Tab 选中 + Esc 关闭,异步候选用 onSearch 刷新 options",
1732
- "files": [
1733
- {
1734
- "source": "src/components/mentions/mentions.tsx",
1735
- "targetAlias": "components",
1736
- "targetName": "mentions.tsx"
1737
- }
1738
- ],
1739
- "meta": "src/components/mentions/mentions.meta.md",
1740
- "registryDependencies": ["cn", "input"],
1741
- "updateStrategy": "frozen",
1742
- "category": "deprecated"
1603
+ "category": "layout"
1743
1604
  },
1744
1605
  {
1745
- "id": "kbd",
1746
- "name": "Kbd",
1606
+ "id": "toggle",
1607
+ "name": "Toggle",
1747
1608
  "type": "component",
1748
- "description": "键位展示shadcn 2025-10 新增。语义化 `<kbd>` 元素 + `KbdGroup` 组合容器,用于标注快捷键(⌘K / Ctrl + Enter)",
1609
+ "description": "切换按钮可切换开关状态的按钮,支持多种变体和尺寸,基于 Radix Toggle 原语",
1749
1610
  "files": [
1750
1611
  {
1751
- "source": "src/components/kbd/kbd.tsx",
1612
+ "source": "src/components/toggle/index.tsx",
1752
1613
  "targetAlias": "components",
1753
- "targetName": "kbd.tsx"
1614
+ "targetName": "toggle.tsx"
1754
1615
  }
1755
1616
  ],
1756
- "meta": "src/components/kbd/kbd.meta.md",
1617
+ "meta": "src/components/toggle/meta.md",
1757
1618
  "registryDependencies": ["cn"],
1758
1619
  "dependencies": {
1620
+ "radix-ui": "^1.4.3",
1759
1621
  "class-variance-authority": "^0.7.0"
1760
1622
  },
1761
1623
  "updateStrategy": "frozen",
1762
- "category": "deprecated"
1763
- },
1764
- {
1765
- "id": "native-select",
1766
- "name": "NativeSelect",
1767
- "type": "component",
1768
- "description": "原生 `<select>` 样式封装 — shadcn 2025-10 新增。零 JS 开销,移动端弹起系统 picker,直接参与 form submit。与 Radix Select 互补",
1769
- "files": [
1770
- {
1771
- "source": "src/components/native-select/native-select.tsx",
1772
- "targetAlias": "components",
1773
- "targetName": "native-select.tsx"
1774
- }
1775
- ],
1776
- "meta": "src/components/native-select/native-select.meta.md",
1777
- "registryDependencies": ["cn"],
1778
- "dependencies": {
1779
- "lucide-react": "^0.460.0"
1780
- },
1781
- "updateStrategy": "frozen",
1782
- "category": "deprecated"
1624
+ "category": "general"
1783
1625
  },
1784
1626
  {
1785
- "id": "segmented",
1786
- "name": "Segmented",
1627
+ "id": "toggle-group",
1628
+ "name": "ToggleGroup",
1787
1629
  "type": "component",
1788
- "description": "分段控制器antd 独有补足。等价 antd `Segmented`(v5.0+),iOS / macOS 风格紧凑互斥单选(视图切换 / 时间区间 / 主题档)",
1630
+ "description": "切换按钮组一组互斥或多选的切换按钮,基于 Radix ToggleGroup 原语,复用 toggle cva 变体",
1789
1631
  "files": [
1790
1632
  {
1791
- "source": "src/components/segmented/segmented.tsx",
1633
+ "source": "src/components/toggle-group/index.tsx",
1792
1634
  "targetAlias": "components",
1793
- "targetName": "segmented.tsx"
1635
+ "targetName": "toggle-group.tsx"
1794
1636
  }
1795
1637
  ],
1796
- "meta": "src/components/segmented/segmented.meta.md",
1797
- "registryDependencies": ["cn"],
1638
+ "meta": "src/components/toggle-group/meta.md",
1639
+ "registryDependencies": ["cn", "toggle"],
1798
1640
  "dependencies": {
1641
+ "radix-ui": "^1.4.3",
1799
1642
  "class-variance-authority": "^0.7.0"
1800
1643
  },
1801
1644
  "updateStrategy": "frozen",
1802
- "category": "deprecated"
1803
- },
1804
- {
1805
- "id": "app",
1806
- "name": "App",
1807
- "type": "component",
1808
- "description": "应用根容器 — antd 独有补足。对标 antd `App`,挂全局 Toaster + 设置 dir / lang + 根级 className 承载;不接管主题(主题靠 design tokens),不收敛 useApp() hook",
1809
- "files": [
1810
- {
1811
- "source": "src/components/app/app.tsx",
1812
- "targetAlias": "components",
1813
- "targetName": "app.tsx"
1814
- }
1815
- ],
1816
- "meta": "src/components/app/app.meta.md",
1817
- "registryDependencies": ["cn", "sonner"],
1818
- "updateStrategy": "frozen",
1819
- "category": "deprecated"
1820
- },
1821
- {
1822
- "id": "anchor",
1823
- "name": "Anchor",
1824
- "type": "component",
1825
- "description": "锚点导航 — antd 独有补足。等价 antd `Anchor`,长文档 / 详情页侧边目录,点击滚动到 id 节点,滚动时 IntersectionObserver 自动高亮,支持嵌套两层缩进",
1826
- "files": [
1827
- {
1828
- "source": "src/components/anchor/anchor.tsx",
1829
- "targetAlias": "components",
1830
- "targetName": "anchor.tsx"
1831
- }
1832
- ],
1833
- "meta": "src/components/anchor/anchor.meta.md",
1834
- "registryDependencies": ["cn"],
1835
- "updateStrategy": "frozen",
1836
- "category": "deprecated"
1837
- },
1838
- {
1839
- "id": "float-button",
1840
- "name": "FloatButton",
1841
- "type": "component",
1842
- "description": "悬浮按钮 — antd 独有补足。等价 antd `FloatButton`(v5.0,替代旧 BackTop)。固定右下角强主张操作,配 FloatButtonGroup 堆叠多个,FloatButtonBackTop 预置回到顶部",
1843
- "files": [
1844
- {
1845
- "source": "src/components/float-button/float-button.tsx",
1846
- "targetAlias": "components",
1847
- "targetName": "float-button.tsx"
1848
- }
1849
- ],
1850
- "meta": "src/components/float-button/float-button.meta.md",
1851
- "registryDependencies": ["cn"],
1852
- "dependencies": {
1853
- "lucide-react": "^0.460.0"
1854
- },
1855
- "updateStrategy": "frozen",
1856
- "category": "deprecated"
1857
- },
1858
- {
1859
- "id": "tour",
1860
- "name": "Tour",
1861
- "type": "component",
1862
- "description": "新手引导 — antd 独有补足。等价 antd `Tour`(v5.0+),多步骤 spotlight + 卡片 + 步进按钮 + 可关闭,业务侧自管首次访问标记",
1863
- "files": [
1864
- {
1865
- "source": "src/components/tour/tour.tsx",
1866
- "targetAlias": "components",
1867
- "targetName": "tour.tsx"
1868
- }
1869
- ],
1870
- "meta": "src/components/tour/tour.meta.md",
1871
- "registryDependencies": ["cn", "button"],
1872
- "dependencies": {
1873
- "lucide-react": "^0.460.0"
1874
- },
1875
- "updateStrategy": "frozen",
1876
- "category": "deprecated"
1877
- },
1878
- {
1879
- "id": "masonry",
1880
- "name": "Masonry",
1881
- "type": "component",
1882
- "description": "瀑布流 — antd 独有补足。等价 antd `Masonry`(v6.0 新),CSS column-count + break-inside: avoid 的 0 JS 实现,SSR 友好(图片墙 / 资讯卡片 / Dashboard 卡片墙)",
1883
- "files": [
1884
- {
1885
- "source": "src/components/masonry/masonry.tsx",
1886
- "targetAlias": "components",
1887
- "targetName": "masonry.tsx"
1888
- }
1889
- ],
1890
- "meta": "src/components/masonry/masonry.meta.md",
1891
- "registryDependencies": ["cn"],
1892
- "updateStrategy": "frozen",
1893
- "category": "deprecated"
1645
+ "category": "general"
1894
1646
  }
1895
- ]
1647
+ ],
1648
+ "deprecatedEntries": []
1896
1649
  }