@hsu-react/ui 0.0.25 → 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 +18 -3
  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
@@ -1,10 +1,12 @@
1
+ @use "../../../styles/responsive" as r;
2
+
1
3
  .formItem {
2
4
  --label-width: auto;
3
5
  --label-height: max-content;
4
- --label-min-height: 32px;
6
+ --label-min-height: var(--vita-control-height);
5
7
  --input-width: 100%;
6
8
  --input-height: max-content;
7
- --input-min-height: 32px;
9
+ --input-min-height: var(--vita-control-height);
8
10
  --input-horizontal-min-width: 0px;
9
11
  --input-horizontal-flex-grow: 1;
10
12
 
@@ -120,7 +122,7 @@
120
122
  justify-content: flex-end;
121
123
  flex-basis: 100%;
122
124
 
123
- color: var(--cf-text-2);
125
+ color: var(--vita-muted-foreground);
124
126
  font-size: 14px;
125
127
  white-space: pre-wrap;
126
128
  }
@@ -185,7 +187,7 @@
185
187
  margin-inline-start: 0px;
186
188
  margin-inline-end: 4px;
187
189
 
188
- color: var(--cf-error);
190
+ color: var(--vita-error);
189
191
  font-size: 14px;
190
192
  font-family: SimSun, sans-serif;
191
193
  line-height: 1;
@@ -201,7 +203,7 @@
201
203
  margin-inline-start: 0px;
202
204
  margin-inline-end: 4px;
203
205
 
204
- color: var(--cf-error);
206
+ color: var(--vita-error);
205
207
  font-size: 14px;
206
208
  font-family: SimSun, sans-serif;
207
209
  line-height: 1;
@@ -226,7 +228,7 @@
226
228
  margin-inline-start: 4px;
227
229
  margin-inline-end: 0px;
228
230
 
229
- color: var(--cf-error);
231
+ color: var(--vita-error);
230
232
  font-size: 14px;
231
233
  font-family: SimSun, sans-serif;
232
234
  line-height: 1;
@@ -255,7 +257,7 @@
255
257
  margin-inline-start: 4px;
256
258
  margin-inline-end: 0px;
257
259
 
258
- color: var(--cf-error);
260
+ color: var(--vita-error);
259
261
  font-size: 14px;
260
262
  font-family: SimSun, sans-serif;
261
263
  line-height: 1;
@@ -304,6 +306,30 @@
304
306
  }
305
307
  }
306
308
 
309
+ // 小屏改成标签在上:水平布局是「固定宽标签 + 有最小宽的输入框」,两者相加在窄视口里
310
+ // 放不下,nowrap 会把整行顶出屏幕。这是响应式表单的标准处理。
311
+ @include r.down(md) {
312
+ :global(.ant-form-item-row) {
313
+ flex-direction: column;
314
+ flex-wrap: wrap;
315
+ row-gap: 4px;
316
+
317
+ height: max-content;
318
+
319
+ :global(.ant-form-item-label) {
320
+ width: 100%;
321
+ text-align: start;
322
+ margin-right: 0px !important;
323
+ padding-bottom: 0px;
324
+ }
325
+
326
+ :global(.ant-form-item-control) {
327
+ width: 100%;
328
+ min-width: 0;
329
+ }
330
+ }
331
+ }
332
+
307
333
  &.start {
308
334
  :global(.ant-form-item-control-input-content) {
309
335
  text-align: left;
@@ -114,8 +114,8 @@ const ItemContainer: React.FC<ItemContainerProps> = (props) => {
114
114
  <Tooltip
115
115
  arrow={false}
116
116
  placement="top"
117
- color="var(--cf-subtle)"
118
- styles={{ body: { color: "var(--cf-text)", padding: "6px 12px" } }}
117
+ color="var(--vita-muted)"
118
+ styles={{ container: { color: "var(--vita-foreground)", padding: "6px 12px" } }}
119
119
  {...tipsConfig}
120
120
  >
121
121
  {typeof icon === "string" ? (
@@ -126,7 +126,7 @@ const ItemContainer: React.FC<ItemContainerProps> = (props) => {
126
126
  e.stopPropagation();
127
127
  }}
128
128
  fontSize={16}
129
- color="var(--cf-text-3)"
129
+ color="var(--vita-subtle-foreground)"
130
130
  />
131
131
  ) : (
132
132
  <div
@@ -1,78 +1,51 @@
1
1
  .inputNumberWrapper {
2
- position: relative;
3
-
4
2
  display: inline-flex;
5
3
 
6
4
  width: 100%;
7
5
  height: 100%;
6
+ // 父级没有确定高度时 height:100% 退化成 auto,控件就变成内容撑高:
7
+ // 内层 32 的行高 + 1px 上下边框 = 34,比其他控件高 2px。给个下限兜住,
8
+ // 与 Select 外框的处理一致。
9
+ min-height: var(--vita-control-height);
8
10
 
9
- .antdInput {
11
+ .compact {
10
12
  width: 100%;
11
13
  height: 100%;
14
+ min-height: inherit;
15
+ }
12
16
 
13
- :global(.ant-input-number-wrapper) {
14
- height: 100%;
15
- min-height: inherit;
16
-
17
- > :global(.ant-input-number),
18
- > :global(.ant-input-number-affix-wrapper) {
19
- height: 100%;
20
- min-height: inherit;
21
- }
22
-
23
- > :global(.ant-input-number) {
24
- > :global(.ant-input-number-input-wrap) {
25
- height: 100%;
26
- min-height: inherit;
17
+ .antdInput {
18
+ width: 100%;
19
+ height: 100%;
20
+ min-height: inherit;
27
21
 
28
- > :global(.ant-input-number-input) {
29
- height: 100%;
30
- min-height: inherit;
31
- }
32
- }
33
- }
34
- }
22
+ // With `addonAfter` the input sits inside a Space.Compact cell, so it must still stretch.
23
+ flex: 1;
35
24
 
36
- > :global(.ant-input-number-input-wrap) {
25
+ // 这里刻意不再往下传 min-height。传下去会把内层输入框的内容盒撑到 32,
26
+ // 外层 .ant-input-number 再加 1px 上下边框就变成 34,比其他控件高 2px。
27
+ // 高度下限由外层这个带边框的元素自己兜(border-box,正好 32)。
28
+ :global(.ant-input-number-input-wrap),
29
+ :global(.ant-input-number-input) {
37
30
  height: 100%;
38
- min-height: inherit;
39
-
40
- > :global(.ant-input-number-input) {
41
- height: 100%;
42
- }
43
- }
44
- }
45
-
46
- &.inputNumberWrapperClear {
47
- input {
48
- padding-right: 33px;
49
31
  }
50
32
  }
51
33
 
34
+ // Rides antd's `suffix` slot, so it needs no positioning of its own — see index.tsx for why the
35
+ // previous absolute-positioned version had to measure the addon's width.
36
+ //
37
+ // antd sets `pointer-events: none` on `.ant-input-number-suffix` so decorative content (units,
38
+ // status icons) lets clicks fall through to the input. This one is a button, so it opts back in.
52
39
  .clearIcon {
53
- position: absolute;
54
- right: 11px;
55
- top: 50%;
56
- transform: translateY(-50%);
40
+ pointer-events: auto;
41
+
57
42
  cursor: pointer;
58
- color: var(--cf-text-3);
43
+ color: var(--vita-subtle-foreground);
59
44
  font-size: 14px;
60
- z-index: 1;
61
45
  transition: color 0.3s;
62
46
 
63
47
  &:hover {
64
- color: var(--cf-text-2);
65
- }
66
- }
67
-
68
- // Adjust the clear icon position when addonAfter is present
69
- // Ant Design's addonAfter generates :global(.ant-input-number-group-addon)
70
- // The clear icon needs to shift left to avoid overlapping the addon
71
- // Use a CSS variable to set the addon width dynamically; the default 60px is a reasonable estimate
72
- // JS computes the actual width and sets the CSS variable to override it
73
- &.hasAddonAfter {
74
- .clearIcon {
75
- right: calc(11px + var(--addon-after-width, 60px));
48
+ color: var(--vita-muted-foreground);
76
49
  }
77
50
  }
78
51
  }
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  InputNumber as AntdInputNumber,
3
3
  InputNumberProps as AntdInputNumberProps,
4
+ Space,
4
5
  } from "antd";
5
6
  import React, { useEffect, useRef, useState } from "react";
6
7
  import { CloseCircleFilled } from "@ant-design/icons";
@@ -8,6 +9,7 @@ import { CloseCircleFilled } from "@ant-design/icons";
8
9
  import classNames from "classnames";
9
10
  import styles from "./index.module.scss";
10
11
  import { useDebounceEffect } from "ahooks";
12
+ import type { InputNumberRef } from "../../../types/antd";
11
13
 
12
14
  export interface InputNumberProps extends Omit<
13
15
  AntdInputNumberProps,
@@ -30,10 +32,13 @@ const InputNumber: React.FC<InputNumberProps> = (props) => {
30
32
  disabled,
31
33
  allowClear = true,
32
34
  addonAfter,
35
+ suffix,
33
36
  wrapperClassName,
34
37
  ...inputConfig
35
38
  } = props;
36
- const ref = useRef<HTMLInputElement>(null);
39
+ // antd v6 types InputNumber's ref as `InputNumberRef`, which extends `HTMLInputElement` — so
40
+ // `getRef` keeps handing consumers an `HTMLInputElement` exactly as before.
41
+ const ref = useRef<InputNumberRef>(null);
37
42
  const wrapperRef = useRef<HTMLDivElement>(null);
38
43
 
39
44
  // On initialization, prefer value, then fall back to defaultValue
@@ -88,47 +93,6 @@ const InputNumber: React.FC<InputNumberProps> = (props) => {
88
93
  getRef?.(ref.current);
89
94
  }, [getRef]);
90
95
 
91
- // Dynamically compute the width of addonAfter and set the CSS variable
92
- useEffect(() => {
93
- if (addonAfter && wrapperRef.current) {
94
- const updateAddonWidth = () => {
95
- const addonElement = wrapperRef.current?.querySelector(
96
- ".ant-input-number-group-addon",
97
- ) as HTMLElement | null;
98
- if (addonElement && addonElement.offsetWidth > 0) {
99
- wrapperRef.current?.style.setProperty(
100
- "--addon-after-width",
101
- `${addonElement.offsetWidth}px`,
102
- );
103
- }
104
- };
105
-
106
- // Use requestAnimationFrame to ensure the DOM has rendered before computing
107
- const rafId = requestAnimationFrame(() => {
108
- updateAddonWidth();
109
- });
110
-
111
- // Observe window and element size changes to recompute
112
- const resizeObserver = new ResizeObserver(() => {
113
- updateAddonWidth();
114
- });
115
-
116
- if (wrapperRef.current) {
117
- const addonElement = wrapperRef.current.querySelector(
118
- ".ant-input-number-group-addon",
119
- ) as HTMLElement | null;
120
- if (addonElement) {
121
- resizeObserver.observe(addonElement);
122
- }
123
- }
124
-
125
- return () => {
126
- cancelAnimationFrame(rafId);
127
- resizeObserver.disconnect();
128
- };
129
- }
130
- }, [addonAfter]);
131
-
132
96
  const handleClear = (e: React.MouseEvent) => {
133
97
  e.stopPropagation();
134
98
  setValue("");
@@ -139,33 +103,53 @@ const InputNumber: React.FC<InputNumberProps> = (props) => {
139
103
  const showClear =
140
104
  allowClear && _value !== "" && _value !== undefined && !disabled;
141
105
 
106
+ const input = (
107
+ <AntdInputNumber
108
+ ref={ref}
109
+ value={_value}
110
+ onChange={(e) => {
111
+ const newValue =
112
+ e === null || e === undefined
113
+ ? ""
114
+ : (typeof e === "number" ? e : e || "").toString();
115
+ setValue(newValue);
116
+ }}
117
+ className={classNames(styles.antdInput, className)}
118
+ controls={false}
119
+ disabled={disabled}
120
+ // The clear button used to be absolutely positioned over the wrapper, which meant its offset
121
+ // had to be recomputed from the addon's measured width (a rAF + ResizeObserver dance writing
122
+ // `--addon-after-width`). Riding antd's own `suffix` slot instead puts it inside the input,
123
+ // so it can never collide with the addon and nothing needs measuring.
124
+ suffix={
125
+ <>
126
+ {showClear && (
127
+ <CloseCircleFilled
128
+ className={styles.clearIcon}
129
+ onClick={handleClear}
130
+ />
131
+ )}
132
+ {suffix}
133
+ </>
134
+ }
135
+ {...inputConfig}
136
+ stringMode
137
+ />
138
+ );
139
+
142
140
  return (
143
141
  <div
144
142
  ref={wrapperRef}
145
- className={classNames(styles.inputNumberWrapper, wrapperClassName, {
146
- [styles.inputNumberWrapperClear]: showClear,
147
- [styles.hasAddonAfter]: !!addonAfter,
148
- })}
143
+ className={classNames(styles.inputNumberWrapper, wrapperClassName)}
149
144
  >
150
- <AntdInputNumber
151
- ref={ref}
152
- value={_value}
153
- onChange={(e) => {
154
- const newValue =
155
- e === null || e === undefined
156
- ? ""
157
- : (typeof e === "number" ? e : e || "").toString();
158
- setValue(newValue);
159
- }}
160
- className={classNames(styles.antdInput, className)}
161
- controls={false}
162
- disabled={disabled}
163
- addonAfter={addonAfter}
164
- {...inputConfig}
165
- stringMode
166
- />
167
- {showClear && (
168
- <CloseCircleFilled className={styles.clearIcon} onClick={handleClear} />
145
+ {addonAfter ? (
146
+ // antd v6 deprecated `addonAfter` in favour of Space.Compact + Space.Addon
147
+ <Space.Compact className={styles.compact}>
148
+ {input}
149
+ <Space.Addon>{addonAfter}</Space.Addon>
150
+ </Space.Compact>
151
+ ) : (
152
+ input
169
153
  )}
170
154
  </div>
171
155
  );
@@ -1,3 +1,5 @@
1
+ @use "../../../styles/responsive" as r;
2
+
1
3
  .RangeContainer {
2
4
  display: flex;
3
5
  align-items: center;
@@ -47,7 +49,7 @@
47
49
  }
48
50
 
49
51
  > span {
50
- color: var(--cf-text-3);
52
+ color: var(--vita-subtle-foreground);
51
53
 
52
54
  user-select: none;
53
55
 
@@ -56,9 +58,9 @@
56
58
 
57
59
  &.focused,
58
60
  &:hover {
59
- border-color: var(--primary-color);
61
+ border-color: var(--vita-primary);
60
62
 
61
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 10%, transparent);
63
+ box-shadow: var(--vita-focus-ring);
62
64
  }
63
65
  }
64
66
 
@@ -69,7 +71,7 @@
69
71
 
70
72
  transform: translateY(-50%);
71
73
 
72
- color: var(--cf-text-3);
74
+ color: var(--vita-subtle-foreground);
73
75
 
74
76
  opacity: 0;
75
77
 
@@ -78,7 +80,16 @@
78
80
  transition: all 0.3s;
79
81
  }
80
82
 
81
- &:hover {
83
+ // 同上:清除按钮在触屏上必须常驻,否则没有任何办法触发它。
84
+ @include r.hover {
85
+ &:hover {
86
+ .RangeClear {
87
+ opacity: 1;
88
+ }
89
+ }
90
+ }
91
+
92
+ @include r.touch {
82
93
  .RangeClear {
83
94
  opacity: 1;
84
95
  }
@@ -10,23 +10,23 @@
10
10
  height: max-content;
11
11
 
12
12
  // CF style: outlined input control that follows the appearance theme
13
- background: var(--cf-surface);
13
+ background: var(--vita-surface);
14
14
 
15
15
  border-width: 1px;
16
16
  border-style: solid;
17
- border-color: var(--cf-border);
18
- border-radius: 6px;
17
+ border-color: var(--vita-border);
18
+ border-radius: var(--vita-radius);
19
19
 
20
- color: var(--cf-text);
20
+ color: var(--vita-foreground);
21
21
 
22
22
  transition: border-color 0.3s, box-shadow 0.3s;
23
23
 
24
24
  &.disabled:not(.text) {
25
- background-color: var(--cf-subtle);
25
+ background-color: var(--vita-muted);
26
26
 
27
- border-color: var(--cf-border);
27
+ border-color: var(--vita-border);
28
28
 
29
- color: var(--cf-text-3) !important;
29
+ color: var(--vita-subtle-foreground) !important;
30
30
 
31
31
  cursor: not-allowed;
32
32
  }
@@ -38,7 +38,7 @@
38
38
 
39
39
  > textarea,
40
40
  > span {
41
- color: var(--cf-text);
41
+ color: var(--vita-foreground);
42
42
 
43
43
  cursor: default;
44
44
  }
@@ -86,7 +86,7 @@
86
86
  position: relative;
87
87
  bottom: auto;
88
88
 
89
- color: var(--cf-text-2);
89
+ color: var(--vita-muted-foreground);
90
90
  font-size: 14px;
91
91
  }
92
92
 
@@ -111,15 +111,15 @@
111
111
  }
112
112
 
113
113
  &:not(.hasError).focused {
114
- border-color: var(--primary-color);
114
+ border-color: var(--vita-primary);
115
115
 
116
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary-color) 12%, transparent);
116
+ box-shadow: var(--vita-focus-ring);
117
117
  }
118
118
 
119
119
  &.hasError {
120
- border-color: var(--cf-error);
120
+ border-color: var(--vita-error);
121
121
 
122
- box-shadow: 0 0 0 2px color-mix(in srgb, var(--cf-error) 6%, transparent);
122
+ box-shadow: var(--vita-focus-ring-error);
123
123
 
124
124
  :global(.ant-input-status-error) {
125
125
  border: none !important;
@@ -148,6 +148,20 @@ export default () => {
148
148
  };
149
149
  ```
150
150
 
151
+ ## 验证码输入框
152
+
153
+ `Input.OTP` 是 antd v6 新增的分格验证码输入框,原样透出。
154
+
155
+ ```tsx
156
+ import React from "react";
157
+ import { Input } from "@hsu-react/ui";
158
+
159
+ export default () => <Input.OTP length={6} onChange={(v) => console.log(v)} />;
160
+ ```
161
+
162
+ > 子组件一览:`Input.Search`、`Input.TextArea`、`Input.Password`、`Input.Number`、`Input.Range`、`Input.OTP`。
163
+ > 前五个是本库封装(`Number` / `Range` 为本库独有),`OTP` 为 antd 原样透出。
164
+
151
165
  ## API
152
166
 
153
167
  在 [antd InputProps](https://ant.design/components/input-cn) 基础上扩展(并移除了 `onCompositionStart`、`onCompositionEnd`、`ref`,重写了 `onChange`):
@@ -3,7 +3,7 @@
3
3
  height: 100%;
4
4
  // When the parent has no set height (height:100% resolves to auto), ensure a minimum height so the input is not squashed;
5
5
  // the inner .ant-input-wrapper / .ant-input inherit this value via min-height: inherit.
6
- min-height: 32px;
6
+ min-height: var(--vita-control-height);
7
7
 
8
8
  :global(.ant-input-clear-icon) {
9
9
  font-size: 14px;
@@ -34,6 +34,8 @@ interface InputFC extends React.FC<InputProps> {
34
34
  Password: React.FC<PasswordProps>;
35
35
  Number: React.FC<InputNumberProps>;
36
36
  Range: React.FC<RangeInputProps>;
37
+ /** antd v6 新增的验证码输入框 */
38
+ OTP: typeof AntdInput.OTP;
37
39
  }
38
40
 
39
41
  const Input: InputFC = (props) => {
@@ -219,5 +221,7 @@ Input.TextArea = TextArea;
219
221
  Input.Password = Password;
220
222
  Input.Number = InputNumber;
221
223
  Input.Range = RangeInput;
224
+ // antd v6 新增的验证码输入框,原样透出
225
+ Input.OTP = AntdInput.OTP;
222
226
 
223
227
  export default Input;
@@ -6,7 +6,7 @@
6
6
  width: 100%;
7
7
  height: 100%;
8
8
 
9
- background: var(--cf-surface);
9
+ background: var(--vita-surface);
10
10
 
11
11
  border-radius: 10px;
12
12
 
@@ -26,12 +26,12 @@
26
26
  .mdEditor {
27
27
  height: 100%;
28
28
 
29
- border-radius: 8px;
29
+ border-radius: var(--vita-radius);
30
30
 
31
31
  overflow: hidden;
32
32
 
33
33
  &.disabled {
34
- background-color: var(--cf-subtle);
34
+ background-color: var(--vita-muted);
35
35
 
36
36
  cursor: no-drop;
37
37
 
@@ -46,7 +46,7 @@
46
46
  .section {
47
47
  textarea,
48
48
  .section-container {
49
- background: var(--cf-subtle);
49
+ background: var(--vita-muted);
50
50
  }
51
51
  }
52
52
  }
@@ -10,7 +10,21 @@ const loadMermaid = () => {
10
10
  mermaidPromise = import("mermaid").then((m) => {
11
11
  m.default.initialize({
12
12
  startOnLoad: false,
13
- securityLevel: "loose",
13
+ // mermaid 默认就是 strict,这里此前改成了 loose。改回来的原因:
14
+ //
15
+ // Markdown 渲染的是不可信内容 —— Chat 的用户消息、AI 回复、以及 FilePreview 打开的
16
+ // .md 文件,任何一处都能塞一段 ```mermaid。而 loose 恰好放开了两个交互面
17
+ // (mermaid 源码 chunk-ICXQ74PX / chunk-V7JOEXUC):
18
+ //
19
+ // formatUrl: if (securityLevel !== "loose") return sanitizeUrl(url);
20
+ // setClickFunc: if (securityLevel !== "loose") return;
21
+ //
22
+ // 即 loose 下 `click A "javascript:..."` 的 URL 不过 sanitizeUrl,
23
+ // `click A call fn()` 还能经 runFunc 沿 window[...] 调到任意全局函数。
24
+ // 图本身的标签文本倒是不受影响 —— 那条路径无论哪个 level 都会过 DOMPurify。
25
+ //
26
+ // strict 下这两条都关掉,图形渲染不受影响;本库也从未对外暴露过 mermaid 的交互能力。
27
+ securityLevel: "strict",
14
28
  theme: "neutral",
15
29
  });
16
30
  return m.default;
@@ -4,8 +4,8 @@
4
4
  padding: 12px;
5
5
  margin: 8px 0;
6
6
  background: #fff;
7
- border: 1px solid var(--cf-border-weak);
8
- border-radius: 8px;
7
+ border: 1px solid var(--vita-border-weak);
8
+ border-radius: var(--vita-radius);
9
9
  overflow-x: auto;
10
10
 
11
11
  svg {
@@ -17,8 +17,8 @@
17
17
  .mermaidFallback {
18
18
  margin: 8px 0;
19
19
  padding: 12px;
20
- background: var(--cf-subtle);
21
- border-radius: 8px;
20
+ background: var(--vita-muted);
21
+ border-radius: var(--vita-radius);
22
22
  overflow-x: auto;
23
23
 
24
24
  code {
@@ -28,7 +28,7 @@
28
28
 
29
29
  .artifact {
30
30
  margin: 8px 0;
31
- border: 1px solid var(--cf-border-weak);
31
+ border: 1px solid var(--vita-border-weak);
32
32
  border-radius: 10px;
33
33
  overflow: hidden;
34
34
 
@@ -37,14 +37,14 @@
37
37
  align-items: center;
38
38
  justify-content: space-between;
39
39
  padding: 6px 12px;
40
- background: var(--cf-subtle);
41
- border-bottom: 1px solid var(--cf-border-weak);
40
+ background: var(--vita-muted);
41
+ border-bottom: 1px solid var(--vita-border-weak);
42
42
  }
43
43
 
44
44
  .artifactLang {
45
45
  font-size: 12px;
46
46
  font-weight: 600;
47
- color: var(--cf-text-2);
47
+ color: var(--vita-muted-foreground);
48
48
  }
49
49
 
50
50
  .artifactTabs {
@@ -58,21 +58,21 @@
58
58
  border: none;
59
59
  border-radius: 999px;
60
60
  background: transparent;
61
- color: var(--cf-text-2);
61
+ color: var(--vita-muted-foreground);
62
62
  cursor: pointer;
63
63
 
64
64
  &:hover {
65
- background: var(--cf-row-hover);
65
+ background: var(--vita-hover);
66
66
  }
67
67
  }
68
68
 
69
69
  .artifactTabActive {
70
- background: var(--cf-surface);
70
+ background: var(--vita-surface);
71
71
  color: #4f46e5;
72
- box-shadow: var(--cf-shadow-1);
72
+ box-shadow: var(--vita-shadow-1);
73
73
 
74
74
  &:hover {
75
- background: var(--cf-surface);
75
+ background: var(--vita-surface);
76
76
  }
77
77
  }
78
78