@hsu-react/ui 1.0.0 → 2.0.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 (709) hide show
  1. package/README.md +15 -6
  2. package/es/components/Button/index.d.ts +49 -8
  3. package/es/components/Button/index.js +68 -25
  4. package/es/components/Button/index.module.scss +38 -0
  5. package/es/components/ChainGraph/_components/ExpandButtons/index.module.scss +5 -3
  6. package/es/components/ChainGraph/_components/SearchSelect/index.module.scss +3 -2
  7. package/es/components/ChainGraph/index.js +3 -1
  8. package/es/components/ChainGraph/index.module.scss +2 -2
  9. package/es/components/Chart/Group/index.module.scss +1 -1
  10. package/es/components/Chat/ChatHistory/_components/HistoryGroup/index.module.scss +1 -1
  11. package/es/components/Chat/ChatHistory/_components/HistoryItem/index.module.scss +13 -13
  12. package/es/components/Chat/ChatHistory/_components/NewChatButton/index.module.scss +6 -6
  13. package/es/components/Chat/ChatHistory/index.module.scss +3 -3
  14. package/es/components/Chat/ChatInput/_components/AgentToggleButton/index.module.scss +9 -9
  15. package/es/components/Chat/ChatInput/_components/FileList/index.module.scss +3 -3
  16. package/es/components/Chat/ChatInput/_components/SendButton/index.module.scss +3 -3
  17. package/es/components/Chat/ChatInput/_components/StopButton/index.module.scss +2 -2
  18. package/es/components/Chat/ChatInput/_components/UploadButton/index.js +1 -1
  19. package/es/components/Chat/ChatInput/_components/UploadButton/index.module.scss +3 -3
  20. package/es/components/Chat/ChatInput/_utils/index.js +1 -1
  21. package/es/components/Chat/ChatInput/index.module.scss +12 -11
  22. package/es/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/Copy/index.js +1 -1
  23. package/es/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/Copy/index.module.scss +6 -6
  24. package/es/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/LikeDislike/index.js +3 -1
  25. package/es/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/LikeDislike/index.module.scss +6 -6
  26. package/es/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/QuoteList/index.module.scss +8 -8
  27. package/es/components/Chat/ChatList/_components/Assistant/AssistantItem/index.module.scss +7 -7
  28. package/es/components/Chat/ChatList/_components/Assistant/index.module.scss +3 -3
  29. package/es/components/Chat/ChatList/_components/User/index.module.scss +21 -10
  30. package/es/components/Chat/ChatList/index.js +35 -30
  31. package/es/components/Checkbox/CheckboxGroup/index.module.scss +10 -13
  32. package/es/components/Checkbox/index.module.scss +23 -28
  33. package/es/components/CodeMirror/index.module.scss +6 -6
  34. package/es/components/Copy/index.d.ts +8 -2
  35. package/es/components/Copy/index.js +45 -22
  36. package/es/components/Copy/index.module.scss +5 -5
  37. package/es/components/DatePicker/RangePicker/index.js +5 -1
  38. package/es/components/DatePicker/RangePicker/index.module.scss +10 -1
  39. package/es/components/DatePicker/StepPicker/index.module.scss +6 -4
  40. package/es/components/DatePicker/index.js +14 -3
  41. package/es/components/DatePicker/index.module.scss +2 -2
  42. package/es/components/Descriptions/index.d.ts +6 -2
  43. package/es/components/Descriptions/index.js +15 -8
  44. package/es/components/Editor/index.module.scss +7 -7
  45. package/es/components/FileCol/index.js +3 -3
  46. package/es/components/FilePreview/_components/BasePreview/index.module.scss +3 -3
  47. package/es/components/FilePreview/_components/PdfPreview/index.js +9 -2
  48. package/es/components/FilePreview/_components/PdfPreview/index.module.scss +7 -7
  49. package/es/components/FilePreview/index.module.scss +4 -4
  50. package/es/components/Form/DrawerForm/index.js +10 -18
  51. package/es/components/Form/ImportForm/index.js +15 -16
  52. package/es/components/Form/ModalForm/index.d.ts +1 -1
  53. package/es/components/Form/ModalForm/index.js +14 -16
  54. package/es/components/Form/index.d.ts +12 -0
  55. package/es/components/Form/index.js +7 -1
  56. package/es/components/FormItem/FormInput/FormPasswordStrength/index.module.scss +3 -3
  57. package/es/components/FormItem/FormRadio/index.module.scss +11 -13
  58. package/es/components/FormItem/FormSegmented/index.module.scss +1 -1
  59. package/es/components/FormItem/FormSlider/index.module.scss +1 -1
  60. package/es/components/FormItem/FormUpload/FormImage/index.js +1 -1
  61. package/es/components/FormItem/FormUpload/index.js +2 -1
  62. package/es/components/FormItem/FormUpload/index.module.scss +17 -17
  63. package/es/components/FormItem/ItemContainer/index.js +4 -4
  64. package/es/components/FormItem/ItemContainer/index.module.scss +33 -7
  65. package/es/components/Input/Number/index.js +41 -55
  66. package/es/components/Input/Number/index.module.scss +27 -54
  67. package/es/components/Input/Range/index.module.scss +16 -5
  68. package/es/components/Input/TextArea/index.module.scss +13 -13
  69. package/es/components/Input/index.d.ts +3 -1
  70. package/es/components/Input/index.js +2 -0
  71. package/es/components/Input/index.module.scss +1 -1
  72. package/es/components/Markdown/Editor/index.module.scss +4 -4
  73. package/es/components/Markdown/Views/MermaidBlock.js +15 -1
  74. package/es/components/Markdown/Views/blocks.module.scss +13 -13
  75. package/es/components/Markdown/Views/index.module.scss +3 -3
  76. package/es/components/Modal/index.d.ts +12 -2
  77. package/es/components/Modal/index.js +31 -11
  78. package/es/components/Modal/index.module.scss +11 -1
  79. package/es/components/Operate/index.js +3 -1
  80. package/es/components/Operate/index.module.scss +1 -1
  81. package/es/components/Pagination/index.module.scss +19 -18
  82. package/es/components/Panel/DefaultPanel/index.module.scss +3 -3
  83. package/es/components/Panel/IframePanel/index.js +3 -1
  84. package/es/components/Panel/IframePanel/index.module.scss +2 -2
  85. package/es/components/Panel/ListPanel/ListModalPanel/index.d.ts +2 -2
  86. package/es/components/Panel/ListPanel/ListModalPanel/index.module.scss +2 -2
  87. package/es/components/Panel/ListPanel/_components/ColumnMgt/index.js +9 -17
  88. package/es/components/Panel/ListPanel/_components/ColumnMgt/index.module.scss +3 -3
  89. package/es/components/Panel/ListPanel/_components/ToolBar/index.js +1 -1
  90. package/es/components/Panel/ListPanel/_components/ToolBar/index.module.scss +14 -1
  91. package/es/components/Panel/ListPanel/index.d.ts +2 -2
  92. package/es/components/Panel/ListPanel/index.module.scss +9 -9
  93. package/es/components/Search/SearchAdvanced/index.d.ts +3 -3
  94. package/es/components/Search/SearchCard/index.module.scss +15 -15
  95. package/es/components/Search/SearchCollapsible/index.d.ts +3 -3
  96. package/es/components/Search/SearchWithFilter/index.d.ts +3 -3
  97. package/es/components/Search/SearchWithMore/index.d.ts +3 -3
  98. package/es/components/Search/_components/ButtonGroup/index.d.ts +4 -4
  99. package/es/components/Search/_components/ButtonGroup/index.js +2 -2
  100. package/es/components/Search/_components/FilterDropdown/index.js +3 -1
  101. package/es/components/Search/_hooks/useSearchCommon.d.ts +3 -3
  102. package/es/components/Search/_types/index.d.ts +3 -3
  103. package/es/components/Search/index.d.ts +3 -3
  104. package/es/components/Search/index.module.scss +33 -5
  105. package/es/components/SecondConf/index.js +16 -6
  106. package/es/components/SecondConf/index.module.scss +3 -3
  107. package/es/components/Select/AutoCompleteSelect/index.js +17 -7
  108. package/es/components/Select/AutoCompleteSelect/index.module.scss +73 -132
  109. package/es/components/Select/IconSelect/index.js +67 -60
  110. package/es/components/Select/IconSelect/index.module.scss +4 -3
  111. package/es/components/Select/TreeSelect/_utils/getExpandedKeysByLevel.d.ts +1 -1
  112. package/es/components/Select/TreeSelect/index.js +18 -7
  113. package/es/components/Select/TreeSelect/index.module.scss +19 -44
  114. package/es/components/Select/index.d.ts +17 -2
  115. package/es/components/Select/index.js +22 -4
  116. package/es/components/Select/index.module.scss +71 -131
  117. package/es/components/Slider/index.module.scss +1 -1
  118. package/es/components/Switch/index.module.scss +1 -1
  119. package/es/components/TabBar/index.module.scss +11 -11
  120. package/es/components/Table/_components/Drag/index.js +4 -1
  121. package/es/components/Table/_hooks/useTableColumns.js +1 -1
  122. package/es/components/Table/_utils/tableUtils.d.ts +1 -1
  123. package/es/components/Table/_utils/tableUtils.js +4 -3
  124. package/es/components/Table/index.d.ts +18 -2
  125. package/es/components/Table/index.js +9 -0
  126. package/es/components/Table/index.module.scss +14 -14
  127. package/es/components/Tags/_components/EllipsisTag/index.js +1 -1
  128. package/es/components/TextEllipsis/index.js +12 -8
  129. package/es/components/Tree/index.d.ts +8 -2
  130. package/es/components/Tree/index.js +2 -0
  131. package/es/components/Tree/index.module.scss +6 -6
  132. package/es/components/Upload/_components/UploadedItem/index.js +3 -3
  133. package/es/components/Upload/_components/UploadingItem/index.js +3 -3
  134. package/es/components/Upload/_utils/normalUpload.d.ts +1 -1
  135. package/es/components/Upload/_utils/validateFile.js +49 -2
  136. package/es/components/Upload/index.d.ts +8 -2
  137. package/es/components/Upload/index.js +11 -4
  138. package/es/config-provider/index.d.ts +34 -2
  139. package/es/config-provider/index.js +59 -5
  140. package/es/feedback/index.d.ts +20 -0
  141. package/es/feedback/index.js +130 -0
  142. package/es/hooks/index.d.ts +5 -0
  143. package/es/hooks/index.js +4 -1
  144. package/es/hooks/useBreakpoint.d.ts +24 -0
  145. package/es/hooks/useBreakpoint.js +57 -0
  146. package/es/hooks/useIsDark.d.ts +9 -0
  147. package/es/hooks/useIsDark.js +64 -0
  148. package/es/hooks/usePointerType.d.ts +22 -0
  149. package/es/hooks/usePointerType.js +62 -0
  150. package/es/index.d.ts +4 -4
  151. package/es/index.js +19 -5
  152. package/es/layout/Breadcrumb/_components/BreadcrumbItemIcon/index.d.ts +10 -0
  153. package/es/layout/Breadcrumb/_components/BreadcrumbItemIcon/index.js +19 -0
  154. package/es/layout/Breadcrumb/_components/BreadcrumbMenuItem/index.d.ts +11 -0
  155. package/es/layout/Breadcrumb/_components/BreadcrumbMenuItem/index.js +26 -0
  156. package/es/layout/Breadcrumb/_hooks/useBreadcrumbPath.d.ts +5 -0
  157. package/es/layout/Breadcrumb/_hooks/useBreadcrumbPath.js +104 -0
  158. package/es/layout/Breadcrumb/_utils/formatMenu.d.ts +9 -0
  159. package/es/layout/Breadcrumb/_utils/formatMenu.js +28 -0
  160. package/es/layout/Breadcrumb/_utils/formatRoutes.d.ts +9 -0
  161. package/es/layout/Breadcrumb/_utils/formatRoutes.js +76 -0
  162. package/es/layout/Breadcrumb/_utils/pathMatch.d.ts +8 -0
  163. package/es/layout/Breadcrumb/_utils/pathMatch.js +45 -0
  164. package/es/layout/Breadcrumb/index.d.ts +19 -0
  165. package/es/layout/Breadcrumb/index.js +96 -0
  166. package/es/layout/Breadcrumb/index.module.scss +15 -0
  167. package/es/layout/Header/index.d.ts +39 -0
  168. package/es/layout/Header/index.js +166 -0
  169. package/es/layout/Header/index.module.scss +215 -0
  170. package/es/layout/I18n/I18nStore.d.ts +29 -0
  171. package/es/layout/I18n/I18nStore.js +94 -0
  172. package/es/layout/I18n/index.d.ts +14 -0
  173. package/es/layout/I18n/index.js +33 -0
  174. package/es/layout/I18n/locales/en-US.d.ts +2 -0
  175. package/es/layout/I18n/locales/en-US.js +15 -0
  176. package/es/layout/I18n/locales/zh-CN.d.ts +2 -0
  177. package/es/layout/I18n/locales/zh-CN.js +15 -0
  178. package/es/layout/Menu/_components/SecondaryHeader/index.d.ts +22 -0
  179. package/es/layout/Menu/_components/SecondaryHeader/index.js +48 -0
  180. package/es/layout/Menu/_components/SecondaryHeader/index.module.scss +65 -0
  181. package/es/layout/Menu/_hooks/useMenuPath.d.ts +17 -0
  182. package/es/layout/Menu/_hooks/useMenuPath.js +91 -0
  183. package/es/layout/Menu/_hooks/useOnlyLvOneMenu.d.ts +13 -0
  184. package/es/layout/Menu/_hooks/useOnlyLvOneMenu.js +25 -0
  185. package/es/layout/Menu/_utils/formatMenu.d.ts +10 -0
  186. package/es/layout/Menu/_utils/formatMenu.js +55 -0
  187. package/es/layout/Menu/_utils/pathMatch.d.ts +8 -0
  188. package/es/layout/Menu/_utils/pathMatch.js +42 -0
  189. package/es/layout/Menu/_utils/setActiveIcon.d.ts +7 -0
  190. package/es/layout/Menu/_utils/setActiveIcon.js +20 -0
  191. package/es/layout/Menu/index.d.ts +34 -0
  192. package/es/layout/Menu/index.js +195 -0
  193. package/es/layout/Menu/index.module.scss +50 -0
  194. package/es/layout/NavTabBar/_components/SortableTab/index.d.ts +9 -0
  195. package/es/layout/NavTabBar/_components/SortableTab/index.js +34 -0
  196. package/es/layout/NavTabBar/_components/TabContextMenu/index.d.ts +20 -0
  197. package/es/layout/NavTabBar/_components/TabContextMenu/index.js +124 -0
  198. package/es/layout/NavTabBar/_components/TabDragOverlay/index.d.ts +20 -0
  199. package/es/layout/NavTabBar/_components/TabDragOverlay/index.js +50 -0
  200. package/es/layout/NavTabBar/_components/TabLabel/index.d.ts +22 -0
  201. package/es/layout/NavTabBar/_components/TabLabel/index.js +61 -0
  202. package/es/layout/NavTabBar/_hooks/useDropTabKey.d.ts +5 -0
  203. package/es/layout/NavTabBar/_hooks/useDropTabKey.js +25 -0
  204. package/es/layout/NavTabBar/_hooks/useTabContextMenu.d.ts +8 -0
  205. package/es/layout/NavTabBar/_hooks/useTabContextMenu.js +31 -0
  206. package/es/layout/NavTabBar/_hooks/useTabPath.d.ts +16 -0
  207. package/es/layout/NavTabBar/_hooks/useTabPath.js +131 -0
  208. package/es/layout/NavTabBar/_hooks/useTabTitle.d.ts +5 -0
  209. package/es/layout/NavTabBar/_hooks/useTabTitle.js +29 -0
  210. package/es/layout/NavTabBar/_utils/formatNavTabBar.d.ts +9 -0
  211. package/es/layout/NavTabBar/_utils/formatNavTabBar.js +48 -0
  212. package/es/layout/NavTabBar/_utils/pathMatch.d.ts +8 -0
  213. package/es/layout/NavTabBar/_utils/pathMatch.js +33 -0
  214. package/es/layout/NavTabBar/_utils/tabActions.d.ts +21 -0
  215. package/es/layout/NavTabBar/_utils/tabActions.js +114 -0
  216. package/es/layout/NavTabBar/index.d.ts +21 -0
  217. package/es/layout/NavTabBar/index.js +224 -0
  218. package/es/layout/NavTabBar/index.module.scss +179 -0
  219. package/es/layout/Theme/ThemeStore.d.ts +18 -0
  220. package/es/layout/Theme/ThemeStore.js +80 -0
  221. package/es/layout/Theme/index.d.ts +30 -0
  222. package/es/layout/Theme/index.js +89 -0
  223. package/es/layout/Theme/index.module.scss +6 -0
  224. package/es/layout/_hooks/useDropTab.d.ts +6 -0
  225. package/es/layout/_hooks/useDropTab.js +13 -0
  226. package/es/layout/_hooks/useReload.d.ts +6 -0
  227. package/es/layout/_hooks/useReload.js +10 -0
  228. package/es/layout/_hooks/useSetTabTitle.d.ts +6 -0
  229. package/es/layout/_hooks/useSetTabTitle.js +10 -0
  230. package/es/layout/_utils/storage.d.ts +6 -0
  231. package/es/layout/_utils/storage.js +32 -0
  232. package/es/layout/index.d.ts +43 -0
  233. package/es/layout/index.js +50 -0
  234. package/es/layout/types.d.ts +51 -0
  235. package/es/layout/types.js +1 -0
  236. package/es/request/index.js +15 -1
  237. package/es/styles/_responsive.scss +53 -0
  238. package/es/styles/antd-overload.scss +77 -21
  239. package/es/styles/tokens.d.ts +113 -13
  240. package/es/styles/tokens.js +176 -28
  241. package/es/styles/tokens.json +82 -0
  242. package/es/styles/tokens.scss +99 -52
  243. package/es/types/antd.d.ts +35 -0
  244. package/es/types/antd.js +1 -0
  245. package/es/utils/semantic.d.ts +31 -0
  246. package/es/utils/semantic.js +37 -0
  247. package/lib/components/Button/index.d.ts +49 -8
  248. package/lib/components/Button/index.js +62 -20
  249. package/lib/components/Button/index.module.scss +38 -0
  250. package/lib/components/ChainGraph/_components/ExpandButtons/index.module.scss +5 -3
  251. package/lib/components/ChainGraph/_components/SearchSelect/index.module.scss +3 -2
  252. package/lib/components/ChainGraph/index.js +3 -1
  253. package/lib/components/ChainGraph/index.module.scss +2 -2
  254. package/lib/components/Chart/Group/index.module.scss +1 -1
  255. package/lib/components/Chat/ChatHistory/_components/HistoryGroup/index.module.scss +1 -1
  256. package/lib/components/Chat/ChatHistory/_components/HistoryItem/index.module.scss +13 -13
  257. package/lib/components/Chat/ChatHistory/_components/NewChatButton/index.module.scss +6 -6
  258. package/lib/components/Chat/ChatHistory/index.module.scss +3 -3
  259. package/lib/components/Chat/ChatInput/_components/AgentToggleButton/index.module.scss +9 -9
  260. package/lib/components/Chat/ChatInput/_components/FileList/index.module.scss +3 -3
  261. package/lib/components/Chat/ChatInput/_components/SendButton/index.module.scss +3 -3
  262. package/lib/components/Chat/ChatInput/_components/StopButton/index.module.scss +2 -2
  263. package/lib/components/Chat/ChatInput/_components/UploadButton/index.js +1 -1
  264. package/lib/components/Chat/ChatInput/_components/UploadButton/index.module.scss +3 -3
  265. package/lib/components/Chat/ChatInput/_utils/index.js +6 -6
  266. package/lib/components/Chat/ChatInput/index.module.scss +12 -11
  267. package/lib/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/Copy/index.js +2 -2
  268. package/lib/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/Copy/index.module.scss +6 -6
  269. package/lib/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/LikeDislike/index.js +3 -1
  270. package/lib/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/LikeDislike/index.module.scss +6 -6
  271. package/lib/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/QuoteList/index.module.scss +8 -8
  272. package/lib/components/Chat/ChatList/_components/Assistant/AssistantItem/index.module.scss +7 -7
  273. package/lib/components/Chat/ChatList/_components/Assistant/index.module.scss +3 -3
  274. package/lib/components/Chat/ChatList/_components/User/index.module.scss +21 -10
  275. package/lib/components/Chat/ChatList/index.js +33 -27
  276. package/lib/components/Checkbox/CheckboxGroup/index.module.scss +10 -13
  277. package/lib/components/Checkbox/index.module.scss +23 -28
  278. package/lib/components/CodeMirror/index.module.scss +6 -6
  279. package/lib/components/Copy/index.d.ts +8 -2
  280. package/lib/components/Copy/index.js +38 -23
  281. package/lib/components/Copy/index.module.scss +5 -5
  282. package/lib/components/DatePicker/RangePicker/index.js +5 -1
  283. package/lib/components/DatePicker/RangePicker/index.module.scss +10 -1
  284. package/lib/components/DatePicker/StepPicker/index.module.scss +6 -4
  285. package/lib/components/DatePicker/index.js +14 -3
  286. package/lib/components/DatePicker/index.module.scss +2 -2
  287. package/lib/components/Descriptions/index.d.ts +6 -2
  288. package/lib/components/Descriptions/index.js +14 -12
  289. package/lib/components/Editor/index.module.scss +7 -7
  290. package/lib/components/FileCol/index.js +3 -3
  291. package/lib/components/FilePreview/_components/BasePreview/index.module.scss +3 -3
  292. package/lib/components/FilePreview/_components/PdfPreview/index.js +9 -2
  293. package/lib/components/FilePreview/_components/PdfPreview/index.module.scss +7 -7
  294. package/lib/components/FilePreview/index.module.scss +4 -4
  295. package/lib/components/Form/DrawerForm/index.js +10 -17
  296. package/lib/components/Form/ImportForm/index.js +13 -18
  297. package/lib/components/Form/ModalForm/index.d.ts +1 -1
  298. package/lib/components/Form/ModalForm/index.js +11 -17
  299. package/lib/components/Form/index.d.ts +12 -0
  300. package/lib/components/Form/index.js +7 -1
  301. package/lib/components/FormItem/FormInput/FormPasswordStrength/index.module.scss +3 -3
  302. package/lib/components/FormItem/FormRadio/index.module.scss +11 -13
  303. package/lib/components/FormItem/FormSegmented/index.module.scss +1 -1
  304. package/lib/components/FormItem/FormSlider/index.module.scss +1 -1
  305. package/lib/components/FormItem/FormUpload/FormImage/index.js +3 -3
  306. package/lib/components/FormItem/FormUpload/index.js +3 -2
  307. package/lib/components/FormItem/FormUpload/index.module.scss +17 -17
  308. package/lib/components/FormItem/ItemContainer/index.js +4 -4
  309. package/lib/components/FormItem/ItemContainer/index.module.scss +33 -7
  310. package/lib/components/Input/Number/index.js +38 -54
  311. package/lib/components/Input/Number/index.module.scss +27 -54
  312. package/lib/components/Input/Range/index.module.scss +16 -5
  313. package/lib/components/Input/TextArea/index.module.scss +13 -13
  314. package/lib/components/Input/index.d.ts +3 -1
  315. package/lib/components/Input/index.js +2 -0
  316. package/lib/components/Input/index.module.scss +1 -1
  317. package/lib/components/Markdown/Editor/index.module.scss +4 -4
  318. package/lib/components/Markdown/Views/MermaidBlock.js +15 -1
  319. package/lib/components/Markdown/Views/blocks.module.scss +13 -13
  320. package/lib/components/Markdown/Views/index.module.scss +3 -3
  321. package/lib/components/Modal/index.d.ts +12 -2
  322. package/lib/components/Modal/index.js +30 -10
  323. package/lib/components/Modal/index.module.scss +11 -1
  324. package/lib/components/Operate/index.js +3 -1
  325. package/lib/components/Operate/index.module.scss +1 -1
  326. package/lib/components/Pagination/index.module.scss +19 -18
  327. package/lib/components/Panel/DefaultPanel/index.module.scss +3 -3
  328. package/lib/components/Panel/IframePanel/index.js +3 -1
  329. package/lib/components/Panel/IframePanel/index.module.scss +2 -2
  330. package/lib/components/Panel/ListPanel/ListModalPanel/index.d.ts +2 -2
  331. package/lib/components/Panel/ListPanel/ListModalPanel/index.module.scss +2 -2
  332. package/lib/components/Panel/ListPanel/_components/ColumnMgt/index.js +9 -20
  333. package/lib/components/Panel/ListPanel/_components/ColumnMgt/index.module.scss +3 -3
  334. package/lib/components/Panel/ListPanel/_components/ToolBar/index.js +1 -1
  335. package/lib/components/Panel/ListPanel/_components/ToolBar/index.module.scss +14 -1
  336. package/lib/components/Panel/ListPanel/index.d.ts +2 -2
  337. package/lib/components/Panel/ListPanel/index.module.scss +9 -9
  338. package/lib/components/Search/SearchAdvanced/index.d.ts +3 -3
  339. package/lib/components/Search/SearchCard/index.module.scss +15 -15
  340. package/lib/components/Search/SearchCollapsible/index.d.ts +3 -3
  341. package/lib/components/Search/SearchWithFilter/index.d.ts +3 -3
  342. package/lib/components/Search/SearchWithMore/index.d.ts +3 -3
  343. package/lib/components/Search/_components/ButtonGroup/index.d.ts +4 -4
  344. package/lib/components/Search/_components/ButtonGroup/index.js +2 -2
  345. package/lib/components/Search/_components/FilterDropdown/index.js +3 -1
  346. package/lib/components/Search/_hooks/useSearchCommon.d.ts +3 -3
  347. package/lib/components/Search/_types/index.d.ts +3 -3
  348. package/lib/components/Search/index.d.ts +3 -3
  349. package/lib/components/Search/index.module.scss +33 -5
  350. package/lib/components/SecondConf/index.js +14 -6
  351. package/lib/components/SecondConf/index.module.scss +3 -3
  352. package/lib/components/Select/AutoCompleteSelect/index.js +15 -5
  353. package/lib/components/Select/AutoCompleteSelect/index.module.scss +73 -132
  354. package/lib/components/Select/IconSelect/index.js +64 -57
  355. package/lib/components/Select/IconSelect/index.module.scss +4 -3
  356. package/lib/components/Select/TreeSelect/_utils/getExpandedKeysByLevel.d.ts +1 -1
  357. package/lib/components/Select/TreeSelect/index.js +18 -7
  358. package/lib/components/Select/TreeSelect/index.module.scss +19 -44
  359. package/lib/components/Select/index.d.ts +17 -2
  360. package/lib/components/Select/index.js +22 -4
  361. package/lib/components/Select/index.module.scss +71 -131
  362. package/lib/components/Slider/index.module.scss +1 -1
  363. package/lib/components/Switch/index.module.scss +1 -1
  364. package/lib/components/TabBar/index.module.scss +11 -11
  365. package/lib/components/Table/_components/Drag/index.js +6 -2
  366. package/lib/components/Table/_hooks/useTableColumns.js +1 -1
  367. package/lib/components/Table/_utils/tableUtils.d.ts +1 -1
  368. package/lib/components/Table/_utils/tableUtils.js +4 -3
  369. package/lib/components/Table/index.d.ts +18 -2
  370. package/lib/components/Table/index.js +9 -0
  371. package/lib/components/Table/index.module.scss +14 -14
  372. package/lib/components/Tags/_components/EllipsisTag/index.js +1 -1
  373. package/lib/components/TextEllipsis/index.js +6 -4
  374. package/lib/components/Tree/index.d.ts +8 -2
  375. package/lib/components/Tree/index.js +2 -0
  376. package/lib/components/Tree/index.module.scss +6 -6
  377. package/lib/components/Upload/_components/UploadedItem/index.js +3 -3
  378. package/lib/components/Upload/_components/UploadingItem/index.js +3 -3
  379. package/lib/components/Upload/_utils/normalUpload.d.ts +1 -1
  380. package/lib/components/Upload/_utils/validateFile.js +47 -2
  381. package/lib/components/Upload/index.d.ts +8 -2
  382. package/lib/components/Upload/index.js +11 -4
  383. package/lib/config-provider/index.d.ts +34 -2
  384. package/lib/config-provider/index.js +55 -4
  385. package/lib/feedback/index.d.ts +20 -0
  386. package/lib/feedback/index.js +115 -0
  387. package/lib/hooks/index.d.ts +5 -0
  388. package/lib/hooks/index.js +21 -0
  389. package/lib/hooks/useBreakpoint.d.ts +24 -0
  390. package/lib/hooks/useBreakpoint.js +49 -0
  391. package/lib/hooks/useIsDark.d.ts +9 -0
  392. package/lib/hooks/useIsDark.js +54 -0
  393. package/lib/hooks/usePointerType.d.ts +22 -0
  394. package/lib/hooks/usePointerType.js +55 -0
  395. package/lib/index.d.ts +4 -4
  396. package/lib/index.js +78 -19
  397. package/lib/layout/Breadcrumb/_components/BreadcrumbItemIcon/index.d.ts +10 -0
  398. package/lib/layout/Breadcrumb/_components/BreadcrumbItemIcon/index.js +26 -0
  399. package/lib/layout/Breadcrumb/_components/BreadcrumbMenuItem/index.d.ts +11 -0
  400. package/lib/layout/Breadcrumb/_components/BreadcrumbMenuItem/index.js +32 -0
  401. package/lib/layout/Breadcrumb/_hooks/useBreadcrumbPath.d.ts +5 -0
  402. package/lib/layout/Breadcrumb/_hooks/useBreadcrumbPath.js +89 -0
  403. package/lib/layout/Breadcrumb/_utils/formatMenu.d.ts +9 -0
  404. package/lib/layout/Breadcrumb/_utils/formatMenu.js +31 -0
  405. package/lib/layout/Breadcrumb/_utils/formatRoutes.d.ts +9 -0
  406. package/lib/layout/Breadcrumb/_utils/formatRoutes.js +67 -0
  407. package/lib/layout/Breadcrumb/_utils/pathMatch.d.ts +8 -0
  408. package/lib/layout/Breadcrumb/_utils/pathMatch.js +47 -0
  409. package/lib/layout/Breadcrumb/index.d.ts +19 -0
  410. package/lib/layout/Breadcrumb/index.js +96 -0
  411. package/lib/layout/Breadcrumb/index.module.scss +15 -0
  412. package/lib/layout/Header/index.d.ts +39 -0
  413. package/lib/layout/Header/index.js +172 -0
  414. package/lib/layout/Header/index.module.scss +215 -0
  415. package/lib/layout/I18n/I18nStore.d.ts +29 -0
  416. package/lib/layout/I18n/I18nStore.js +82 -0
  417. package/lib/layout/I18n/index.d.ts +14 -0
  418. package/lib/layout/I18n/index.js +45 -0
  419. package/lib/layout/I18n/locales/en-US.d.ts +2 -0
  420. package/lib/layout/I18n/locales/en-US.js +21 -0
  421. package/lib/layout/I18n/locales/zh-CN.d.ts +2 -0
  422. package/lib/layout/I18n/locales/zh-CN.js +21 -0
  423. package/lib/layout/Menu/_components/SecondaryHeader/index.d.ts +22 -0
  424. package/lib/layout/Menu/_components/SecondaryHeader/index.js +49 -0
  425. package/lib/layout/Menu/_components/SecondaryHeader/index.module.scss +65 -0
  426. package/lib/layout/Menu/_hooks/useMenuPath.d.ts +17 -0
  427. package/lib/layout/Menu/_hooks/useMenuPath.js +75 -0
  428. package/lib/layout/Menu/_hooks/useOnlyLvOneMenu.d.ts +13 -0
  429. package/lib/layout/Menu/_hooks/useOnlyLvOneMenu.js +31 -0
  430. package/lib/layout/Menu/_utils/formatMenu.d.ts +10 -0
  431. package/lib/layout/Menu/_utils/formatMenu.js +55 -0
  432. package/lib/layout/Menu/_utils/pathMatch.d.ts +8 -0
  433. package/lib/layout/Menu/_utils/pathMatch.js +44 -0
  434. package/lib/layout/Menu/_utils/setActiveIcon.d.ts +7 -0
  435. package/lib/layout/Menu/_utils/setActiveIcon.js +27 -0
  436. package/lib/layout/Menu/index.d.ts +34 -0
  437. package/lib/layout/Menu/index.js +158 -0
  438. package/lib/layout/Menu/index.module.scss +50 -0
  439. package/lib/layout/NavTabBar/_components/SortableTab/index.d.ts +9 -0
  440. package/lib/layout/NavTabBar/_components/SortableTab/index.js +39 -0
  441. package/lib/layout/NavTabBar/_components/TabContextMenu/index.d.ts +20 -0
  442. package/lib/layout/NavTabBar/_components/TabContextMenu/index.js +129 -0
  443. package/lib/layout/NavTabBar/_components/TabDragOverlay/index.d.ts +20 -0
  444. package/lib/layout/NavTabBar/_components/TabDragOverlay/index.js +54 -0
  445. package/lib/layout/NavTabBar/_components/TabLabel/index.d.ts +22 -0
  446. package/lib/layout/NavTabBar/_components/TabLabel/index.js +68 -0
  447. package/lib/layout/NavTabBar/_hooks/useDropTabKey.d.ts +5 -0
  448. package/lib/layout/NavTabBar/_hooks/useDropTabKey.js +32 -0
  449. package/lib/layout/NavTabBar/_hooks/useTabContextMenu.d.ts +8 -0
  450. package/lib/layout/NavTabBar/_hooks/useTabContextMenu.js +28 -0
  451. package/lib/layout/NavTabBar/_hooks/useTabPath.d.ts +16 -0
  452. package/lib/layout/NavTabBar/_hooks/useTabPath.js +107 -0
  453. package/lib/layout/NavTabBar/_hooks/useTabTitle.d.ts +5 -0
  454. package/lib/layout/NavTabBar/_hooks/useTabTitle.js +32 -0
  455. package/lib/layout/NavTabBar/_utils/formatNavTabBar.d.ts +9 -0
  456. package/lib/layout/NavTabBar/_utils/formatNavTabBar.js +49 -0
  457. package/lib/layout/NavTabBar/_utils/pathMatch.d.ts +8 -0
  458. package/lib/layout/NavTabBar/_utils/pathMatch.js +37 -0
  459. package/lib/layout/NavTabBar/_utils/tabActions.d.ts +21 -0
  460. package/lib/layout/NavTabBar/_utils/tabActions.js +93 -0
  461. package/lib/layout/NavTabBar/index.d.ts +21 -0
  462. package/lib/layout/NavTabBar/index.js +206 -0
  463. package/lib/layout/NavTabBar/index.module.scss +179 -0
  464. package/lib/layout/Theme/ThemeStore.d.ts +18 -0
  465. package/lib/layout/Theme/ThemeStore.js +63 -0
  466. package/lib/layout/Theme/index.d.ts +30 -0
  467. package/lib/layout/Theme/index.js +100 -0
  468. package/lib/layout/Theme/index.module.scss +6 -0
  469. package/lib/layout/_hooks/useDropTab.d.ts +6 -0
  470. package/lib/layout/_hooks/useDropTab.js +21 -0
  471. package/lib/layout/_hooks/useReload.d.ts +6 -0
  472. package/lib/layout/_hooks/useReload.js +18 -0
  473. package/lib/layout/_hooks/useSetTabTitle.d.ts +6 -0
  474. package/lib/layout/_hooks/useSetTabTitle.js +18 -0
  475. package/lib/layout/_utils/storage.d.ts +6 -0
  476. package/lib/layout/_utils/storage.js +39 -0
  477. package/lib/layout/index.d.ts +43 -0
  478. package/lib/layout/index.js +95 -0
  479. package/lib/layout/types.d.ts +51 -0
  480. package/lib/layout/types.js +5 -0
  481. package/lib/request/index.js +5 -1
  482. package/lib/styles/_responsive.scss +53 -0
  483. package/lib/styles/antd-overload.scss +77 -21
  484. package/lib/styles/tokens.d.ts +113 -13
  485. package/lib/styles/tokens.js +157 -30
  486. package/lib/styles/tokens.json +82 -0
  487. package/lib/styles/tokens.scss +99 -52
  488. package/lib/types/antd.d.ts +35 -0
  489. package/lib/types/antd.js +5 -0
  490. package/lib/utils/semantic.d.ts +31 -0
  491. package/lib/utils/semantic.js +40 -0
  492. package/package.json +28 -22
  493. package/src/components/Button/index.md +54 -10
  494. package/src/components/Button/index.module.scss +38 -0
  495. package/src/components/Button/index.tsx +107 -51
  496. package/src/components/ChainGraph/_components/ExpandButtons/index.module.scss +5 -3
  497. package/src/components/ChainGraph/_components/SearchSelect/index.module.scss +3 -2
  498. package/src/components/ChainGraph/index.module.scss +2 -2
  499. package/src/components/ChainGraph/index.tsx +1 -1
  500. package/src/components/Chart/Group/index.module.scss +1 -1
  501. package/src/components/Chat/ChatHistory/_components/HistoryGroup/index.module.scss +1 -1
  502. package/src/components/Chat/ChatHistory/_components/HistoryItem/index.module.scss +13 -13
  503. package/src/components/Chat/ChatHistory/_components/NewChatButton/index.module.scss +6 -6
  504. package/src/components/Chat/ChatHistory/index.module.scss +3 -3
  505. package/src/components/Chat/ChatInput/_components/AgentToggleButton/index.module.scss +9 -9
  506. package/src/components/Chat/ChatInput/_components/FileList/index.module.scss +3 -3
  507. package/src/components/Chat/ChatInput/_components/SendButton/index.module.scss +3 -3
  508. package/src/components/Chat/ChatInput/_components/StopButton/index.module.scss +2 -2
  509. package/src/components/Chat/ChatInput/_components/UploadButton/index.module.scss +3 -3
  510. package/src/components/Chat/ChatInput/_components/UploadButton/index.tsx +1 -1
  511. package/src/components/Chat/ChatInput/_utils/index.ts +1 -1
  512. package/src/components/Chat/ChatInput/index.module.scss +12 -11
  513. package/src/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/Copy/index.module.scss +6 -6
  514. package/src/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/Copy/index.tsx +1 -1
  515. package/src/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/LikeDislike/index.module.scss +6 -6
  516. package/src/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/LikeDislike/index.tsx +1 -1
  517. package/src/components/Chat/ChatList/_components/Assistant/AssistantItem/_components/QuoteList/index.module.scss +8 -8
  518. package/src/components/Chat/ChatList/_components/Assistant/AssistantItem/index.module.scss +7 -7
  519. package/src/components/Chat/ChatList/_components/Assistant/index.module.scss +3 -3
  520. package/src/components/Chat/ChatList/_components/User/index.module.scss +21 -10
  521. package/src/components/Chat/ChatList/index.tsx +5 -2
  522. package/src/components/Checkbox/CheckboxGroup/index.module.scss +10 -13
  523. package/src/components/Checkbox/index.module.scss +23 -28
  524. package/src/components/CodeMirror/index.module.scss +6 -6
  525. package/src/components/Copy/index.module.scss +5 -5
  526. package/src/components/Copy/index.tsx +41 -25
  527. package/src/components/DatePicker/RangePicker/index.module.scss +10 -1
  528. package/src/components/DatePicker/RangePicker/index.tsx +5 -3
  529. package/src/components/DatePicker/StepPicker/index.module.scss +6 -4
  530. package/src/components/DatePicker/index.module.scss +2 -2
  531. package/src/components/DatePicker/index.tsx +11 -3
  532. package/src/components/Descriptions/index.md +8 -0
  533. package/src/components/Descriptions/index.tsx +21 -14
  534. package/src/components/Editor/index.module.scss +7 -7
  535. package/src/components/FileCol/index.tsx +4 -2
  536. package/src/components/FilePreview/_components/BasePreview/index.module.scss +3 -3
  537. package/src/components/FilePreview/_components/PdfPreview/index.module.scss +7 -7
  538. package/src/components/FilePreview/_components/PdfPreview/index.tsx +8 -2
  539. package/src/components/FilePreview/index.module.scss +4 -4
  540. package/src/components/Form/DrawerForm/index.tsx +10 -11
  541. package/src/components/Form/ImportForm/index.tsx +11 -12
  542. package/src/components/Form/ModalForm/index.tsx +10 -12
  543. package/src/components/Form/index.md +18 -0
  544. package/src/components/Form/index.tsx +18 -0
  545. package/src/components/FormItem/FormInput/FormPasswordStrength/index.module.scss +3 -3
  546. package/src/components/FormItem/FormRadio/index.module.scss +11 -13
  547. package/src/components/FormItem/FormSegmented/index.module.scss +1 -1
  548. package/src/components/FormItem/FormSlider/index.module.scss +1 -1
  549. package/src/components/FormItem/FormUpload/FormImage/index.tsx +2 -1
  550. package/src/components/FormItem/FormUpload/index.module.scss +17 -17
  551. package/src/components/FormItem/FormUpload/index.tsx +2 -1
  552. package/src/components/FormItem/ItemContainer/index.module.scss +33 -7
  553. package/src/components/FormItem/ItemContainer/index.tsx +3 -3
  554. package/src/components/Input/Number/index.module.scss +27 -54
  555. package/src/components/Input/Number/index.tsx +49 -65
  556. package/src/components/Input/Range/index.module.scss +16 -5
  557. package/src/components/Input/TextArea/index.module.scss +13 -13
  558. package/src/components/Input/index.md +14 -0
  559. package/src/components/Input/index.module.scss +1 -1
  560. package/src/components/Input/index.tsx +4 -0
  561. package/src/components/Markdown/Editor/index.module.scss +4 -4
  562. package/src/components/Markdown/Views/MermaidBlock.tsx +15 -1
  563. package/src/components/Markdown/Views/blocks.module.scss +13 -13
  564. package/src/components/Markdown/Views/index.module.scss +3 -3
  565. package/src/components/Markdown/index.md +22 -0
  566. package/src/components/Modal/index.md +22 -1
  567. package/src/components/Modal/index.module.scss +11 -1
  568. package/src/components/Modal/index.tsx +46 -13
  569. package/src/components/Operate/index.module.scss +1 -1
  570. package/src/components/Operate/index.tsx +1 -1
  571. package/src/components/Pagination/index.md +107 -0
  572. package/src/components/Pagination/index.module.scss +19 -18
  573. package/src/components/Pagination/index.tsx +2 -2
  574. package/src/components/Panel/DefaultPanel/index.module.scss +3 -3
  575. package/src/components/Panel/IframePanel/index.module.scss +2 -2
  576. package/src/components/Panel/IframePanel/index.tsx +5 -1
  577. package/src/components/Panel/ListPanel/ListModalPanel/index.module.scss +2 -2
  578. package/src/components/Panel/ListPanel/ListModalPanel/index.tsx +2 -2
  579. package/src/components/Panel/ListPanel/_components/ColumnMgt/index.module.scss +3 -3
  580. package/src/components/Panel/ListPanel/_components/ColumnMgt/index.tsx +7 -11
  581. package/src/components/Panel/ListPanel/_components/ToolBar/index.module.scss +14 -1
  582. package/src/components/Panel/ListPanel/_components/ToolBar/index.tsx +2 -2
  583. package/src/components/Panel/ListPanel/index.module.scss +9 -9
  584. package/src/components/Panel/ListPanel/index.tsx +2 -2
  585. package/src/components/Panel/index.md +1 -1
  586. package/src/components/Search/SearchAdvanced/index.tsx +3 -3
  587. package/src/components/Search/SearchCard/index.module.scss +15 -15
  588. package/src/components/Search/SearchCollapsible/index.tsx +3 -3
  589. package/src/components/Search/SearchWithFilter/index.tsx +3 -3
  590. package/src/components/Search/SearchWithMore/index.tsx +3 -3
  591. package/src/components/Search/_components/ButtonGroup/index.tsx +9 -11
  592. package/src/components/Search/_components/FilterDropdown/index.tsx +1 -1
  593. package/src/components/Search/_hooks/useSearchCommon.ts +4 -4
  594. package/src/components/Search/_types/index.ts +3 -3
  595. package/src/components/Search/index.md +2 -2
  596. package/src/components/Search/index.module.scss +33 -5
  597. package/src/components/Search/index.tsx +3 -3
  598. package/src/components/SecondConf/index.md +1 -1
  599. package/src/components/SecondConf/index.module.scss +3 -3
  600. package/src/components/SecondConf/index.tsx +11 -7
  601. package/src/components/Select/AutoCompleteSelect/index.module.scss +73 -132
  602. package/src/components/Select/AutoCompleteSelect/index.tsx +13 -7
  603. package/src/components/Select/IconSelect/index.module.scss +4 -3
  604. package/src/components/Select/IconSelect/index.tsx +7 -9
  605. package/src/components/Select/TreeSelect/_utils/getExpandedKeysByLevel.ts +4 -1
  606. package/src/components/Select/TreeSelect/index.module.scss +19 -44
  607. package/src/components/Select/TreeSelect/index.tsx +16 -8
  608. package/src/components/Select/index.md +12 -0
  609. package/src/components/Select/index.module.scss +71 -131
  610. package/src/components/Select/index.tsx +38 -10
  611. package/src/components/Slider/index.module.scss +1 -1
  612. package/src/components/Switch/index.module.scss +1 -1
  613. package/src/components/TabBar/index.module.scss +11 -11
  614. package/src/components/Table/_components/Drag/index.tsx +3 -2
  615. package/src/components/Table/_hooks/useTableColumns.tsx +1 -1
  616. package/src/components/Table/_utils/tableUtils.ts +3 -2
  617. package/src/components/Table/index.md +16 -0
  618. package/src/components/Table/index.module.scss +14 -14
  619. package/src/components/Table/index.tsx +27 -1
  620. package/src/components/Tags/_components/EllipsisTag/index.tsx +1 -1
  621. package/src/components/TextEllipsis/index.tsx +6 -4
  622. package/src/components/Tree/index.md +9 -0
  623. package/src/components/Tree/index.module.scss +6 -6
  624. package/src/components/Tree/index.tsx +12 -2
  625. package/src/components/Upload/_components/UploadedItem/index.tsx +2 -2
  626. package/src/components/Upload/_components/UploadingItem/index.tsx +2 -2
  627. package/src/components/Upload/_utils/normalUpload.ts +1 -1
  628. package/src/components/Upload/_utils/validateFile.ts +55 -2
  629. package/src/components/Upload/index.md +9 -0
  630. package/src/components/Upload/index.tsx +22 -7
  631. package/src/config-provider/index.tsx +84 -4
  632. package/src/feedback/index.tsx +141 -0
  633. package/src/hooks/index.ts +5 -0
  634. package/src/hooks/useBreakpoint.ts +62 -0
  635. package/src/hooks/useIsDark.ts +64 -0
  636. package/src/hooks/usePointerType.ts +59 -0
  637. package/src/index.ts +37 -5
  638. package/src/layout/Breadcrumb/_components/BreadcrumbItemIcon/index.tsx +26 -0
  639. package/src/layout/Breadcrumb/_components/BreadcrumbMenuItem/index.tsx +32 -0
  640. package/src/layout/Breadcrumb/_hooks/useBreadcrumbPath.ts +111 -0
  641. package/src/layout/Breadcrumb/_utils/formatMenu.ts +30 -0
  642. package/src/layout/Breadcrumb/_utils/formatRoutes.ts +71 -0
  643. package/src/layout/Breadcrumb/_utils/pathMatch.ts +52 -0
  644. package/src/layout/Breadcrumb/index.md +37 -0
  645. package/src/layout/Breadcrumb/index.module.scss +15 -0
  646. package/src/layout/Breadcrumb/index.tsx +103 -0
  647. package/src/layout/Header/index.md +105 -0
  648. package/src/layout/Header/index.module.scss +215 -0
  649. package/src/layout/Header/index.tsx +198 -0
  650. package/src/layout/I18n/I18nStore.ts +98 -0
  651. package/src/layout/I18n/index.md +45 -0
  652. package/src/layout/I18n/index.tsx +44 -0
  653. package/src/layout/I18n/locales/en-US.ts +16 -0
  654. package/src/layout/I18n/locales/zh-CN.ts +16 -0
  655. package/src/layout/Menu/_components/SecondaryHeader/index.module.scss +65 -0
  656. package/src/layout/Menu/_components/SecondaryHeader/index.tsx +61 -0
  657. package/src/layout/Menu/_hooks/useMenuPath.ts +81 -0
  658. package/src/layout/Menu/_hooks/useOnlyLvOneMenu.ts +44 -0
  659. package/src/layout/Menu/_utils/formatMenu.ts +57 -0
  660. package/src/layout/Menu/_utils/pathMatch.ts +48 -0
  661. package/src/layout/Menu/_utils/setActiveIcon.ts +23 -0
  662. package/src/layout/Menu/index.md +43 -0
  663. package/src/layout/Menu/index.module.scss +50 -0
  664. package/src/layout/Menu/index.tsx +208 -0
  665. package/src/layout/NavTabBar/_components/SortableTab/index.tsx +40 -0
  666. package/src/layout/NavTabBar/_components/TabContextMenu/index.tsx +157 -0
  667. package/src/layout/NavTabBar/_components/TabDragOverlay/index.tsx +69 -0
  668. package/src/layout/NavTabBar/_components/TabLabel/index.tsx +84 -0
  669. package/src/layout/NavTabBar/_hooks/useDropTabKey.ts +27 -0
  670. package/src/layout/NavTabBar/_hooks/useTabContextMenu.ts +23 -0
  671. package/src/layout/NavTabBar/_hooks/useTabPath.ts +118 -0
  672. package/src/layout/NavTabBar/_hooks/useTabTitle.ts +28 -0
  673. package/src/layout/NavTabBar/_utils/formatNavTabBar.ts +50 -0
  674. package/src/layout/NavTabBar/_utils/pathMatch.ts +37 -0
  675. package/src/layout/NavTabBar/_utils/tabActions.ts +131 -0
  676. package/src/layout/NavTabBar/index.md +76 -0
  677. package/src/layout/NavTabBar/index.module.scss +179 -0
  678. package/src/layout/NavTabBar/index.tsx +236 -0
  679. package/src/layout/Theme/ThemeStore.ts +70 -0
  680. package/src/layout/Theme/index.md +48 -0
  681. package/src/layout/Theme/index.module.scss +6 -0
  682. package/src/layout/Theme/index.tsx +105 -0
  683. package/src/layout/_hooks/useDropTab.ts +23 -0
  684. package/src/layout/_hooks/useReload.ts +19 -0
  685. package/src/layout/_hooks/useSetTabTitle.ts +19 -0
  686. package/src/layout/_utils/storage.ts +34 -0
  687. package/src/layout/index.ts +66 -0
  688. package/src/layout/types.ts +58 -0
  689. package/src/request/index.ts +8 -1
  690. package/src/styles/_responsive.scss +53 -0
  691. package/src/styles/antd-overload.scss +77 -21
  692. package/src/styles/tokens.json +82 -0
  693. package/src/styles/tokens.scss +99 -52
  694. package/src/styles/tokens.ts +198 -33
  695. package/src/types/antd.ts +46 -0
  696. package/src/utils/semantic.ts +45 -0
  697. package/es/components/Button/ChakraButton/index.d.ts +0 -11
  698. package/es/components/Button/ChakraButton/index.js +0 -66
  699. package/es/components/Button/ChakraButton/index.module.scss +0 -20
  700. package/es/components/ChakraRoot/index.d.ts +0 -6
  701. package/es/components/ChakraRoot/index.js +0 -42
  702. package/lib/components/Button/ChakraButton/index.d.ts +0 -11
  703. package/lib/components/Button/ChakraButton/index.js +0 -70
  704. package/lib/components/Button/ChakraButton/index.module.scss +0 -20
  705. package/lib/components/ChakraRoot/index.d.ts +0 -6
  706. package/lib/components/ChakraRoot/index.js +0 -46
  707. package/src/components/Button/ChakraButton/index.module.scss +0 -20
  708. package/src/components/Button/ChakraButton/index.tsx +0 -83
  709. package/src/components/ChakraRoot/index.tsx +0 -43
@@ -0,0 +1,51 @@
1
+ import type { ReactNode } from "react";
2
+ import type { RouteObject } from "react-router";
3
+ /**
4
+ * 路由的附加信息。菜单、面包屑、页签这三个组件都从这里取展示所需的一切 ——
5
+ * 它们不认识业务,只认识这个形状。
6
+ *
7
+ * 字段分两类,下面用分组标出:**布局组件真正会读的**,以及**只是搭车放在这里、由消费方
8
+ * 自己消费的**。后者原样保留是因为它们本来就写在同一份路由配置里(鉴权守卫、KeepAlive
9
+ * 包装、懒加载装配各取所需),把它们从类型里删掉只会逼消费方再声明一次。
10
+ */
11
+ export interface MetaType {
12
+ /** 菜单项 / 面包屑 / 页签上显示的文案 */
13
+ name?: string;
14
+ /**
15
+ * 是否作为菜单项展示。注意是**显式开启**:只有为 `true` 的路由才会进 Menu,
16
+ * 不写等同于不进菜单(但路由本身照常可访问)。
17
+ */
18
+ menu?: boolean;
19
+ icon?: ReactNode;
20
+ /** 选中态图标;不传则沿用 `icon`。只对没有子项的菜单项生效 */
21
+ activeIcon?: ReactNode;
22
+ /** 菜单项置灰不可点 */
23
+ disabled?: boolean;
24
+ /** 固定页签,不可关闭,也不会被「关闭其他 / 关闭右侧」清掉 */
25
+ affix?: boolean;
26
+ /** 不进入页签栏 */
27
+ noTabsView?: boolean;
28
+ /** 二级导航:该路由的子级换到次级菜单里展示(配合 Menu 的 secondaryHeader) */
29
+ secondary?: boolean;
30
+ /** 页面标题,供消费方写 document.title 等用途 */
31
+ title?: string;
32
+ /** 不做页面缓存,供消费方决定是否用 react-activation 的 KeepAlive 包裹 */
33
+ noCache?: boolean;
34
+ /** 不走懒加载,供消费方装配路由时判断 */
35
+ noLazy?: boolean;
36
+ /** 无需登录即可访问,供消费方的鉴权守卫判断 */
37
+ noAuth?: boolean;
38
+ /** 权限码,供消费方在生成路由时用 usePermissions / ConfigProvider.permissions 过滤 */
39
+ hasPermi?: string[];
40
+ }
41
+ /**
42
+ * 路由配置。在 react-router 的 `RouteObject` 上加了 `meta`。
43
+ *
44
+ * 这个类型原本定义在消费方的 `@/router/router.config` 里,布局组件反过来 import 它 ——
45
+ * 那样组件就绑死在某个具体应用上了。收进库里之后,消费方改为让自己的路由配置符合这个
46
+ * 形状(`RouteObject` 本来就是 react-router 的标准类型,通常不用改任何东西)。
47
+ */
48
+ export type RouteType = {
49
+ children?: RouteType[];
50
+ meta?: MetaType;
51
+ } & RouteObject;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -44,9 +44,13 @@ let impl = {
44
44
 
45
45
  /** Inject the real request implementation (only the methods you use need to be provided) */
46
46
  const configureRequest = request => {
47
+ // 过滤 undefined:`configureRequest({ get: undefined })` 会把键写进去、值为 undefined,
48
+ // 从而覆盖掉上面那个抛错兜底 —— 调用时报的就成了 "impl.get is not a function",
49
+ // 而不是那句告诉你「忘了注入 request」的提示。
50
+ const provided = Object.fromEntries(Object.entries(request).filter(([, fn]) => typeof fn === "function"));
47
51
  impl = {
48
52
  ...impl,
49
- ...request
53
+ ...provided
50
54
  };
51
55
  };
52
56
  exports.configureRequest = configureRequest;
@@ -0,0 +1,53 @@
1
+ // =============================================================
2
+ // 本文件由 scripts/gen-tokens-scss.cjs 从 src/styles/tokens.json 生成,请勿手改。
3
+ //
4
+ // 用法:
5
+ // @use "../../styles/responsive" as r;
6
+ // .panel { padding: 24px; @include r.down(md) { padding: 12px; } }
7
+ // .row { &:hover { background: …; } } // 触屏上 hover 会「粘住」
8
+ // .row { @include r.hover { &:hover { background: …; } } } // 正确写法
9
+ // =============================================================
10
+
11
+ $breakpoints: (
12
+ sm: 640px,
13
+ md: 768px,
14
+ lg: 1024px,
15
+ xl: 1280px,
16
+ xxl: 1536px,
17
+ );
18
+
19
+ @function bp($name) {
20
+ @if not map-has-key($breakpoints, $name) {
21
+ @error "未知断点 #{$name},可用:#{map-keys($breakpoints)}";
22
+ }
23
+ @return map-get($breakpoints, $name);
24
+ }
25
+
26
+ /// 视口 < 断点(移动优先的「小屏覆盖」)
27
+ @mixin down($name) {
28
+ @media (max-width: #{bp($name) - 0.02px}) {
29
+ @content;
30
+ }
31
+ }
32
+
33
+ /// 视口 >= 断点
34
+ @mixin up($name) {
35
+ @media (min-width: #{bp($name)}) {
36
+ @content;
37
+ }
38
+ }
39
+
40
+ /// 真正有悬停能力的设备(鼠标 / 触控板)。
41
+ /// 触屏上 :hover 会在点击后「粘住」,直到点别处才消失 —— 所有 hover 态都该包在这里。
42
+ @mixin hover {
43
+ @media (hover: hover) and (pointer: fine) {
44
+ @content;
45
+ }
46
+ }
47
+
48
+ /// 触摸设备(粗指针、无悬停)。用于放大点按目标、去掉仅悬停可见的操作。
49
+ @mixin touch {
50
+ @media (hover: none), (pointer: coarse) {
51
+ @content;
52
+ }
53
+ }
@@ -1,5 +1,66 @@
1
1
  // Design tokens (colors/fonts/radii/shadows, incl. dark theme) — importing this file brings in the full set of variables
2
2
  @use "./tokens";
3
+ @use "./responsive" as r;
4
+
5
+ // =============================================================
6
+ // 触摸设备
7
+ //
8
+ // 常见的误解是「移动端要把 onClick 换成 onTouchStart」。不需要 —— 触摸事件序列本来就会
9
+ // 合成 click,onClick 在触屏上一直可用;换成 touch 反而丢键盘可访问性、滚动时误触发、
10
+ // 并与合成 click 重复触发。移动端真正要处理的是下面这几件。
11
+ // =============================================================
12
+
13
+ // 1) 点击延迟:浏览器为了等双击缩放,会把 click 推迟约 300ms。声明本元素不需要双击缩放
14
+ // 即可立即触发。只加在交互元素上,不用 `*`(那会连带禁掉正文的双击缩放)。
15
+ button,
16
+ a,
17
+ [role="button"],
18
+ label,
19
+ input,
20
+ select,
21
+ textarea,
22
+ .ant-btn,
23
+ .ant-select,
24
+ .ant-picker,
25
+ .ant-checkbox-wrapper,
26
+ .ant-radio-wrapper,
27
+ .ant-switch,
28
+ .ant-pagination-item,
29
+ .ant-table-column-has-sorters {
30
+ touch-action: manipulation;
31
+
32
+ // 2) 点击时浮出的那一层:移动浏览器默认 -webkit-tap-highlight-color 是
33
+ // rgba(51, 181, 229, 0.4),点按时会在元素盒子上铺一层半透明高亮。它是 UA 层的覆盖物,
34
+ // 与 border / background 无关,所以设 `border: none` 压根不起作用 —— 这也是「移动端
35
+ // 点击出现一层边框」这个现象的真正来源。
36
+ //
37
+ // 把它改成透明即可,不需要把 onClick 换成 onTouch。换事件之所以看起来也能消掉,是因为
38
+ // 绕过了合成 click 与聚焦,代价是丢键盘可访问性、滚动误触发、以及与合成 click 重复触发。
39
+ // (聚焦本身不是问题:实测触摸点击后 :focus-visible 并不匹配,焦点环不会出现。)
40
+ -webkit-tap-highlight-color: transparent;
41
+ }
42
+
43
+ @include r.touch {
44
+ // 3) 粘住的 hover 态:触屏点完之后 :hover 会一直保持到点别处为止,导致「有一行永远高亮」。
45
+ // 这里把 antd 几处最显眼的悬停面中和掉;本库自己的组件用 responsive.scss 的 hover mixin。
46
+ .ant-table-tbody > tr:hover > td,
47
+ .ant-table-tbody > tr.ant-table-row:hover > td,
48
+ .ant-select-item-option:hover,
49
+ .ant-menu-item:hover,
50
+ .ant-dropdown-menu-item:hover {
51
+ background: inherit;
52
+ }
53
+
54
+ // 4) 点按目标:粗指针下 24px 的图标按钮很难点中。给最小可点面积兜底,
55
+ // 用 min-height 而不是 height,避免撑坏已有布局。
56
+ .ant-btn-sm,
57
+ .ant-pagination-item,
58
+ .ant-pagination-prev,
59
+ .ant-pagination-next {
60
+ min-width: var(--vita-control-height);
61
+ min-height: var(--vita-control-height);
62
+ }
63
+ }
3
64
 
4
65
  .ant-layout-sider-children {
5
66
  display: flex;
@@ -51,7 +112,7 @@
51
112
 
52
113
  width: 3px;
53
114
 
54
- background: var(--primary-color);
115
+ background: var(--vita-primary);
55
116
  border-radius: 3px;
56
117
  }
57
118
  }
@@ -66,7 +127,7 @@
66
127
  line-height: 1.4;
67
128
  text-transform: uppercase;
68
129
 
69
- color: var(--cf-text-3);
130
+ color: var(--vita-subtle-foreground);
70
131
  }
71
132
 
72
133
  // Items within a group use more restrained left-aligned indentation (closer to CF)
@@ -93,25 +154,21 @@
93
154
 
94
155
  // ===== Cloudflare style: Tags use outlined style with a light background =====
95
156
  .ant-tag {
96
- border-radius: 6px;
157
+ border-radius: var(--vita-radius-sm);
97
158
  }
98
159
 
99
160
  .ant-notification {
100
161
  top: 50px !important;
101
162
 
102
- .ant-notification-notice-with-icon {
103
- display: flex;
104
- flex-direction: column;
105
- row-gap: 8px;
106
-
107
- .ant-notification-notice-message {
108
- margin-bottom: 0px !important;
109
- }
163
+ // antd v6 dropped the `.ant-notification-notice-with-icon` wrapper; message and description are
164
+ // laid out by the notice itself now.
165
+ .ant-notification-notice-message {
166
+ margin-bottom: 0px !important;
167
+ }
110
168
 
111
- .ant-notification-notice-description {
112
- &:empty {
113
- display: none;
114
- }
169
+ .ant-notification-notice-description {
170
+ &:empty {
171
+ display: none;
115
172
  }
116
173
  }
117
174
  }
@@ -120,17 +177,16 @@
120
177
  display: flex;
121
178
  flex-direction: column;
122
179
 
123
- .ant-tabs-content-holder {
180
+ // antd v6 removed the `.ant-tabs-content-holder` wrapper — `.ant-tabs-content` is now a direct
181
+ // child of `.ant-tabs`, so it takes over the flex sizing.
182
+ .ant-tabs-content {
124
183
  flex: 1;
125
184
 
126
185
  min-height: 0px;
186
+ height: 100%;
127
187
 
128
- .ant-tabs-content {
188
+ .ant-tabs-tabpanel {
129
189
  height: 100%;
130
-
131
- .ant-tabs-tabpane {
132
- height: 100%;
133
- }
134
190
  }
135
191
  }
136
192
  }
@@ -1,26 +1,126 @@
1
1
  /**
2
- * TS constants for the Hsu UI design tokens (for JS-side consumers such as antd themeConfig).
3
- * The CSS-variable version lives in ./tokens.scss; the two must be kept in sync.
2
+ * The JS half of the design-token layer.
3
+ *
4
+ * `tokens.json` is the single source of truth. This module types it and maps it onto antd's
5
+ * `theme.token`; `scripts/gen-tokens-scss.cjs` maps the same file onto the `--vita-*` CSS
6
+ * variables. Neither half is hand-written against the other, which is what let the previous
7
+ * tokens.ts / tokens.scss pair drift (their headers literally said "the two must be kept in sync").
8
+ *
9
+ * Why antd needs the literal values rather than the CSS variables: `colorPrimary` is run through
10
+ * @ant-design/colors to derive a 10-step palette, so it has to be a real colour. Handing it
11
+ * `var(--vita-primary)` produces a palette of garbage. The practical consequence is that changing
12
+ * the brand colour at runtime cannot be done by overriding the CSS variable alone — go through
13
+ * `<ConfigProvider primaryColor={...}>`, which sets both halves at once.
4
14
  */
15
+ import type { ThemeConfig } from "antd";
5
16
  export interface HsuThemeTokens {
6
17
  /** Page canvas */
7
- canvas: string;
8
- /** Card/panel background */
18
+ background: string;
19
+ /** Card / panel background */
9
20
  surface: string;
10
- /** Table header/secondary background */
11
- subtle: string;
12
- /** Border */
21
+ /** Secondary background (table headers, read-only areas) */
22
+ muted: string;
13
23
  border: string;
14
- /** Lighter border */
15
24
  borderWeak: string;
16
- /** Header bar background */
25
+ /** Primary text */
26
+ foreground: string;
27
+ /** Secondary text */
28
+ mutedForeground: string;
29
+ /** Placeholder / disabled text */
30
+ subtleForeground: string;
31
+ /** Row / item hover background */
32
+ hover: string;
33
+ success: string;
34
+ warning: string;
35
+ error: string;
36
+ shadow1: string;
37
+ shadow2: string;
38
+ shadow3: string;
39
+ }
40
+ /**
41
+ * 2.0 之前的字段名。CSS 变量那侧留了 `--cf-*` 别名,但这里的 TS 字段是直接改名的 ——
42
+ * 消费方写 `lightTokens.canvas` 会直接拿到 undefined,且没有任何提示。补上映射。
43
+ *
44
+ * `headerBg` 在重命名时被整个删掉了(没有对应的新名),这里指回 `surface`:2.0 之前
45
+ * 两者在浅色下同为 #ffffff、暗色下同为卡片底色,语义上就是「顶栏用的面」。
46
+ */
47
+ export interface LegacyThemeTokens {
48
+ /** @deprecated 用 `background` */
49
+ canvas: string;
50
+ /** @deprecated 用 `muted` */
51
+ subtle: string;
52
+ /** @deprecated 用 `surface` */
17
53
  headerBg: string;
54
+ /** @deprecated 用 `foreground` */
18
55
  text: string;
56
+ /** @deprecated 用 `mutedForeground` */
19
57
  text2: string;
58
+ /** @deprecated 用 `subtleForeground` */
20
59
  text3: string;
60
+ /** @deprecated 用 `hover` */
21
61
  rowHover: string;
22
62
  }
23
- export declare const lightTokens: HsuThemeTokens;
24
- export declare const darkTokens: HsuThemeTokens;
25
- /** Default primary color (initial value of the CSS variable --primary-color; consuming projects may override at runtime) */
26
- export declare const defaultPrimaryColor = "#1677ff";
63
+ export declare const lightTokens: HsuThemeTokens & LegacyThemeTokens;
64
+ export declare const darkTokens: HsuThemeTokens & LegacyThemeTokens;
65
+ /** Default brand colour; consuming projects override it via `ConfigProvider.primaryColor` */
66
+ export declare const defaultPrimaryColor: string;
67
+ export declare const radius: {
68
+ xs: number;
69
+ sm: number;
70
+ base: number;
71
+ lg: number;
72
+ };
73
+ export declare const fontTokens: {
74
+ family: string;
75
+ sizeSm: number;
76
+ size: number;
77
+ sizeLg: number;
78
+ };
79
+ export declare const controlTokens: {
80
+ height: number;
81
+ heightSm: number;
82
+ heightLg: number;
83
+ ringWidth: number;
84
+ };
85
+ /**
86
+ * 弹窗宽度尺度。此前各弹窗自己写死(ImportForm 600、SecondConf 800、ModalForm 800/1200),
87
+ * 没有共同依据;收成一条尺度后至少有据可循。
88
+ */
89
+ export declare const modalWidth: {
90
+ sm: number;
91
+ md: number;
92
+ lg: number;
93
+ };
94
+ /**
95
+ * 断点。与 `styles/_responsive.scss` 的 mixin 同源,所以 JS 判断不会和 CSS 媒体查询错开。
96
+ */
97
+ export declare const breakpoints: {
98
+ sm: number;
99
+ md: number;
100
+ lg: number;
101
+ xl: number; /** Default brand colour; consuming projects override it via `ConfigProvider.primaryColor` */
102
+ xxl: number;
103
+ };
104
+ /**
105
+ * `#rgb` / `#rrggbb` → `rgba(...)`. Only used to keep antd's focus ring at the same opacity as
106
+ * `--vita-ring`; anything it cannot parse is handed back untouched so antd falls back to deriving
107
+ * the ring itself.
108
+ */
109
+ /**
110
+ * 把 hex 颜色加上透明度。传入不是 hex(例如已经是 rgba / CSS 变量)时原样返回,
111
+ * 让调用方的值照常生效而不是变成 `NaN`。
112
+ */
113
+ export declare const withAlpha: (color: string, alpha: number) => string;
114
+ /**
115
+ * Build antd's `theme.token` from the same tokens the CSS variables come from, so a component
116
+ * this library has *not* wrapped still lands on the same palette, radii and type scale as one it
117
+ * has. This is the lever that keeps the look consistent without wrapping all 75 antd components.
118
+ */
119
+ export declare const toAntdTheme: (options?: {
120
+ dark?: boolean;
121
+ primaryColor?: string;
122
+ }) => ThemeConfig["token"];
123
+ /**
124
+ * 组件级令牌覆盖,补 `toAntdTheme` 里全局令牌覆盖不到的地方。
125
+ */
126
+ export declare const toAntdComponents: () => ThemeConfig["components"];
@@ -3,36 +3,163 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.lightTokens = exports.defaultPrimaryColor = exports.darkTokens = void 0;
7
- /**
8
- * TS constants for the Hsu UI design tokens (for JS-side consumers such as antd themeConfig).
9
- * The CSS-variable version lives in ./tokens.scss; the two must be kept in sync.
10
- */
11
-
12
- const lightTokens = exports.lightTokens = {
13
- canvas: "#f6f7f9",
14
- surface: "#ffffff",
15
- subtle: "#fafbfc",
16
- border: "#e6e8eb",
17
- borderWeak: "#eceef1",
18
- headerBg: "#ffffff",
19
- text: "rgba(0, 0, 0, 0.88)",
20
- text2: "rgba(0, 0, 0, 0.45)",
21
- text3: "rgba(0, 0, 0, 0.35)",
22
- rowHover: "#f6f7f9"
6
+ exports.withAlpha = exports.toAntdTheme = exports.toAntdComponents = exports.radius = exports.modalWidth = exports.lightTokens = exports.fontTokens = exports.defaultPrimaryColor = exports.darkTokens = exports.controlTokens = exports.breakpoints = void 0;
7
+ var _tokens = _interopRequireDefault(require("./tokens.json"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ /**
10
+ * The JS half of the design-token layer.
11
+ *
12
+ * `tokens.json` is the single source of truth. This module types it and maps it onto antd's
13
+ * `theme.token`; `scripts/gen-tokens-scss.cjs` maps the same file onto the `--vita-*` CSS
14
+ * variables. Neither half is hand-written against the other, which is what let the previous
15
+ * tokens.ts / tokens.scss pair drift (their headers literally said "the two must be kept in sync").
16
+ *
17
+ * Why antd needs the literal values rather than the CSS variables: `colorPrimary` is run through
18
+ * @ant-design/colors to derive a 10-step palette, so it has to be a real colour. Handing it
19
+ * `var(--vita-primary)` produces a palette of garbage. The practical consequence is that changing
20
+ * the brand colour at runtime cannot be done by overriding the CSS variable alone — go through
21
+ * `<ConfigProvider primaryColor={...}>`, which sets both halves at once.
22
+ */
23
+
24
+ /**
25
+ * 2.0 之前的字段名。CSS 变量那侧留了 `--cf-*` 别名,但这里的 TS 字段是直接改名的 ——
26
+ * 消费方写 `lightTokens.canvas` 会直接拿到 undefined,且没有任何提示。补上映射。
27
+ *
28
+ * `headerBg` 在重命名时被整个删掉了(没有对应的新名),这里指回 `surface`:2.0 之前
29
+ * 两者在浅色下同为 #ffffff、暗色下同为卡片底色,语义上就是「顶栏用的面」。
30
+ */
31
+
32
+ const withLegacy = t => ({
33
+ ...t,
34
+ canvas: t.background,
35
+ subtle: t.muted,
36
+ headerBg: t.surface,
37
+ text: t.foreground,
38
+ text2: t.mutedForeground,
39
+ text3: t.subtleForeground,
40
+ rowHover: t.hover
41
+ });
42
+ const lightTokens = exports.lightTokens = withLegacy(_tokens.default.light);
43
+ const darkTokens = exports.darkTokens = withLegacy(_tokens.default.dark);
44
+
45
+ /** Default brand colour; consuming projects override it via `ConfigProvider.primaryColor` */
46
+ const defaultPrimaryColor = exports.defaultPrimaryColor = _tokens.default.primary;
47
+ const radius = exports.radius = _tokens.default.radius;
48
+ const fontTokens = exports.fontTokens = _tokens.default.font;
49
+ const controlTokens = exports.controlTokens = _tokens.default.control;
50
+
51
+ /**
52
+ * 弹窗宽度尺度。此前各弹窗自己写死(ImportForm 600、SecondConf 800、ModalForm 800/1200),
53
+ * 没有共同依据;收成一条尺度后至少有据可循。
54
+ */
55
+ const modalWidth = exports.modalWidth = _tokens.default.modalWidth;
56
+
57
+ /**
58
+ * 断点。与 `styles/_responsive.scss` 的 mixin 同源,所以 JS 判断不会和 CSS 媒体查询错开。
59
+ */
60
+ const breakpoints = exports.breakpoints = _tokens.default.breakpoint;
61
+
62
+ /**
63
+ * `#rgb` / `#rrggbb` → `rgba(...)`. Only used to keep antd's focus ring at the same opacity as
64
+ * `--vita-ring`; anything it cannot parse is handed back untouched so antd falls back to deriving
65
+ * the ring itself.
66
+ */
67
+ /**
68
+ * 把 hex 颜色加上透明度。传入不是 hex(例如已经是 rgba / CSS 变量)时原样返回,
69
+ * 让调用方的值照常生效而不是变成 `NaN`。
70
+ */
71
+ const withAlpha = (color, alpha) => {
72
+ const hex = color.trim();
73
+ const short = /^#([0-9a-f])([0-9a-f])([0-9a-f])$/i.exec(hex);
74
+ const long = /^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i.exec(hex);
75
+ if (!short && !long) return color;
76
+ const [r, g, b] = short ? short.slice(1).map(c => parseInt(c + c, 16)) : long.slice(1).map(c => parseInt(c, 16));
77
+ return `rgba(${r}, ${g}, ${b}, ${alpha})`;
23
78
  };
24
- const darkTokens = exports.darkTokens = {
25
- canvas: "#131314",
26
- surface: "#1c1c1e",
27
- subtle: "#232325",
28
- border: "rgba(255, 255, 255, 0.12)",
29
- borderWeak: "rgba(255, 255, 255, 0.08)",
30
- headerBg: "#1c1c1e",
31
- text: "rgba(255, 255, 255, 0.85)",
32
- text2: "rgba(255, 255, 255, 0.45)",
33
- text3: "rgba(255, 255, 255, 0.35)",
34
- rowHover: "rgba(255, 255, 255, 0.04)"
79
+
80
+ /** Opacity of the focus ring; mirrors `--vita-ring` in the generated tokens.scss */
81
+ exports.withAlpha = withAlpha;
82
+ const RING_ALPHA = 0.35;
83
+
84
+ /**
85
+ * Build antd's `theme.token` from the same tokens the CSS variables come from, so a component
86
+ * this library has *not* wrapped still lands on the same palette, radii and type scale as one it
87
+ * has. This is the lever that keeps the look consistent without wrapping all 75 antd components.
88
+ */
89
+ const toAntdTheme = options => {
90
+ const t = options?.dark ? darkTokens : lightTokens;
91
+ const primary = options?.primaryColor ?? defaultPrimaryColor;
92
+ return {
93
+ colorPrimary: primary,
94
+ colorSuccess: t.success,
95
+ colorWarning: t.warning,
96
+ colorError: t.error,
97
+ colorInfo: primary,
98
+ colorText: t.foreground,
99
+ colorTextSecondary: t.mutedForeground,
100
+ colorTextTertiary: t.subtleForeground,
101
+ colorTextQuaternary: t.subtleForeground,
102
+ colorBgContainer: t.surface,
103
+ colorBgElevated: t.surface,
104
+ colorBgLayout: t.background,
105
+ colorBgSpotlight: t.muted,
106
+ // antd paints table headers / filled controls from the Fill ramp; pointing the top of it at
107
+ // `muted` is what keeps those surfaces on the zinc scale instead of antd's default greys.
108
+ colorFillAlter: t.muted,
109
+ colorFillSecondary: t.muted,
110
+ colorFillTertiary: t.muted,
111
+ colorFillQuaternary: t.hover,
112
+ colorBorder: t.border,
113
+ colorBorderSecondary: t.borderWeak,
114
+ borderRadius: _tokens.default.radius.base,
115
+ borderRadiusSM: _tokens.default.radius.sm,
116
+ borderRadiusLG: _tokens.default.radius.lg,
117
+ borderRadiusXS: _tokens.default.radius.xs,
118
+ fontFamily: _tokens.default.font.family,
119
+ fontSize: _tokens.default.font.size,
120
+ fontSizeSM: _tokens.default.font.sizeSm,
121
+ fontSizeLG: _tokens.default.font.sizeLg,
122
+ controlHeight: _tokens.default.control.height,
123
+ controlHeightSM: _tokens.default.control.heightSm,
124
+ controlHeightLG: _tokens.default.control.heightLg,
125
+ // shadcn's focus treatment is a 2px ring rather than antd's soft glow. antd would otherwise
126
+ // derive the ring colour itself at ~10% opacity, which reads visibly lighter than the
127
+ // `--vita-ring` the wrapped components use — same control, two different focus states.
128
+ //
129
+ // 只动 controlOutline 与 colorErrorOutline 这两个「真的是 focus ring」的令牌。
130
+ // 不要碰 controlTmpOutline —— 它在 antd 里是 colorFillQuaternary(中性填充),
131
+ // 被 Button 拿去算默认按钮的底部阴影,把它设成错误色会让默认按钮长出一道红边。
132
+ controlOutlineWidth: _tokens.default.control.ringWidth,
133
+ controlOutline: withAlpha(primary, RING_ALPHA),
134
+ colorErrorOutline: withAlpha(t.error, RING_ALPHA),
135
+ boxShadow: t.shadow2,
136
+ boxShadowSecondary: t.shadow3,
137
+ boxShadowTertiary: t.shadow1,
138
+ // shadcn leans on borders, not gradients or wireframe outlines
139
+ wireframe: false
140
+ };
35
141
  };
36
142
 
37
- /** Default primary color (initial value of the CSS variable --primary-color; consuming projects may override at runtime) */
38
- const defaultPrimaryColor = exports.defaultPrimaryColor = "#1677ff";
143
+ /**
144
+ * 组件级令牌覆盖,补 `toAntdTheme` 里全局令牌覆盖不到的地方。
145
+ */
146
+ exports.toAntdTheme = toAntdTheme;
147
+ const toAntdComponents = () => ({
148
+ // 划线:LG(12px) 留给真正的「容器」——弹窗、抽屉、卡片、上传投放区;
149
+ // 与表单控件同处一行、体量相当的(表格、提示条)跟随基准值 8px,否则同屏两种圆角。
150
+ Table: {
151
+ borderRadiusLG: _tokens.default.radius.base
152
+ },
153
+ Alert: {
154
+ borderRadiusLG: _tokens.default.radius.base
155
+ },
156
+ Button: {
157
+ // antd 的按钮底部有一道 2px 的硬投影(`0 2px 0`),由 controlOutline / controlTmpOutline
158
+ // 推导而来。shadcn 的按钮没有这个东西;而且既然我们把 controlOutline 调深到 35% 用作
159
+ // focus ring,这道投影会跟着变成三倍重的一条色带。直接去掉,focus ring 不受影响。
160
+ defaultShadow: "none",
161
+ primaryShadow: "none",
162
+ dangerShadow: "none"
163
+ }
164
+ });
165
+ exports.toAntdComponents = toAntdComponents;