@teamix-evo/ui 0.3.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 (520) hide show
  1. package/README.md +46 -50
  2. package/manifest.json +420 -647
  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 -462
  273. package/src/components/button/demo/as-child.tsx +0 -24
  274. package/src/components/button/demo/basic.tsx +0 -8
  275. package/src/components/button/demo/block.tsx +0 -16
  276. package/src/components/button/demo/loading.tsx +0 -19
  277. package/src/components/button/demo/shapes.tsx +0 -18
  278. package/src/components/button/demo/sizes.tsx +0 -19
  279. package/src/components/button/demo/variants.tsx +0 -19
  280. package/src/components/button/demo/with-icon.tsx +0 -20
  281. package/src/components/calendar/calendar.meta.md +0 -128
  282. package/src/components/calendar/calendar.stories.tsx +0 -68
  283. package/src/components/calendar/calendar.tsx +0 -172
  284. package/src/components/card/card.meta.md +0 -139
  285. package/src/components/card/card.stories.tsx +0 -151
  286. package/src/components/card/card.tsx +0 -305
  287. package/src/components/carousel/carousel.meta.md +0 -118
  288. package/src/components/carousel/carousel.stories.tsx +0 -89
  289. package/src/components/carousel/carousel.tsx +0 -224
  290. package/src/components/cascader/cascader.meta.md +0 -140
  291. package/src/components/cascader/cascader.stories.tsx +0 -120
  292. package/src/components/cascader/cascader.tsx +0 -541
  293. package/src/components/checkbox/checkbox.meta.md +0 -167
  294. package/src/components/checkbox/checkbox.stories.tsx +0 -288
  295. package/src/components/checkbox/checkbox.tsx +0 -193
  296. package/src/components/collapsible/collapsible.meta.md +0 -88
  297. package/src/components/collapsible/collapsible.stories.tsx +0 -43
  298. package/src/components/collapsible/collapsible.tsx +0 -105
  299. package/src/components/color-picker/color-picker.meta.md +0 -89
  300. package/src/components/color-picker/color-picker.stories.tsx +0 -159
  301. package/src/components/color-picker/color-picker.tsx +0 -171
  302. package/src/components/command/command.meta.md +0 -120
  303. package/src/components/command/command.stories.tsx +0 -59
  304. package/src/components/command/command.tsx +0 -158
  305. package/src/components/context-menu/context-menu.meta.md +0 -93
  306. package/src/components/context-menu/context-menu.stories.tsx +0 -54
  307. package/src/components/context-menu/context-menu.tsx +0 -204
  308. package/src/components/data-table/data-table.meta.md +0 -150
  309. package/src/components/data-table/data-table.stories.tsx +0 -132
  310. package/src/components/data-table/data-table.tsx +0 -185
  311. package/src/components/date-picker/date-picker.meta.md +0 -175
  312. package/src/components/date-picker/date-picker.stories.tsx +0 -108
  313. package/src/components/date-picker/date-picker.tsx +0 -1554
  314. package/src/components/descriptions/descriptions.meta.md +0 -83
  315. package/src/components/descriptions/descriptions.stories.tsx +0 -60
  316. package/src/components/descriptions/descriptions.tsx +0 -137
  317. package/src/components/dialog/dialog.meta.md +0 -168
  318. package/src/components/dialog/dialog.stories.tsx +0 -255
  319. package/src/components/dialog/dialog.tsx +0 -180
  320. package/src/components/dialog/imperative.tsx +0 -252
  321. package/src/components/drawer/drawer.meta.md +0 -95
  322. package/src/components/drawer/drawer.stories.tsx +0 -71
  323. package/src/components/drawer/drawer.tsx +0 -23
  324. package/src/components/dropdown-menu/dropdown-menu.meta.md +0 -171
  325. package/src/components/dropdown-menu/dropdown-menu.stories.tsx +0 -198
  326. package/src/components/dropdown-menu/dropdown-menu.tsx +0 -209
  327. package/src/components/ellipsis/ellipsis.meta.md +0 -87
  328. package/src/components/ellipsis/ellipsis.stories.tsx +0 -72
  329. package/src/components/ellipsis/ellipsis.tsx +0 -153
  330. package/src/components/empty/empty.meta.md +0 -86
  331. package/src/components/empty/empty.stories.tsx +0 -46
  332. package/src/components/empty/empty.tsx +0 -54
  333. package/src/components/field/field.meta.md +0 -154
  334. package/src/components/field/field.stories.tsx +0 -497
  335. package/src/components/field/field.tsx +0 -392
  336. package/src/components/filter-bar/filter-bar.meta.md +0 -92
  337. package/src/components/filter-bar/filter-bar.stories.tsx +0 -1083
  338. package/src/components/filter-bar/filter-bar.tsx +0 -568
  339. package/src/components/flex/flex.meta.md +0 -142
  340. package/src/components/flex/flex.stories.tsx +0 -199
  341. package/src/components/flex/flex.tsx +0 -145
  342. package/src/components/float-button/float-button.meta.md +0 -92
  343. package/src/components/float-button/float-button.stories.tsx +0 -80
  344. package/src/components/float-button/float-button.tsx +0 -143
  345. package/src/components/form/form.meta.md +0 -153
  346. package/src/components/form/form.stories.tsx +0 -469
  347. package/src/components/form/form.tsx +0 -260
  348. package/src/components/grid/grid.meta.md +0 -92
  349. package/src/components/grid/grid.stories.tsx +0 -101
  350. package/src/components/grid/grid.tsx +0 -130
  351. package/src/components/hover-card/hover-card.meta.md +0 -103
  352. package/src/components/hover-card/hover-card.stories.tsx +0 -97
  353. package/src/components/hover-card/hover-card.tsx +0 -67
  354. package/src/components/icon/DEVELOPMENT.md +0 -809
  355. package/src/components/icon/icon.meta.md +0 -170
  356. package/src/components/icon/icon.stories.tsx +0 -344
  357. package/src/components/icon/icon.tsx +0 -248
  358. package/src/components/image/image.meta.md +0 -99
  359. package/src/components/image/image.stories.tsx +0 -55
  360. package/src/components/image/image.tsx +0 -140
  361. package/src/components/input/demo/basic.tsx +0 -12
  362. package/src/components/input/demo/clearable.tsx +0 -21
  363. package/src/components/input/demo/show-count.tsx +0 -18
  364. package/src/components/input/demo/sizes.tsx +0 -15
  365. package/src/components/input/input.meta.md +0 -115
  366. package/src/components/input/input.stories.tsx +0 -144
  367. package/src/components/input/input.tsx +0 -212
  368. package/src/components/input-group/input-group.meta.md +0 -124
  369. package/src/components/input-group/input-group.stories.tsx +0 -121
  370. package/src/components/input-group/input-group.tsx +0 -143
  371. package/src/components/input-number/input-number.meta.md +0 -148
  372. package/src/components/input-number/input-number.stories.tsx +0 -125
  373. package/src/components/input-number/input-number.tsx +0 -283
  374. package/src/components/input-otp/input-otp.meta.md +0 -106
  375. package/src/components/input-otp/input-otp.stories.tsx +0 -65
  376. package/src/components/input-otp/input-otp.tsx +0 -97
  377. package/src/components/item/item.meta.md +0 -121
  378. package/src/components/item/item.stories.tsx +0 -116
  379. package/src/components/item/item.tsx +0 -172
  380. package/src/components/kbd/kbd.meta.md +0 -94
  381. package/src/components/kbd/kbd.stories.tsx +0 -70
  382. package/src/components/kbd/kbd.tsx +0 -86
  383. package/src/components/label/label.meta.md +0 -99
  384. package/src/components/label/label.stories.tsx +0 -145
  385. package/src/components/label/label.tsx +0 -138
  386. package/src/components/masonry/masonry.meta.md +0 -90
  387. package/src/components/masonry/masonry.stories.tsx +0 -68
  388. package/src/components/masonry/masonry.tsx +0 -60
  389. package/src/components/mentions/mentions.meta.md +0 -119
  390. package/src/components/mentions/mentions.stories.tsx +0 -189
  391. package/src/components/mentions/mentions.tsx +0 -243
  392. package/src/components/menubar/menubar.meta.md +0 -118
  393. package/src/components/menubar/menubar.stories.tsx +0 -141
  394. package/src/components/menubar/menubar.tsx +0 -232
  395. package/src/components/native-select/native-select.meta.md +0 -93
  396. package/src/components/native-select/native-select.stories.tsx +0 -83
  397. package/src/components/native-select/native-select.tsx +0 -54
  398. package/src/components/navigation-menu/navigation-menu.meta.md +0 -118
  399. package/src/components/navigation-menu/navigation-menu.stories.tsx +0 -215
  400. package/src/components/navigation-menu/navigation-menu.tsx +0 -129
  401. package/src/components/notification/notification.meta.md +0 -133
  402. package/src/components/notification/notification.stories.tsx +0 -98
  403. package/src/components/notification/notification.tsx +0 -99
  404. package/src/components/page-header/DEVELOPMENT.md +0 -842
  405. package/src/components/page-header/page-header.meta.md +0 -208
  406. package/src/components/page-header/page-header.stories.tsx +0 -421
  407. package/src/components/page-header/page-header.tsx +0 -281
  408. package/src/components/pagination/pagination.meta.md +0 -230
  409. package/src/components/pagination/pagination.stories.tsx +0 -284
  410. package/src/components/pagination/pagination.tsx +0 -577
  411. package/src/components/popconfirm/popconfirm.meta.md +0 -114
  412. package/src/components/popconfirm/popconfirm.stories.tsx +0 -75
  413. package/src/components/popconfirm/popconfirm.tsx +0 -134
  414. package/src/components/popover/popover.meta.md +0 -154
  415. package/src/components/popover/popover.stories.tsx +0 -158
  416. package/src/components/popover/popover.tsx +0 -104
  417. package/src/components/progress/progress.meta.md +0 -118
  418. package/src/components/progress/progress.stories.tsx +0 -75
  419. package/src/components/progress/progress.tsx +0 -203
  420. package/src/components/radio-group/radio-group.meta.md +0 -175
  421. package/src/components/radio-group/radio-group.stories.tsx +0 -113
  422. package/src/components/radio-group/radio-group.tsx +0 -209
  423. package/src/components/rate/rate.meta.md +0 -118
  424. package/src/components/rate/rate.stories.tsx +0 -89
  425. package/src/components/rate/rate.tsx +0 -180
  426. package/src/components/resizable/resizable.meta.md +0 -95
  427. package/src/components/resizable/resizable.stories.tsx +0 -104
  428. package/src/components/resizable/resizable.tsx +0 -56
  429. package/src/components/result/result.meta.md +0 -95
  430. package/src/components/result/result.stories.tsx +0 -67
  431. package/src/components/result/result.tsx +0 -100
  432. package/src/components/scroll-area/scroll-area.meta.md +0 -85
  433. package/src/components/scroll-area/scroll-area.stories.tsx +0 -49
  434. package/src/components/scroll-area/scroll-area.tsx +0 -51
  435. package/src/components/segmented/segmented.meta.md +0 -106
  436. package/src/components/segmented/segmented.stories.tsx +0 -130
  437. package/src/components/segmented/segmented.tsx +0 -146
  438. package/src/components/select/select.meta.md +0 -255
  439. package/src/components/select/select.stories.tsx +0 -275
  440. package/src/components/select/select.tsx +0 -735
  441. package/src/components/separator/separator.meta.md +0 -75
  442. package/src/components/separator/separator.stories.tsx +0 -71
  443. package/src/components/separator/separator.tsx +0 -100
  444. package/src/components/sheet/sheet.meta.md +0 -113
  445. package/src/components/sheet/sheet.stories.tsx +0 -188
  446. package/src/components/sheet/sheet.tsx +0 -226
  447. package/src/components/sidebar/sidebar.meta.md +0 -150
  448. package/src/components/sidebar/sidebar.tsx +0 -824
  449. package/src/components/skeleton/skeleton.meta.md +0 -94
  450. package/src/components/skeleton/skeleton.stories.tsx +0 -79
  451. package/src/components/skeleton/skeleton.tsx +0 -144
  452. package/src/components/slider/slider.meta.md +0 -146
  453. package/src/components/slider/slider.stories.tsx +0 -121
  454. package/src/components/slider/slider.tsx +0 -227
  455. package/src/components/sonner/sonner.meta.md +0 -147
  456. package/src/components/sonner/sonner.stories.tsx +0 -164
  457. package/src/components/sonner/sonner.tsx +0 -169
  458. package/src/components/spinner/spinner.meta.md +0 -125
  459. package/src/components/spinner/spinner.stories.tsx +0 -123
  460. package/src/components/spinner/spinner.tsx +0 -166
  461. package/src/components/statistic/statistic.meta.md +0 -104
  462. package/src/components/statistic/statistic.stories.tsx +0 -67
  463. package/src/components/steps/steps.meta.md +0 -116
  464. package/src/components/steps/steps.stories.tsx +0 -115
  465. package/src/components/steps/steps.tsx +0 -173
  466. package/src/components/switch/switch.meta.md +0 -138
  467. package/src/components/switch/switch.stories.tsx +0 -75
  468. package/src/components/switch/switch.tsx +0 -169
  469. package/src/components/table/table.meta.md +0 -106
  470. package/src/components/table/table.stories.tsx +0 -80
  471. package/src/components/table/table.tsx +0 -122
  472. package/src/components/tabs/tabs.meta.md +0 -111
  473. package/src/components/tabs/tabs.stories.tsx +0 -156
  474. package/src/components/tabs/tabs.tsx +0 -190
  475. package/src/components/tag/tag.meta.md +0 -159
  476. package/src/components/tag/tag.stories.tsx +0 -250
  477. package/src/components/tag/tag.tsx +0 -386
  478. package/src/components/textarea/textarea.meta.md +0 -99
  479. package/src/components/textarea/textarea.stories.tsx +0 -89
  480. package/src/components/textarea/textarea.tsx +0 -137
  481. package/src/components/time-picker/time-picker.meta.md +0 -175
  482. package/src/components/time-picker/time-picker.stories.tsx +0 -129
  483. package/src/components/time-picker/time-picker.tsx +0 -946
  484. package/src/components/timeline/timeline.meta.md +0 -110
  485. package/src/components/timeline/timeline.stories.tsx +0 -134
  486. package/src/components/timeline/timeline.tsx +0 -168
  487. package/src/components/toggle/toggle.meta.md +0 -89
  488. package/src/components/toggle/toggle.stories.tsx +0 -66
  489. package/src/components/toggle/toggle.tsx +0 -54
  490. package/src/components/toggle-group/toggle-group.meta.md +0 -91
  491. package/src/components/toggle-group/toggle-group.stories.tsx +0 -83
  492. package/src/components/toggle-group/toggle-group.tsx +0 -78
  493. package/src/components/tooltip/tooltip.meta.md +0 -149
  494. package/src/components/tooltip/tooltip.stories.tsx +0 -108
  495. package/src/components/tooltip/tooltip.tsx +0 -153
  496. package/src/components/tour/tour.meta.md +0 -121
  497. package/src/components/tour/tour.stories.tsx +0 -66
  498. package/src/components/tour/tour.tsx +0 -242
  499. package/src/components/transfer/transfer.meta.md +0 -95
  500. package/src/components/transfer/transfer.stories.tsx +0 -64
  501. package/src/components/transfer/transfer.tsx +0 -258
  502. package/src/components/tree/tree.meta.md +0 -169
  503. package/src/components/tree/tree.stories.tsx +0 -128
  504. package/src/components/tree/tree.tsx +0 -368
  505. package/src/components/tree-select/tree-select.meta.md +0 -151
  506. package/src/components/tree-select/tree-select.stories.tsx +0 -80
  507. package/src/components/tree-select/tree-select.tsx +0 -206
  508. package/src/components/typography/typography.meta.md +0 -149
  509. package/src/components/typography/typography.stories.tsx +0 -116
  510. package/src/components/typography/typography.tsx +0 -260
  511. package/src/components/upload/upload.meta.md +0 -156
  512. package/src/components/upload/upload.stories.tsx +0 -135
  513. package/src/components/upload/upload.tsx +0 -398
  514. package/src/components/watermark/watermark.meta.md +0 -100
  515. package/src/components/watermark/watermark.stories.tsx +0 -170
  516. package/src/components/watermark/watermark.tsx +0 -166
  517. package/src/hooks/use-breakpoint.ts +0 -117
  518. package/src/hooks/use-debounce-callback.ts +0 -52
  519. package/src/stories/theme-tokens.stories.tsx +0 -747
  520. package/src/utils/trigger-input.ts +0 -53
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,32 +850,49 @@
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",
864
+ "category": "navigation"
865
+ },
866
+ {
867
+ "id": "page-shell",
868
+ "name": "PageShell",
869
+ "type": "component",
870
+ "description": "页面三明治壳 — header + sidebar + children 三 slot 任意组合,覆盖全屏/仅顶部/仅左导/顶部+左导四种页面形态。background prop 走 shadcn 语义槽枚举(background/muted/card/sidebar/accent),亮暗模式由 token 文件自动管。内部为传入的 ui Sidebar 注入 scoped CSS 覆盖默认 fixed 定位,让 sidebar 跟 header 共存而不被撑到 viewport 顶端。",
871
+ "files": [
872
+ {
873
+ "source": "src/components/page-shell/index.tsx",
874
+ "targetAlias": "components",
875
+ "targetName": "page-shell.tsx"
876
+ }
877
+ ],
878
+ "meta": "src/components/page-shell/meta.md",
879
+ "registryDependencies": ["cn", "sidebar"],
880
+ "updateStrategy": "frozen",
805
881
  "category": "layout"
806
882
  },
807
883
  {
808
884
  "id": "card",
809
885
  "name": "Card",
810
886
  "type": "component",
811
- "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",
812
888
  "files": [
813
889
  {
814
- "source": "src/components/card/card.tsx",
890
+ "source": "src/components/card/index.tsx",
815
891
  "targetAlias": "components",
816
892
  "targetName": "card.tsx"
817
893
  }
818
894
  ],
819
- "meta": "src/components/card/card.meta.md",
895
+ "meta": "src/components/card/meta.md",
820
896
  "registryDependencies": ["cn", "skeleton"],
821
897
  "updateStrategy": "frozen",
822
898
  "category": "data-display"
@@ -825,16 +901,20 @@
825
901
  "id": "table",
826
902
  "name": "Table",
827
903
  "type": "component",
828
- "description": "基础表格 — 原生 HTML 元素薄包装(视觉骨架,无交互,交互见 DataTable)",
904
+ "description": "基础表格 — shadcn 极薄 composable,提供 size / bordered / striped / stickyHeader / hoverable / crossline / loading / empty / maxBodyHeight 等视觉与状态能力(交互逻辑见 DataTable",
829
905
  "files": [
830
906
  {
831
- "source": "src/components/table/table.tsx",
907
+ "source": "src/components/table/index.tsx",
832
908
  "targetAlias": "components",
833
909
  "targetName": "table.tsx"
834
910
  }
835
911
  ],
836
- "meta": "src/components/table/table.meta.md",
912
+ "meta": "src/components/table/meta.md",
837
913
  "registryDependencies": ["cn"],
914
+ "dependencies": {
915
+ "class-variance-authority": "^0.7.0",
916
+ "lucide-react": "^0.460.0"
917
+ },
838
918
  "updateStrategy": "frozen",
839
919
  "category": "data-display"
840
920
  },
@@ -842,18 +922,31 @@
842
922
  "id": "data-table",
843
923
  "name": "DataTable",
844
924
  "type": "component",
845
- "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)",
846
926
  "files": [
847
927
  {
848
- "source": "src/components/data-table/data-table.tsx",
928
+ "source": "src/components/data-table/index.tsx",
849
929
  "targetAlias": "components",
850
930
  "targetName": "data-table.tsx"
851
931
  }
852
932
  ],
853
- "meta": "src/components/data-table/data-table.meta.md",
854
- "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
+ ],
855
943
  "dependencies": {
856
- "@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"
857
950
  },
858
951
  "updateStrategy": "frozen",
859
952
  "category": "data-display"
@@ -862,18 +955,20 @@
862
955
  "id": "carousel",
863
956
  "name": "Carousel",
864
957
  "type": "component",
865
- "description": "走马灯 — embla-carousel-react,支持单页/多页/循环/垂直/触屏拖动,对应 antd Carousel",
958
+ "description": "轮播 — embla-carousel-react,支持单页/多页/无穷循环/垂直/触屏拖动;新增 autoplay(含悬浮暂停)/ fade / 受控 activeIndex / 内置 CarouselDots 与 inner-outer 箭头位置",
866
959
  "files": [
867
960
  {
868
- "source": "src/components/carousel/carousel.tsx",
961
+ "source": "src/components/carousel/index.tsx",
869
962
  "targetAlias": "components",
870
963
  "targetName": "carousel.tsx"
871
964
  }
872
965
  ],
873
- "meta": "src/components/carousel/carousel.meta.md",
966
+ "meta": "src/components/carousel/meta.md",
874
967
  "registryDependencies": ["cn", "button"],
875
968
  "dependencies": {
876
969
  "embla-carousel-react": "^8.0.0",
970
+ "embla-carousel-autoplay": "^8.0.0",
971
+ "embla-carousel-fade": "^8.0.0",
877
972
  "lucide-react": "^0.460.0"
878
973
  },
879
974
  "updateStrategy": "frozen",
@@ -886,15 +981,15 @@
886
981
  "description": "可拖拽分栏 — react-resizable-panels(VS Code / Figma 风格),横/纵向 + 嵌套 + min/max 限制。等价 antd `Splitter`(v5.21+)",
887
982
  "files": [
888
983
  {
889
- "source": "src/components/resizable/resizable.tsx",
984
+ "source": "src/components/resizable/index.tsx",
890
985
  "targetAlias": "components",
891
986
  "targetName": "resizable.tsx"
892
987
  }
893
988
  ],
894
- "meta": "src/components/resizable/resizable.meta.md",
989
+ "meta": "src/components/resizable/meta.md",
895
990
  "registryDependencies": ["cn"],
896
991
  "dependencies": {
897
- "react-resizable-panels": "^2.0.0",
992
+ "react-resizable-panels": "^4.0.0",
898
993
  "lucide-react": "^0.460.0"
899
994
  },
900
995
  "updateStrategy": "frozen",
@@ -907,12 +1002,12 @@
907
1002
  "description": "排版组件 — Prose 富文本容器 + Title/Paragraph/Text/Link + antd type/strong/delete/disabled/code/ellipsis/copyable",
908
1003
  "files": [
909
1004
  {
910
- "source": "src/components/typography/typography.tsx",
1005
+ "source": "src/components/typography/index.tsx",
911
1006
  "targetAlias": "components",
912
1007
  "targetName": "typography.tsx"
913
1008
  }
914
1009
  ],
915
- "meta": "src/components/typography/typography.meta.md",
1010
+ "meta": "src/components/typography/meta.md",
916
1011
  "registryDependencies": ["cn"],
917
1012
  "dependencies": {
918
1013
  "lucide-react": "^0.460.0"
@@ -927,12 +1022,12 @@
927
1022
  "description": "数字展示 — antd 独有补足。仪表板 KPI(标题 / 值 / 前后缀 / 趋势 / 千分位 / 精度)",
928
1023
  "files": [
929
1024
  {
930
- "source": "src/components/statistic/statistic.tsx",
1025
+ "source": "src/components/statistic/index.tsx",
931
1026
  "targetAlias": "components",
932
1027
  "targetName": "statistic.tsx"
933
1028
  }
934
1029
  ],
935
- "meta": "src/components/statistic/statistic.meta.md",
1030
+ "meta": "src/components/statistic/meta.md",
936
1031
  "registryDependencies": ["cn"],
937
1032
  "dependencies": {
938
1033
  "lucide-react": "^0.460.0"
@@ -947,12 +1042,12 @@
947
1042
  "description": "步骤条 — antd 独有补足。多步流程引导(注册 / 下单 / 部署),状态自动推导(wait/process/finish/error)",
948
1043
  "files": [
949
1044
  {
950
- "source": "src/components/steps/steps.tsx",
1045
+ "source": "src/components/steps/index.tsx",
951
1046
  "targetAlias": "components",
952
1047
  "targetName": "steps.tsx"
953
1048
  }
954
1049
  ],
955
- "meta": "src/components/steps/steps.meta.md",
1050
+ "meta": "src/components/steps/meta.md",
956
1051
  "registryDependencies": ["cn"],
957
1052
  "dependencies": {
958
1053
  "lucide-react": "^0.460.0"
@@ -960,41 +1055,22 @@
960
1055
  "updateStrategy": "frozen",
961
1056
  "category": "navigation"
962
1057
  },
963
- {
964
- "id": "result",
965
- "name": "Result",
966
- "type": "component",
967
- "description": "结果页 — antd 独有补足。整页级反馈(成功 / 失败 / 404 / 403 / 500)",
968
- "files": [
969
- {
970
- "source": "src/components/result/result.tsx",
971
- "targetAlias": "components",
972
- "targetName": "result.tsx"
973
- }
974
- ],
975
- "meta": "src/components/result/result.meta.md",
976
- "registryDependencies": ["cn"],
977
- "dependencies": {
978
- "lucide-react": "^0.460.0"
979
- },
980
- "updateStrategy": "frozen",
981
- "category": "feedback"
982
- },
983
1058
  {
984
1059
  "id": "empty",
985
1060
  "name": "Empty",
986
1061
  "type": "component",
987
- "description": "空状态 — antd 独有补足。列表 / 表格 / 搜索结果为空时的占位 + 引导操作",
1062
+ "description": "空状态 / 结果页 复合组件 + status 预设(403/404/500/noData/noSearch/noNetwork/browserError/createSuccess/createError/import/success/error/info/warning),覆盖容器内空态与页面级异常,支持 vertical/horizontal 布局",
988
1063
  "files": [
989
1064
  {
990
- "source": "src/components/empty/empty.tsx",
1065
+ "source": "src/components/empty/index.tsx",
991
1066
  "targetAlias": "components",
992
1067
  "targetName": "empty.tsx"
993
1068
  }
994
1069
  ],
995
- "meta": "src/components/empty/empty.meta.md",
1070
+ "meta": "src/components/empty/meta.md",
996
1071
  "registryDependencies": ["cn"],
997
1072
  "dependencies": {
1073
+ "class-variance-authority": "^0.7.0",
998
1074
  "lucide-react": "^0.460.0"
999
1075
  },
1000
1076
  "updateStrategy": "frozen",
@@ -1004,16 +1080,21 @@
1004
1080
  "id": "descriptions",
1005
1081
  "name": "Descriptions",
1006
1082
  "type": "component",
1007
- "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。不内置请求 / 行内编辑能力。",
1008
1084
  "files": [
1009
1085
  {
1010
- "source": "src/components/descriptions/descriptions.tsx",
1086
+ "source": "src/components/descriptions/index.tsx",
1011
1087
  "targetAlias": "components",
1012
1088
  "targetName": "descriptions.tsx"
1013
1089
  }
1014
1090
  ],
1015
- "meta": "src/components/descriptions/descriptions.meta.md",
1016
- "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
+ },
1017
1098
  "updateStrategy": "frozen",
1018
1099
  "category": "data-display"
1019
1100
  },
@@ -1021,17 +1102,18 @@
1021
1102
  "id": "tag",
1022
1103
  "name": "Tag",
1023
1104
  "type": "component",
1024
- "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 多选/单选)",
1025
1106
  "files": [
1026
1107
  {
1027
- "source": "src/components/tag/tag.tsx",
1108
+ "source": "src/components/tag/index.tsx",
1028
1109
  "targetAlias": "components",
1029
1110
  "targetName": "tag.tsx"
1030
1111
  }
1031
1112
  ],
1032
- "meta": "src/components/tag/tag.meta.md",
1033
- "registryDependencies": ["cn"],
1113
+ "meta": "src/components/tag/meta.md",
1114
+ "registryDependencies": ["cn", "icon"],
1034
1115
  "dependencies": {
1116
+ "radix-ui": "^1.4.3",
1035
1117
  "class-variance-authority": "^0.7.0",
1036
1118
  "lucide-react": "^0.460.0"
1037
1119
  },
@@ -1042,15 +1124,15 @@
1042
1124
  "id": "upload",
1043
1125
  "name": "Upload",
1044
1126
  "type": "component",
1045
- "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 与失败重试",
1046
1128
  "files": [
1047
1129
  {
1048
- "source": "src/components/upload/upload.tsx",
1130
+ "source": "src/components/upload/index.tsx",
1049
1131
  "targetAlias": "components",
1050
1132
  "targetName": "upload.tsx"
1051
1133
  }
1052
1134
  ],
1053
- "meta": "src/components/upload/upload.meta.md",
1135
+ "meta": "src/components/upload/meta.md",
1054
1136
  "registryDependencies": ["cn", "button", "progress"],
1055
1137
  "dependencies": {
1056
1138
  "lucide-react": "^0.460.0"
@@ -1065,12 +1147,12 @@
1065
1147
  "description": "树形控件 — antd 独有补足。递归层级展示(目录、组织、分类),可展开 / 可选 / 可勾选(父子级联 + 半选),受控与非受控并存",
1066
1148
  "files": [
1067
1149
  {
1068
- "source": "src/components/tree/tree.tsx",
1150
+ "source": "src/components/tree/index.tsx",
1069
1151
  "targetAlias": "components",
1070
1152
  "targetName": "tree.tsx"
1071
1153
  }
1072
1154
  ],
1073
- "meta": "src/components/tree/tree.meta.md",
1155
+ "meta": "src/components/tree/meta.md",
1074
1156
  "registryDependencies": ["cn", "checkbox"],
1075
1157
  "dependencies": {
1076
1158
  "lucide-react": "^0.460.0"
@@ -1082,17 +1164,18 @@
1082
1164
  "id": "transfer",
1083
1165
  "name": "Transfer",
1084
1166
  "type": "component",
1085
- "description": "穿梭框 — antd 独有补足。双侧勾选 + 移动的批量分配交互(权限分配 / 字段映射 / 收件人),受控 targetKeys 单一真值,内置全选 / 半选 / 可选搜索 / 禁用项跳过",
1167
+ "description": "穿梭框 — 双栏勾选 + 移动的批量分配交互(权限分配 / 字段映射 / 收件人)。对齐 antd v5 schema(key / title / description),内置 size 三档 / normal & simple 模式 / oneWay 单向 / 双侧搜索 / filterOption / 自定义 render / locale 文案 / 自定义按钮 operations,以及面板列表 children render-prop(可承接树穿梭 / 表格穿梭)",
1086
1168
  "files": [
1087
1169
  {
1088
- "source": "src/components/transfer/transfer.tsx",
1170
+ "source": "src/components/transfer/index.tsx",
1089
1171
  "targetAlias": "components",
1090
1172
  "targetName": "transfer.tsx"
1091
1173
  }
1092
1174
  ],
1093
- "meta": "src/components/transfer/transfer.meta.md",
1175
+ "meta": "src/components/transfer/meta.md",
1094
1176
  "registryDependencies": ["cn", "button", "checkbox", "input"],
1095
1177
  "dependencies": {
1178
+ "class-variance-authority": "^0.7.0",
1096
1179
  "lucide-react": "^0.460.0"
1097
1180
  },
1098
1181
  "updateStrategy": "frozen",
@@ -1102,59 +1185,38 @@
1102
1185
  "id": "spinner",
1103
1186
  "name": "Spinner",
1104
1187
  "type": "component",
1105
- "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 关闭)",
1106
1189
  "files": [
1107
1190
  {
1108
- "source": "src/components/spinner/spinner.tsx",
1191
+ "source": "src/components/spinner/index.tsx",
1109
1192
  "targetAlias": "components",
1110
1193
  "targetName": "spinner.tsx"
1111
1194
  }
1112
1195
  ],
1113
- "meta": "src/components/spinner/spinner.meta.md",
1196
+ "meta": "src/components/spinner/meta.md",
1114
1197
  "registryDependencies": ["cn"],
1115
1198
  "dependencies": {
1116
1199
  "class-variance-authority": "^0.7.0",
1117
- "lucide-react": "^0.460.0"
1200
+ "lucide-react": "^0.460.0",
1201
+ "react-dom": ">=18"
1118
1202
  },
1119
1203
  "updateStrategy": "frozen",
1120
1204
  "category": "feedback"
1121
1205
  },
1122
- {
1123
- "id": "icon",
1124
- "name": "Icon",
1125
- "type": "component",
1126
- "description": "图标容器 — 基于 lucide-react 的统一封装。5 档尺寸 + 6 档语义 color + spin/rotate + Slot + 背景容器(circle/square × 5 档 bgColor) + 装饰/非装饰无障碍。承接 cloud-design Icon 的 iconBackgroundType/Color 能力,iconfont 工厂 v0.2 接入但 API 已稳定",
1127
- "files": [
1128
- {
1129
- "source": "src/components/icon/icon.tsx",
1130
- "targetAlias": "components",
1131
- "targetName": "icon.tsx"
1132
- }
1133
- ],
1134
- "meta": "src/components/icon/icon.meta.md",
1135
- "registryDependencies": ["cn"],
1136
- "dependencies": {
1137
- "@radix-ui/react-slot": "^1.1.0",
1138
- "class-variance-authority": "^0.7.0",
1139
- "lucide-react": "^0.460.0"
1140
- },
1141
- "updateStrategy": "frozen",
1142
- "category": "general"
1143
- },
1144
1206
  {
1145
1207
  "id": "item",
1146
1208
  "name": "Item",
1147
1209
  "type": "component",
1148
- "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",
1149
1211
  "files": [
1150
1212
  {
1151
- "source": "src/components/item/item.tsx",
1213
+ "source": "src/components/item/index.tsx",
1152
1214
  "targetAlias": "components",
1153
1215
  "targetName": "item.tsx"
1154
1216
  }
1155
1217
  ],
1156
- "meta": "src/components/item/item.meta.md",
1157
- "registryDependencies": ["cn"],
1218
+ "meta": "src/components/item/meta.md",
1219
+ "registryDependencies": ["cn", "separator"],
1158
1220
  "dependencies": {
1159
1221
  "class-variance-authority": "^0.7.0"
1160
1222
  },
@@ -1168,66 +1230,32 @@
1168
1230
  "description": "通用表单字段抽象 — shadcn 2025-10 新增。Field / FieldLabel / FieldDescription / FieldError / FieldGroup / FieldSet / FieldLegend 7 个语义槽,跟任何状态管理(Server Actions / RHF / TanStack Form)都能搭,与 form 共存",
1169
1231
  "files": [
1170
1232
  {
1171
- "source": "src/components/field/field.tsx",
1233
+ "source": "src/components/field/index.tsx",
1172
1234
  "targetAlias": "components",
1173
1235
  "targetName": "field.tsx"
1174
1236
  }
1175
1237
  ],
1176
- "meta": "src/components/field/field.meta.md",
1177
- "registryDependencies": ["cn", "label", "use-breakpoint"],
1238
+ "meta": "src/components/field/meta.md",
1239
+ "registryDependencies": ["cn", "label"],
1178
1240
  "dependencies": {
1179
1241
  "class-variance-authority": "^0.7.0"
1180
1242
  },
1181
1243
  "updateStrategy": "frozen",
1182
1244
  "category": "data-entry"
1183
1245
  },
1184
- {
1185
- "id": "flex",
1186
- "name": "Flex",
1187
- "type": "component",
1188
- "description": "Flex 弹性布局 — antd 独有补足。等价 antd `Flex`(v5.10+) ∪ antd `Space`——一个原子覆盖完整布局容器与 inline 小集合两类场景。支持 direction / gap / align / justify / wrap / inline / as / split",
1189
- "files": [
1190
- {
1191
- "source": "src/components/flex/flex.tsx",
1192
- "targetAlias": "components",
1193
- "targetName": "flex.tsx"
1194
- }
1195
- ],
1196
- "meta": "src/components/flex/flex.meta.md",
1197
- "registryDependencies": ["cn"],
1198
- "updateStrategy": "frozen",
1199
- "category": "layout"
1200
- },
1201
- {
1202
- "id": "grid",
1203
- "name": "Grid",
1204
- "type": "component",
1205
- "description": "24 栅格(Row + Col) — antd 独有补足。等价 antd Row + Col,基于 CSS Grid 的 24 列容器,支持 span / offset / order / flex / gutter / justify / align",
1206
- "files": [
1207
- {
1208
- "source": "src/components/grid/grid.tsx",
1209
- "targetAlias": "components",
1210
- "targetName": "grid.tsx"
1211
- }
1212
- ],
1213
- "meta": "src/components/grid/grid.meta.md",
1214
- "registryDependencies": ["cn"],
1215
- "updateStrategy": "frozen",
1216
- "category": "layout"
1217
- },
1218
1246
  {
1219
1247
  "id": "rate",
1220
1248
  "name": "Rate",
1221
1249
  "type": "component",
1222
- "description": "星级评分 — antd 独有补足。等价 antd `Rate`,支持半星 / 再次点击清零 / 自定义图标 / 只读展示",
1250
+ "description": "星级评分 — shadcn 风格 API,支持半星、键盘无障碍、自定义图标、只读 / 禁用区分",
1223
1251
  "files": [
1224
1252
  {
1225
- "source": "src/components/rate/rate.tsx",
1253
+ "source": "src/components/rate/index.tsx",
1226
1254
  "targetAlias": "components",
1227
1255
  "targetName": "rate.tsx"
1228
1256
  }
1229
1257
  ],
1230
- "meta": "src/components/rate/rate.meta.md",
1258
+ "meta": "src/components/rate/meta.md",
1231
1259
  "registryDependencies": ["cn"],
1232
1260
  "dependencies": {
1233
1261
  "lucide-react": "^0.460.0"
@@ -1239,15 +1267,15 @@
1239
1267
  "id": "timeline",
1240
1268
  "name": "Timeline",
1241
1269
  "type": "component",
1242
- "description": "时间轴 — antd 独有补足。等价 antd `Timeline`,垂直时间流(历史 / 物流 / 进度),3 种布局 + 5 种圆点色 + 自定义 dot + pending 进行中占位",
1270
+ "description": "时间轴 — 垂直时间流 (历史 / 物流 / 进度),composable 子组件 + 4 种状态语义色 (done/process/error/success) + 自定义 dot (asChild) + 左/右/交替布局",
1243
1271
  "files": [
1244
1272
  {
1245
- "source": "src/components/timeline/timeline.tsx",
1273
+ "source": "src/components/timeline/index.tsx",
1246
1274
  "targetAlias": "components",
1247
1275
  "targetName": "timeline.tsx"
1248
1276
  }
1249
1277
  ],
1250
- "meta": "src/components/timeline/timeline.meta.md",
1278
+ "meta": "src/components/timeline/meta.md",
1251
1279
  "registryDependencies": ["cn"],
1252
1280
  "updateStrategy": "frozen",
1253
1281
  "category": "data-display"
@@ -1256,15 +1284,15 @@
1256
1284
  "id": "popconfirm",
1257
1285
  "name": "Popconfirm",
1258
1286
  "type": "component",
1259
- "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 互补(更轻、不阻塞)。",
1260
1288
  "files": [
1261
1289
  {
1262
- "source": "src/components/popconfirm/popconfirm.tsx",
1290
+ "source": "src/components/popconfirm/index.tsx",
1263
1291
  "targetAlias": "components",
1264
1292
  "targetName": "popconfirm.tsx"
1265
1293
  }
1266
1294
  ],
1267
- "meta": "src/components/popconfirm/popconfirm.meta.md",
1295
+ "meta": "src/components/popconfirm/meta.md",
1268
1296
  "registryDependencies": ["cn", "button", "popover"],
1269
1297
  "dependencies": {
1270
1298
  "lucide-react": "^0.460.0"
@@ -1276,15 +1304,15 @@
1276
1304
  "id": "input-number",
1277
1305
  "name": "InputNumber",
1278
1306
  "type": "component",
1279
- "description": "数字输入antd 独有补足。等价 antd `InputNumber`,步进按钮 + min/max 自动夹紧 + precision + 千分位展示 + 键盘 ↑↓ 步进 + null 空状态",
1307
+ "description": "数字输入框步进按钮 + min/max 夹紧 + precision 精度 + formatter/parser 双向格式化 + readOnly + changeOnBlur/changeOnWheel/keyboard 输入流控制 + onPressEnter + null 空状态。default/inline 两种 variant。",
1280
1308
  "files": [
1281
1309
  {
1282
- "source": "src/components/input-number/input-number.tsx",
1310
+ "source": "src/components/input-number/index.tsx",
1283
1311
  "targetAlias": "components",
1284
1312
  "targetName": "input-number.tsx"
1285
1313
  }
1286
1314
  ],
1287
- "meta": "src/components/input-number/input-number.meta.md",
1315
+ "meta": "src/components/input-number/meta.md",
1288
1316
  "registryDependencies": ["cn"],
1289
1317
  "dependencies": {
1290
1318
  "lucide-react": "^0.460.0"
@@ -1293,56 +1321,38 @@
1293
1321
  "category": "data-entry"
1294
1322
  },
1295
1323
  {
1296
- "id": "time-picker",
1297
- "name": "TimePicker",
1324
+ "id": "input-ip",
1325
+ "name": "InputIP",
1298
1326
  "type": "component",
1299
- "description": "时间选择Popover + 滚动列(TimeColumn)面板,含 TimePicker / TimeRangePicker / TimePickerPanel(对齐 antd TimePicker / TimePicker.RangePicker)",
1327
+ "description": "IP 地址输入 分段式 IPv4 地址输入框,自动跳段 + 范围校验(0-255) + 粘贴解析 + 可选 CIDR 前缀选择",
1300
1328
  "files": [
1301
1329
  {
1302
- "source": "src/components/time-picker/time-picker.tsx",
1330
+ "source": "src/components/input-ip/index.tsx",
1303
1331
  "targetAlias": "components",
1304
- "targetName": "time-picker.tsx"
1332
+ "targetName": "input-ip.tsx"
1305
1333
  }
1306
1334
  ],
1307
- "meta": "src/components/time-picker/time-picker.meta.md",
1308
- "registryDependencies": ["cn", "popover", "button"],
1335
+ "registryDependencies": ["cn"],
1309
1336
  "dependencies": {
1310
- "lucide-react": "^0.460.0"
1337
+ "class-variance-authority": "^0.7.0"
1311
1338
  },
1312
1339
  "updateStrategy": "frozen",
1313
1340
  "category": "data-entry"
1314
1341
  },
1315
1342
  {
1316
- "id": "auto-complete",
1317
- "name": "AutoComplete",
1318
- "type": "component",
1319
- "description": "输入即建议 — antd 独有补足。等价 antd `AutoComplete`,键入触发候选下拉,最终 value 可以是任意字符串(与 Combobox 必选互补),配 onSearch 实现异步建议",
1320
- "files": [
1321
- {
1322
- "source": "src/components/auto-complete/auto-complete.tsx",
1323
- "targetAlias": "components",
1324
- "targetName": "auto-complete.tsx"
1325
- }
1326
- ],
1327
- "meta": "src/components/auto-complete/auto-complete.meta.md",
1328
- "registryDependencies": ["cn", "input", "popover", "command"],
1329
- "updateStrategy": "frozen",
1330
- "category": "data-entry"
1331
- },
1332
- {
1333
- "id": "cascader",
1334
- "name": "Cascader",
1343
+ "id": "time-picker",
1344
+ "name": "TimePicker",
1335
1345
  "type": "component",
1336
- "description": "级联选择antd 独有补足。等价 antd `Cascader`,多级联动(地区 / 分类 / 文件夹路径),多列面板,叶子触发 onChange(可改 changeOnSelect 为每级触发)",
1346
+ "description": "时间选择Popover + 滚动列(TimeColumn)面板,含 TimePicker / TimeRangePicker / TimePickerPanel(对齐 antd TimePicker / TimePicker.RangePicker)",
1337
1347
  "files": [
1338
1348
  {
1339
- "source": "src/components/cascader/cascader.tsx",
1349
+ "source": "src/components/time-picker/index.tsx",
1340
1350
  "targetAlias": "components",
1341
- "targetName": "cascader.tsx"
1351
+ "targetName": "time-picker.tsx"
1342
1352
  }
1343
1353
  ],
1344
- "meta": "src/components/cascader/cascader.meta.md",
1345
- "registryDependencies": ["cn", "button", "popover"],
1354
+ "meta": "src/components/time-picker/meta.md",
1355
+ "registryDependencies": ["cn", "popover", "button"],
1346
1356
  "dependencies": {
1347
1357
  "lucide-react": "^0.460.0"
1348
1358
  },
@@ -1353,43 +1363,23 @@
1353
1363
  "id": "tree-select",
1354
1364
  "name": "TreeSelect",
1355
1365
  "type": "component",
1356
- "description": "树形下拉antd 独有补足。等价 antd `TreeSelect`,Tree 嵌入 Popover 提供单选 / 多选(父子级联勾选)两种模式,组织架构 / 分类树形选择常用",
1366
+ "description": "树形下拉选择树形结构数据的下拉选择,支持单选、多选(父子联动 / 独立)、搜索与受控开合,基于 Popover + 内嵌 Tree 渲染",
1357
1367
  "files": [
1358
1368
  {
1359
- "source": "src/components/tree-select/tree-select.tsx",
1369
+ "source": "src/components/tree-select/index.tsx",
1360
1370
  "targetAlias": "components",
1361
1371
  "targetName": "tree-select.tsx"
1362
1372
  }
1363
1373
  ],
1364
- "meta": "src/components/tree-select/tree-select.meta.md",
1365
- "registryDependencies": ["cn", "button", "popover", "tree"],
1374
+ "meta": "src/components/tree-select/meta.md",
1375
+ "registryDependencies": ["cn", "popover", "checkbox"],
1366
1376
  "dependencies": {
1367
- "lucide-react": "^0.460.0"
1377
+ "lucide-react": "^0.460.0",
1378
+ "class-variance-authority": "^0.7.1"
1368
1379
  },
1369
1380
  "updateStrategy": "frozen",
1370
1381
  "category": "data-entry"
1371
1382
  },
1372
- {
1373
- "id": "notification",
1374
- "name": "notification",
1375
- "type": "component",
1376
- "description": "卡片式通知 — antd 独有补足。等价 antd `Notification`,基于 sonner toast.custom 二次封装,提供 title + description + 状态图标卡片化 API,与 toast(message)互补,共用 Toaster 容器",
1377
- "files": [
1378
- {
1379
- "source": "src/components/notification/notification.tsx",
1380
- "targetAlias": "components",
1381
- "targetName": "notification.tsx"
1382
- }
1383
- ],
1384
- "meta": "src/components/notification/notification.meta.md",
1385
- "registryDependencies": ["cn", "sonner"],
1386
- "dependencies": {
1387
- "sonner": "^1.5.0",
1388
- "lucide-react": "^0.460.0"
1389
- },
1390
- "updateStrategy": "frozen",
1391
- "category": "feedback"
1392
- },
1393
1383
  {
1394
1384
  "id": "affix",
1395
1385
  "name": "Affix",
@@ -1397,30 +1387,35 @@
1397
1387
  "description": "滚动吸顶 / 吸底 — antd 独有补足。等价 antd `Affix`,滚出指定偏移时切为 position: fixed,保留原占位避免页面跳动,基于 scroll + getBoundingClientRect",
1398
1388
  "files": [
1399
1389
  {
1400
- "source": "src/components/affix/affix.tsx",
1390
+ "source": "src/components/affix/index.tsx",
1401
1391
  "targetAlias": "components",
1402
1392
  "targetName": "affix.tsx"
1403
1393
  }
1404
1394
  ],
1405
- "meta": "src/components/affix/affix.meta.md",
1395
+ "meta": "src/components/affix/meta.md",
1406
1396
  "registryDependencies": ["cn"],
1407
1397
  "updateStrategy": "frozen",
1408
- "category": "navigation"
1398
+ "category": "layout"
1409
1399
  },
1410
1400
  {
1411
1401
  "id": "color-picker",
1412
1402
  "name": "ColorPicker",
1413
1403
  "type": "component",
1414
- "description": "颜色选择 — antd 独有补足。等价 antd `ColorPicker`(v5.5+),触发器色块 + Popover 面板(原生 color input + alpha 滑块 + hex 输入 + 预设色板),支持 8 位 hex(含透明度)",
1404
+ "description": "颜色选择 — 完整的颜色选取器(色相/饱和度/明度面板 + 色相/透明度滑条 + 格式切换 hex/rgb/hsb + 预设色板分组),支持受控/非受控、拖拽完成回调、自定义触发器",
1415
1405
  "files": [
1416
1406
  {
1417
- "source": "src/components/color-picker/color-picker.tsx",
1407
+ "source": "src/components/color-picker/index.tsx",
1418
1408
  "targetAlias": "components",
1419
1409
  "targetName": "color-picker.tsx"
1420
1410
  }
1421
1411
  ],
1422
- "meta": "src/components/color-picker/color-picker.meta.md",
1423
- "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
+ },
1424
1419
  "updateStrategy": "frozen",
1425
1420
  "category": "data-entry"
1426
1421
  },
@@ -1431,60 +1426,15 @@
1431
1426
  "description": "水印 — antd 独有补足。等价 antd `Watermark`(v5.1+),容器内重复平铺的 SVG 文字 / 图片水印(内部敏感页面 / 文档预览 / demo 录屏)。仅前端视觉,不作安全防护",
1432
1427
  "files": [
1433
1428
  {
1434
- "source": "src/components/watermark/watermark.tsx",
1429
+ "source": "src/components/watermark/index.tsx",
1435
1430
  "targetAlias": "components",
1436
1431
  "targetName": "watermark.tsx"
1437
1432
  }
1438
1433
  ],
1439
- "meta": "src/components/watermark/watermark.meta.md",
1434
+ "meta": "src/components/watermark/meta.md",
1440
1435
  "registryDependencies": ["cn"],
1441
1436
  "updateStrategy": "frozen",
1442
- "category": "feedback"
1443
- },
1444
- {
1445
- "id": "ellipsis",
1446
- "name": "Ellipsis",
1447
- "type": "component",
1448
- "description": "单行/多行文本截断 + 渐变遮罩 + 溢出时自动 hover tooltip — 对齐《Teamix UI 表单设计规范》§八 '截断 + 渐变遮罩 + hover tooltip 三件套'",
1449
- "files": [
1450
- {
1451
- "source": "src/components/ellipsis/ellipsis.tsx",
1452
- "targetAlias": "components",
1453
- "targetName": "ellipsis.tsx"
1454
- }
1455
- ],
1456
- "meta": "src/components/ellipsis/ellipsis.meta.md",
1457
- "registryDependencies": ["cn", "tooltip"],
1458
- "updateStrategy": "frozen",
1459
- "category": "data-display"
1460
- },
1461
- {
1462
- "id": "use-debounce-callback",
1463
- "name": "useDebounceCallback",
1464
- "type": "hook",
1465
- "description": "防抖回调 hook — 返回一个防抖包装后的函数,在指定 delay 毫秒内连续调用只执行最后一次",
1466
- "files": [
1467
- {
1468
- "source": "src/hooks/use-debounce-callback.ts",
1469
- "targetAlias": "hooks",
1470
- "targetName": "use-debounce-callback.ts"
1471
- }
1472
- ],
1473
- "updateStrategy": "frozen"
1474
- },
1475
- {
1476
- "id": "use-breakpoint",
1477
- "name": "useBreakpoint",
1478
- "type": "hook",
1479
- "description": "响应式断点 hook + pickByBreakpoint 工具 — 5 档断点(432/672/944/1200/1600,对齐《Teamix UI 表单设计规范》§4.1),给 Field 响应式 orientation / FilterBarPanel 响应式列数共用",
1480
- "files": [
1481
- {
1482
- "source": "src/hooks/use-breakpoint.ts",
1483
- "targetAlias": "hooks",
1484
- "targetName": "use-breakpoint.ts"
1485
- }
1486
- ],
1487
- "updateStrategy": "frozen"
1437
+ "category": "layout"
1488
1438
  },
1489
1439
  {
1490
1440
  "id": "filter-bar",
@@ -1493,384 +1443,207 @@
1493
1443
  "description": "筛选栏 — 面向 Table/List 的筛选表单变体,支持行内实时筛选 + 可折叠高级面板栅格。混合式架构:复合子组件(FilterBar/FilterBarSearch/FilterBarTrigger/FilterBarPanel/FilterBarActions) + FilterBarPreset 开箱即用",
1494
1444
  "files": [
1495
1445
  {
1496
- "source": "src/components/filter-bar/filter-bar.tsx",
1446
+ "source": "src/components/filter-bar/index.tsx",
1497
1447
  "targetAlias": "components",
1498
1448
  "targetName": "filter-bar.tsx"
1499
1449
  }
1500
1450
  ],
1501
- "meta": "src/components/filter-bar/filter-bar.meta.md",
1502
- "registryDependencies": [
1503
- "cn",
1504
- "button",
1505
- "form",
1506
- "grid",
1507
- "collapsible",
1508
- "use-debounce-callback",
1509
- "use-breakpoint"
1510
- ],
1451
+ "meta": "src/components/filter-bar/meta.md",
1452
+ "registryDependencies": ["cn", "button", "form", "collapsible"],
1511
1453
  "dependencies": {
1512
1454
  "lucide-react": "^0.460.0",
1513
1455
  "class-variance-authority": "^0.7.0",
1514
- "@radix-ui/react-collapsible": "^1.1.0"
1456
+ "radix-ui": "^1.4.3"
1515
1457
  },
1516
1458
  "updateStrategy": "frozen",
1517
1459
  "category": "data-entry"
1518
- }
1519
- ],
1520
- "deprecatedEntries": [
1521
- {
1522
- "id": "aspect-ratio",
1523
- "name": "AspectRatio",
1524
- "type": "component",
1525
- "description": "容器保持宽高比 — Radix AspectRatio,无 layout shift",
1526
- "files": [
1527
- {
1528
- "source": "src/components/aspect-ratio/aspect-ratio.tsx",
1529
- "targetAlias": "components",
1530
- "targetName": "aspect-ratio.tsx"
1531
- }
1532
- ],
1533
- "meta": "src/components/aspect-ratio/aspect-ratio.meta.md",
1534
- "dependencies": {
1535
- "@radix-ui/react-aspect-ratio": "^1.1.0"
1536
- },
1537
- "updateStrategy": "frozen",
1538
- "category": "deprecated"
1539
1460
  },
1540
1461
  {
1541
- "id": "toggle",
1542
- "name": "Toggle",
1462
+ "id": "cascader-select",
1463
+ "name": "CascaderSelect",
1543
1464
  "type": "component",
1544
- "description": "二元状态按钮Radix Toggle 包装,工具栏图标级开关",
1465
+ "description": "级联选择多层级数据的逐级选择,适合省/市/区、分类目录等场景",
1545
1466
  "files": [
1546
1467
  {
1547
- "source": "src/components/toggle/toggle.tsx",
1468
+ "source": "src/components/cascader-select/index.tsx",
1548
1469
  "targetAlias": "components",
1549
- "targetName": "toggle.tsx"
1470
+ "targetName": "cascader-select.tsx"
1550
1471
  }
1551
1472
  ],
1552
- "meta": "src/components/toggle/toggle.meta.md",
1473
+ "meta": "src/components/cascader-select/meta.md",
1553
1474
  "registryDependencies": ["cn"],
1554
1475
  "dependencies": {
1555
- "@radix-ui/react-toggle": "^1.1.0",
1556
- "class-variance-authority": "^0.7.0"
1476
+ "lucide-react": "^0.460.0"
1557
1477
  },
1558
1478
  "updateStrategy": "frozen",
1559
- "category": "deprecated"
1479
+ "category": "data-entry"
1560
1480
  },
1561
1481
  {
1562
- "id": "toggle-group",
1563
- "name": "ToggleGroup",
1482
+ "id": "float-button",
1483
+ "name": "FloatButton",
1564
1484
  "type": "component",
1565
- "description": "切换按钮组Radix ToggleGroup,type=single|multiple,复用 Toggle variant/size",
1485
+ "description": "悬浮按钮固定在视口角落的操作按钮,用于回到顶部、客服入口、新建等高频操作",
1566
1486
  "files": [
1567
1487
  {
1568
- "source": "src/components/toggle-group/toggle-group.tsx",
1488
+ "source": "src/components/float-button/index.tsx",
1569
1489
  "targetAlias": "components",
1570
- "targetName": "toggle-group.tsx"
1490
+ "targetName": "float-button.tsx"
1571
1491
  }
1572
1492
  ],
1573
- "meta": "src/components/toggle-group/toggle-group.meta.md",
1574
- "registryDependencies": ["cn", "toggle"],
1493
+ "meta": "src/components/float-button/meta.md",
1494
+ "registryDependencies": ["cn"],
1575
1495
  "dependencies": {
1576
- "@radix-ui/react-toggle-group": "^1.1.0",
1496
+ "lucide-react": "^0.460.0",
1577
1497
  "class-variance-authority": "^0.7.0"
1578
1498
  },
1579
1499
  "updateStrategy": "frozen",
1580
- "category": "deprecated"
1500
+ "category": "general"
1581
1501
  },
1582
1502
  {
1583
- "id": "input-otp",
1584
- "name": "InputOTP",
1503
+ "id": "image",
1504
+ "name": "Image",
1585
1505
  "type": "component",
1586
- "description": "OTP 验证码输入 基于 input-otp,shadcn-only(短验证码场景:登录、二步验证、PIN)",
1506
+ "description": "图片带加载占位、错误兜底和点击预览的增强图片组件",
1587
1507
  "files": [
1588
1508
  {
1589
- "source": "src/components/input-otp/input-otp.tsx",
1509
+ "source": "src/components/image/index.tsx",
1590
1510
  "targetAlias": "components",
1591
- "targetName": "input-otp.tsx"
1511
+ "targetName": "image.tsx"
1592
1512
  }
1593
1513
  ],
1594
- "meta": "src/components/input-otp/input-otp.meta.md",
1595
- "registryDependencies": ["cn"],
1514
+ "meta": "src/components/image/meta.md",
1515
+ "registryDependencies": ["cn", "skeleton", "dialog"],
1596
1516
  "dependencies": {
1597
- "input-otp": "^1.2.0",
1598
1517
  "lucide-react": "^0.460.0"
1599
1518
  },
1600
1519
  "updateStrategy": "frozen",
1601
- "category": "deprecated"
1520
+ "category": "data-display"
1602
1521
  },
1603
1522
  {
1604
- "id": "context-menu",
1605
- "name": "ContextMenu",
1523
+ "id": "mentions",
1524
+ "name": "Mentions",
1606
1525
  "type": "component",
1607
- "description": "右键菜单Radix ContextMenu(与 DropdownMenu 形态一致,触发为右键)",
1526
+ "description": "提及在文本输入中通过特定前缀触发候选列表,选中后将提及插入文本",
1608
1527
  "files": [
1609
1528
  {
1610
- "source": "src/components/context-menu/context-menu.tsx",
1529
+ "source": "src/components/mentions/index.tsx",
1611
1530
  "targetAlias": "components",
1612
- "targetName": "context-menu.tsx"
1531
+ "targetName": "mentions.tsx"
1613
1532
  }
1614
1533
  ],
1615
- "meta": "src/components/context-menu/context-menu.meta.md",
1616
- "registryDependencies": ["cn"],
1534
+ "meta": "src/components/mentions/meta.md",
1535
+ "registryDependencies": ["cn", "textarea"],
1617
1536
  "dependencies": {
1618
- "@radix-ui/react-context-menu": "^2.2.0",
1619
1537
  "lucide-react": "^0.460.0"
1620
1538
  },
1621
1539
  "updateStrategy": "frozen",
1622
- "category": "deprecated"
1540
+ "category": "data-entry"
1623
1541
  },
1624
1542
  {
1625
1543
  "id": "menubar",
1626
1544
  "name": "Menubar",
1627
1545
  "type": "component",
1628
- "description": "应用顶部菜单栏 — Radix Menubar(macOS 风格:文件/编辑/视图/帮助)",
1546
+ "description": "菜单栏水平菜单栏,支持子菜单、快捷键、复选和单选项,基于 Radix Menubar 原语",
1629
1547
  "files": [
1630
1548
  {
1631
- "source": "src/components/menubar/menubar.tsx",
1549
+ "source": "src/components/menubar/index.tsx",
1632
1550
  "targetAlias": "components",
1633
1551
  "targetName": "menubar.tsx"
1634
1552
  }
1635
1553
  ],
1636
- "meta": "src/components/menubar/menubar.meta.md",
1554
+ "meta": "src/components/menubar/meta.md",
1637
1555
  "registryDependencies": ["cn"],
1638
1556
  "dependencies": {
1639
- "@radix-ui/react-menubar": "^1.1.0",
1557
+ "radix-ui": "^1.4.3",
1640
1558
  "lucide-react": "^0.460.0"
1641
1559
  },
1642
1560
  "updateStrategy": "frozen",
1643
- "category": "deprecated"
1561
+ "category": "navigation"
1644
1562
  },
1645
1563
  {
1646
1564
  "id": "navigation-menu",
1647
1565
  "name": "NavigationMenu",
1648
1566
  "type": "component",
1649
- "description": "网站主导航 — Radix NavigationMenu(支持富 Content 面板)",
1567
+ "description": "导航菜单水平导航栏,支持嵌套菜单、多列布局和快捷链接展示,基于 Radix NavigationMenu 原语",
1650
1568
  "files": [
1651
1569
  {
1652
- "source": "src/components/navigation-menu/navigation-menu.tsx",
1570
+ "source": "src/components/navigation-menu/index.tsx",
1653
1571
  "targetAlias": "components",
1654
1572
  "targetName": "navigation-menu.tsx"
1655
1573
  }
1656
1574
  ],
1657
- "meta": "src/components/navigation-menu/navigation-menu.meta.md",
1575
+ "meta": "src/components/navigation-menu/meta.md",
1658
1576
  "registryDependencies": ["cn"],
1659
1577
  "dependencies": {
1660
- "@radix-ui/react-navigation-menu": "^1.2.0",
1578
+ "radix-ui": "^1.4.3",
1661
1579
  "class-variance-authority": "^0.7.0",
1662
1580
  "lucide-react": "^0.460.0"
1663
1581
  },
1664
1582
  "updateStrategy": "frozen",
1665
- "category": "deprecated"
1583
+ "category": "navigation"
1666
1584
  },
1667
1585
  {
1668
1586
  "id": "scroll-area",
1669
1587
  "name": "ScrollArea",
1670
1588
  "type": "component",
1671
- "description": "自定义滚动容器 — Radix ScrollArea(跨浏览器一致的滚动条,触屏友好,自动隐藏 thumb)",
1589
+ "description": "滚动区域自定义滚动条的滚动容器,基于 Radix ScrollArea 原语",
1672
1590
  "files": [
1673
1591
  {
1674
- "source": "src/components/scroll-area/scroll-area.tsx",
1592
+ "source": "src/components/scroll-area/index.tsx",
1675
1593
  "targetAlias": "components",
1676
1594
  "targetName": "scroll-area.tsx"
1677
1595
  }
1678
1596
  ],
1679
- "meta": "src/components/scroll-area/scroll-area.meta.md",
1597
+ "meta": "src/components/scroll-area/meta.md",
1680
1598
  "registryDependencies": ["cn"],
1681
1599
  "dependencies": {
1682
- "@radix-ui/react-scroll-area": "^1.2.0"
1683
- },
1684
- "updateStrategy": "frozen",
1685
- "category": "deprecated"
1686
- },
1687
- {
1688
- "id": "image",
1689
- "name": "Image",
1690
- "type": "component",
1691
- "description": "图片 — antd 独有补足。自动加载占位 + 失败占位 + 点击预览(Dialog 模态原图)",
1692
- "files": [
1693
- {
1694
- "source": "src/components/image/image.tsx",
1695
- "targetAlias": "components",
1696
- "targetName": "image.tsx"
1697
- }
1698
- ],
1699
- "meta": "src/components/image/image.meta.md",
1700
- "registryDependencies": ["cn", "dialog", "skeleton"],
1701
- "dependencies": {
1702
- "lucide-react": "^0.460.0"
1600
+ "radix-ui": "^1.4.3"
1703
1601
  },
1704
1602
  "updateStrategy": "frozen",
1705
- "category": "deprecated"
1706
- },
1707
- {
1708
- "id": "mentions",
1709
- "name": "Mentions",
1710
- "type": "component",
1711
- "description": "@提及输入 — antd 独有补足。Textarea + @ 触发候选下拉(评论 @ 同事 / # 话题),键盘 ↑↓ 切换 + Enter/Tab 选中 + Esc 关闭,异步候选用 onSearch 刷新 options",
1712
- "files": [
1713
- {
1714
- "source": "src/components/mentions/mentions.tsx",
1715
- "targetAlias": "components",
1716
- "targetName": "mentions.tsx"
1717
- }
1718
- ],
1719
- "meta": "src/components/mentions/mentions.meta.md",
1720
- "registryDependencies": ["cn", "input"],
1721
- "updateStrategy": "frozen",
1722
- "category": "deprecated"
1603
+ "category": "layout"
1723
1604
  },
1724
1605
  {
1725
- "id": "kbd",
1726
- "name": "Kbd",
1606
+ "id": "toggle",
1607
+ "name": "Toggle",
1727
1608
  "type": "component",
1728
- "description": "键位展示shadcn 2025-10 新增。语义化 `<kbd>` 元素 + `KbdGroup` 组合容器,用于标注快捷键(⌘K / Ctrl + Enter)",
1609
+ "description": "切换按钮可切换开关状态的按钮,支持多种变体和尺寸,基于 Radix Toggle 原语",
1729
1610
  "files": [
1730
1611
  {
1731
- "source": "src/components/kbd/kbd.tsx",
1612
+ "source": "src/components/toggle/index.tsx",
1732
1613
  "targetAlias": "components",
1733
- "targetName": "kbd.tsx"
1614
+ "targetName": "toggle.tsx"
1734
1615
  }
1735
1616
  ],
1736
- "meta": "src/components/kbd/kbd.meta.md",
1617
+ "meta": "src/components/toggle/meta.md",
1737
1618
  "registryDependencies": ["cn"],
1738
1619
  "dependencies": {
1620
+ "radix-ui": "^1.4.3",
1739
1621
  "class-variance-authority": "^0.7.0"
1740
1622
  },
1741
1623
  "updateStrategy": "frozen",
1742
- "category": "deprecated"
1743
- },
1744
- {
1745
- "id": "native-select",
1746
- "name": "NativeSelect",
1747
- "type": "component",
1748
- "description": "原生 `<select>` 样式封装 — shadcn 2025-10 新增。零 JS 开销,移动端弹起系统 picker,直接参与 form submit。与 Radix Select 互补",
1749
- "files": [
1750
- {
1751
- "source": "src/components/native-select/native-select.tsx",
1752
- "targetAlias": "components",
1753
- "targetName": "native-select.tsx"
1754
- }
1755
- ],
1756
- "meta": "src/components/native-select/native-select.meta.md",
1757
- "registryDependencies": ["cn"],
1758
- "dependencies": {
1759
- "lucide-react": "^0.460.0"
1760
- },
1761
- "updateStrategy": "frozen",
1762
- "category": "deprecated"
1624
+ "category": "general"
1763
1625
  },
1764
1626
  {
1765
- "id": "segmented",
1766
- "name": "Segmented",
1627
+ "id": "toggle-group",
1628
+ "name": "ToggleGroup",
1767
1629
  "type": "component",
1768
- "description": "分段控制器antd 独有补足。等价 antd `Segmented`(v5.0+),iOS / macOS 风格紧凑互斥单选(视图切换 / 时间区间 / 主题档)",
1630
+ "description": "切换按钮组一组互斥或多选的切换按钮,基于 Radix ToggleGroup 原语,复用 toggle cva 变体",
1769
1631
  "files": [
1770
1632
  {
1771
- "source": "src/components/segmented/segmented.tsx",
1633
+ "source": "src/components/toggle-group/index.tsx",
1772
1634
  "targetAlias": "components",
1773
- "targetName": "segmented.tsx"
1635
+ "targetName": "toggle-group.tsx"
1774
1636
  }
1775
1637
  ],
1776
- "meta": "src/components/segmented/segmented.meta.md",
1777
- "registryDependencies": ["cn"],
1638
+ "meta": "src/components/toggle-group/meta.md",
1639
+ "registryDependencies": ["cn", "toggle"],
1778
1640
  "dependencies": {
1641
+ "radix-ui": "^1.4.3",
1779
1642
  "class-variance-authority": "^0.7.0"
1780
1643
  },
1781
1644
  "updateStrategy": "frozen",
1782
- "category": "deprecated"
1783
- },
1784
- {
1785
- "id": "app",
1786
- "name": "App",
1787
- "type": "component",
1788
- "description": "应用根容器 — antd 独有补足。对标 antd `App`,挂全局 Toaster + 设置 dir / lang + 根级 className 承载;不接管主题(主题靠 design tokens),不收敛 useApp() hook",
1789
- "files": [
1790
- {
1791
- "source": "src/components/app/app.tsx",
1792
- "targetAlias": "components",
1793
- "targetName": "app.tsx"
1794
- }
1795
- ],
1796
- "meta": "src/components/app/app.meta.md",
1797
- "registryDependencies": ["cn", "sonner"],
1798
- "updateStrategy": "frozen",
1799
- "category": "deprecated"
1800
- },
1801
- {
1802
- "id": "anchor",
1803
- "name": "Anchor",
1804
- "type": "component",
1805
- "description": "锚点导航 — antd 独有补足。等价 antd `Anchor`,长文档 / 详情页侧边目录,点击滚动到 id 节点,滚动时 IntersectionObserver 自动高亮,支持嵌套两层缩进",
1806
- "files": [
1807
- {
1808
- "source": "src/components/anchor/anchor.tsx",
1809
- "targetAlias": "components",
1810
- "targetName": "anchor.tsx"
1811
- }
1812
- ],
1813
- "meta": "src/components/anchor/anchor.meta.md",
1814
- "registryDependencies": ["cn"],
1815
- "updateStrategy": "frozen",
1816
- "category": "deprecated"
1817
- },
1818
- {
1819
- "id": "float-button",
1820
- "name": "FloatButton",
1821
- "type": "component",
1822
- "description": "悬浮按钮 — antd 独有补足。等价 antd `FloatButton`(v5.0,替代旧 BackTop)。固定右下角强主张操作,配 FloatButtonGroup 堆叠多个,FloatButtonBackTop 预置回到顶部",
1823
- "files": [
1824
- {
1825
- "source": "src/components/float-button/float-button.tsx",
1826
- "targetAlias": "components",
1827
- "targetName": "float-button.tsx"
1828
- }
1829
- ],
1830
- "meta": "src/components/float-button/float-button.meta.md",
1831
- "registryDependencies": ["cn"],
1832
- "dependencies": {
1833
- "lucide-react": "^0.460.0"
1834
- },
1835
- "updateStrategy": "frozen",
1836
- "category": "deprecated"
1837
- },
1838
- {
1839
- "id": "tour",
1840
- "name": "Tour",
1841
- "type": "component",
1842
- "description": "新手引导 — antd 独有补足。等价 antd `Tour`(v5.0+),多步骤 spotlight + 卡片 + 步进按钮 + 可关闭,业务侧自管首次访问标记",
1843
- "files": [
1844
- {
1845
- "source": "src/components/tour/tour.tsx",
1846
- "targetAlias": "components",
1847
- "targetName": "tour.tsx"
1848
- }
1849
- ],
1850
- "meta": "src/components/tour/tour.meta.md",
1851
- "registryDependencies": ["cn", "button"],
1852
- "dependencies": {
1853
- "lucide-react": "^0.460.0"
1854
- },
1855
- "updateStrategy": "frozen",
1856
- "category": "deprecated"
1857
- },
1858
- {
1859
- "id": "masonry",
1860
- "name": "Masonry",
1861
- "type": "component",
1862
- "description": "瀑布流 — antd 独有补足。等价 antd `Masonry`(v6.0 新),CSS column-count + break-inside: avoid 的 0 JS 实现,SSR 友好(图片墙 / 资讯卡片 / Dashboard 卡片墙)",
1863
- "files": [
1864
- {
1865
- "source": "src/components/masonry/masonry.tsx",
1866
- "targetAlias": "components",
1867
- "targetName": "masonry.tsx"
1868
- }
1869
- ],
1870
- "meta": "src/components/masonry/masonry.meta.md",
1871
- "registryDependencies": ["cn"],
1872
- "updateStrategy": "frozen",
1873
- "category": "deprecated"
1645
+ "category": "general"
1874
1646
  }
1875
- ]
1647
+ ],
1648
+ "deprecatedEntries": []
1876
1649
  }