@hsu-react/ui 1.0.0 → 2.0.1

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 +54 -0
  233. package/es/layout/index.js +58 -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 +54 -0
  478. package/lib/layout/index.js +102 -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 +120 -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 +78 -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,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
 
@@ -31,7 +31,7 @@
31
31
  td {
32
32
  padding: 4px 8px;
33
33
 
34
- border: 1px solid var(--cf-border);
34
+ border: 1px solid var(--vita-border);
35
35
  }
36
36
  }
37
37
 
@@ -54,7 +54,7 @@
54
54
  overflow: hidden;
55
55
 
56
56
  border: 1px solid rgba(240, 237, 234, 0.2);
57
- border-radius: 6px;
57
+ border-radius: var(--vita-radius-sm);
58
58
 
59
59
  .nav {
60
60
  display: flex;
@@ -70,7 +70,7 @@
70
70
  background: #212121;
71
71
 
72
72
  // Copy's root div (class is module-hashed, so it can only be reached as a child).
73
- // It colors itself from theme tokens — in light mode --cf-text-2 is near-black,
73
+ // It colors itself from theme tokens — in light mode --vita-muted-foreground is near-black,
74
74
  // which disappears against this strip. The strip stays dark on purpose to match the
75
75
  // atom-one-dark code body, so the button is pinned to light-on-dark rather than
76
76
  // following the page theme.
@@ -64,6 +64,28 @@ export default () => {
64
64
  };
65
65
  ```
66
66
 
67
+ ## Mermaid 图表
68
+
69
+ 代码块语言标为 `mermaid` 时会渲染成图。语法不完整时(比如流式输出到一半)静默回退成代码块展示。
70
+
71
+ > 出于安全考虑用的是 mermaid 的默认 `securityLevel: "strict"`:Markdown 渲染的往往是不可信内容(聊天消息、AI 回复、上传的 .md),而 `loose` 会放开 `click` 交互 —— 链接 URL 不过 `sanitizeUrl`,且能经 `runFunc` 调到任意全局函数。图形渲染本身不受影响。
72
+
73
+ ```tsx
74
+ import React from "react";
75
+ import { Markdown } from "@hsu-react/ui";
76
+
77
+ const content = `\`\`\`mermaid
78
+ flowchart LR
79
+ A[开始] --> B{判断}
80
+ B -->|是| C[处理]
81
+ B -->|否| D[跳过]
82
+ C --> E[结束]
83
+ D --> E
84
+ \`\`\``;
85
+
86
+ export default () => <Markdown.Views>{content}</Markdown.Views>;
87
+ ```
88
+
67
89
  ## API
68
90
 
69
91
  ### Markdown.Views
@@ -45,6 +45,25 @@ export default () => {
45
45
  };
46
46
  ```
47
47
 
48
+ ## 子组件
49
+
50
+ ```tsx | pure
51
+ Modal.confirm / info / success / error / warning // 确认框,跟随主题
52
+ Modal.useModal // antd 的 hook 版本
53
+ Modal.destroyAll
54
+ Modal.config
55
+ ```
56
+
57
+ 2.0 之前这些没有透出,消费方只能自己去 `import { Modal } from "antd"`。
58
+
59
+ > **这里的 `Modal.confirm` 会跟随主题**,与 antd 的同名静态方法不同。
60
+ >
61
+ > antd 的 `Modal.confirm` 是脱离 React 树调用的,读不到 `ConfigProvider` 注入的 `theme.token`,换过品牌色或切暗色后观感会与页面割裂。本库把它指向了内部的一层代理:`ConfigProvider` 里挂着 `Modal.useModal()` 的实例与 `contextHolder`,调用只是转发过去,所以写法不变而输出在树内。详见指南的[命令式反馈](/guide#命令式反馈message--notification--modalconfirm)一节。
62
+ >
63
+ > 因此**不需要**再自己写 `useModal` + `contextHolder`。`Modal.useModal` 仍然透出,只是通常用不上了。
64
+ >
65
+ > 未挂 `ConfigProvider` 时自动回退到 antd 的静态方法:功能正常,只是不跟随主题。
66
+
48
67
  ## API
49
68
 
50
69
  在 [antd ModalProps](https://ant.design/components/modal-cn) 基础上扩展:
@@ -56,4 +75,6 @@ export default () => {
56
75
  | full | 是否以全屏方式展示 | `boolean` | `false` |
57
76
  | titleButtonGroup | 标题区右侧的按钮组配置 | `ButtonProps[]` | - |
58
77
 
59
- > 其余属性(`open`、`onOk`、`onCancel`、`footer`、`width` 等)与 antd `Modal` 一致;`destroyOnClose` 默认为 `true`。
78
+ > 其余属性(`open`、`onOk`、`onCancel`、`footer`、`width` 等)与 antd `Modal` 一致。
79
+ >
80
+ > 关闭时销毁内容默认开启。antd v6 把 `destroyOnClose` 改名为 `destroyOnHidden`,两个名字本组件都认(传了 `destroyOnHidden` 以它为准),所以 1.x 时期的写法不用改。
@@ -1,9 +1,19 @@
1
+ @use "../../styles/responsive" as r;
2
+
1
3
  .Modal {
2
4
  > div {
3
5
  width: 100%;
4
6
  height: 100%;
5
7
  }
6
8
 
9
+ // 弹窗宽度是按桌面写死的(modalWidth.sm/md/lg = 600/800/1200)。小屏上这些值远超视口,
10
+ // 会顶出横向滚动,所以在 md 以下改成按视口收缩并贴边。
11
+ @include r.down(md) {
12
+ width: calc(100vw - 24px) !important;
13
+ max-width: calc(100vw - 24px) !important;
14
+ margin: 12px auto;
15
+ }
16
+
7
17
  &.full {
8
18
  width: 100% !important;
9
19
  max-width: 100% !important;
@@ -53,7 +63,7 @@
53
63
  justify-content: space-between;
54
64
 
55
65
  width: 100%;
56
- height: 32px;
66
+ height: var(--vita-control-height);
57
67
 
58
68
  font-size: 20px;
59
69
 
@@ -3,6 +3,8 @@ import { Modal as AntdModal, ModalProps as AntdModalProps } from "antd";
3
3
  import styles from "./index.module.scss";
4
4
  import { useModalElements, useModalDrag } from "./_hooks";
5
5
  import Button, { ButtonProps } from "../Button";
6
+ import { mergeSemantic } from "../../utils/semantic";
7
+ import { modalFuncs } from "../../feedback";
6
8
 
7
9
  export interface ModalProps extends AntdModalProps {
8
10
  moveable?: boolean;
@@ -11,7 +13,18 @@ export interface ModalProps extends AntdModalProps {
11
13
  titleButtonGroup?: ButtonProps[];
12
14
  }
13
15
 
14
- const Modal: React.FC<ModalProps> = (props) => {
16
+ interface ModalFC extends React.FC<ModalProps> {
17
+ confirm: typeof AntdModal.confirm;
18
+ info: typeof AntdModal.info;
19
+ success: typeof AntdModal.success;
20
+ error: typeof AntdModal.error;
21
+ warning: typeof AntdModal.warning;
22
+ useModal: typeof AntdModal.useModal;
23
+ destroyAll: typeof AntdModal.destroyAll;
24
+ config: typeof AntdModal.config;
25
+ }
26
+
27
+ const Modal = ((props: ModalProps) => {
15
28
  const {
16
29
  moveable = true,
17
30
  className,
@@ -22,7 +35,10 @@ const Modal: React.FC<ModalProps> = (props) => {
22
35
  afterClose,
23
36
  edgeDetection = true,
24
37
  full = false,
25
- destroyOnClose = true,
38
+ // antd v6 renamed `destroyOnClose` to `destroyOnHidden`; keep honouring the old name so
39
+ // existing consumers keep working, and forward the new one.
40
+ destroyOnClose,
41
+ destroyOnHidden = destroyOnClose ?? true,
26
42
  footer,
27
43
  title,
28
44
  titleButtonGroup,
@@ -53,7 +69,9 @@ const Modal: React.FC<ModalProps> = (props) => {
53
69
  }
54
70
  };
55
71
 
56
- const handleCancel = (e: React.MouseEvent<HTMLButtonElement>) => {
72
+ const handleCancel = (
73
+ e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLElement>
74
+ ) => {
57
75
  onCancel?.(e);
58
76
  };
59
77
 
@@ -79,27 +97,28 @@ const Modal: React.FC<ModalProps> = (props) => {
79
97
  title
80
98
  )
81
99
  }
82
- destroyOnClose={destroyOnClose}
100
+ destroyOnHidden={destroyOnHidden}
83
101
  open={open}
84
102
  onCancel={handleCancel}
85
103
  onOk={handleOk}
86
104
  className={`${styles.Modal} ${className} ${full ? styles.full : ""}`}
87
- classNames={{
88
- ...classNames,
89
- header: `${cls} ${styles.header} ${classNames?.header ?? ""} ${
105
+ classNames={mergeSemantic(classNames, (outer) => ({
106
+ ...outer,
107
+ header: `${cls} ${styles.header} ${outer.header ?? ""} ${
90
108
  moveable ? styles.moveable : ""
91
109
  }`,
92
- content: `${styles.content} ${classNames?.content ?? ""}`,
93
- body: `${styles.body} ${classNames?.body ?? ""}`,
94
- footer: `${styles.footer} ${classNames?.footer ?? ""} ${
110
+ // v5 called this slot `content`; v6 renamed it to `container`
111
+ container: `${styles.content} ${outer.container ?? ""}`,
112
+ body: `${styles.body} ${outer.body ?? ""}`,
113
+ footer: `${styles.footer} ${outer.footer ?? ""} ${
95
114
  footer === false ? styles.noFooter : ""
96
115
  }`,
97
- }}
116
+ }))}
98
117
  footer={footer}
99
118
  afterClose={() => {
100
119
  afterClose?.();
101
120
  resetModal();
102
- if (destroyOnClose) {
121
+ if (destroyOnHidden) {
103
122
  setModal(null);
104
123
  setModalHeader(null);
105
124
  setOriginalStyle(null);
@@ -107,6 +126,20 @@ const Modal: React.FC<ModalProps> = (props) => {
107
126
  }}
108
127
  />
109
128
  );
110
- };
129
+ }) as ModalFC;
130
+
131
+ /**
132
+ * 确认框。签名与 antd 一致,但**会跟随主题** —— 指向的是 ../feedback 里的代理,
133
+ * 输出渲染在 ConfigProvider 内的 holder 里,而不是 antd 那个脱离 React 树的静态方法。
134
+ * 没挂 ConfigProvider 时自动回退到 antd 静态方法(功能正常,不跟随主题)。
135
+ */
136
+ Modal.confirm = modalFuncs.confirm;
137
+ Modal.info = modalFuncs.info;
138
+ Modal.success = modalFuncs.success;
139
+ Modal.error = modalFuncs.error;
140
+ Modal.warning = modalFuncs.warning;
141
+ Modal.useModal = AntdModal.useModal;
142
+ Modal.destroyAll = AntdModal.destroyAll;
143
+ Modal.config = AntdModal.config;
111
144
 
112
145
  export default Modal;
@@ -13,7 +13,7 @@
13
13
  > ul > li {
14
14
  padding: 4px 0px !important;
15
15
 
16
- border-bottom: 1px solid var(--cf-border);
16
+ border-bottom: 1px solid var(--vita-border);
17
17
 
18
18
  &:first-child {
19
19
  padding-top: 0px !important;
@@ -267,7 +267,7 @@ const Operate: React.FC<OperateProps> = (props) => {
267
267
  })}
268
268
  {isOverflow && hiddenItems.length > 0 && (
269
269
  <Dropdown
270
- overlayClassName={styles.menu}
270
+ classNames={{ root: styles.menu }}
271
271
  placement="bottom"
272
272
  menu={{ items: menuItems }}
273
273
  >
@@ -0,0 +1,107 @@
1
+ ---
2
+ nav: 组件
3
+ group:
4
+ title: 数据展示
5
+ order: 4
6
+ title: Pagination 分页
7
+ ---
8
+
9
+ # Pagination 分页
10
+
11
+ 在 antd `Pagination` 之上封装:`pageSizeOptions` 收成数字数组、页数与每页条数可以完全不受控、外加一套用于「不知道总数」场景的简洁模式。
12
+
13
+ 1.0.0 起从 `Table` 内部提升为公开组件 —— `Table` 的内置分页用的就是它。
14
+
15
+ ## 引入
16
+
17
+ ```ts
18
+ import { Pagination } from "@hsu-react/ui";
19
+ ```
20
+
21
+ ## 基本用法
22
+
23
+ `current` / `pageSize` 都不传时组件自己维护状态,翻页立即生效;传了就以外部值为准(受控)。
24
+
25
+ ```tsx
26
+ import React from "react";
27
+ import { Pagination } from "@hsu-react/ui";
28
+
29
+ export default () => (
30
+ <Pagination
31
+ total={185}
32
+ pageSize={10}
33
+ pageSizeOptions={[10, 20, 50]}
34
+ showSizeChanger
35
+ showTotal={(total) => `共 ${total} 条`}
36
+ />
37
+ );
38
+ ```
39
+
40
+ ## 带边框
41
+
42
+ `bordered` 给分页加一圈边框与内边距,适合直接贴在列表下方、和上方内容有分隔的场景。
43
+
44
+ ```tsx
45
+ import React from "react";
46
+ import { Pagination } from "@hsu-react/ui";
47
+
48
+ export default () => (
49
+ <Pagination bordered total={185} pageSize={10} align="end" />
50
+ );
51
+ ```
52
+
53
+ ## 简洁模式
54
+
55
+ `simple` 不是 antd 那个简洁模式,而是一套**不依赖 total** 的上一页 / 下一页:接口只返回当前页数据、拿不到总数时用它。
56
+
57
+ 此时必须传 `listLength`(当前页拿到几条)—— 「下一页」是否可点靠它判断:拿到的条数少于 `pageSize` 就说明到底了。
58
+
59
+ ```tsx
60
+ import React, { useState } from "react";
61
+ import { Pagination } from "@hsu-react/ui";
62
+
63
+ export default () => {
64
+ const [size, setSize] = useState(10);
65
+ // 假设第 3 页只返回了 4 条,说明已经到底
66
+ const [len, setLen] = useState(10);
67
+
68
+ return (
69
+ <Pagination
70
+ simple
71
+ showSizeChanger
72
+ pageSize={size}
73
+ pageSizeOptions={[10, 20]}
74
+ listLength={len}
75
+ showTotal={() => "已加载"}
76
+ onChange={(page, pageSize) => {
77
+ setSize(pageSize);
78
+ setLen(page >= 3 ? 4 : pageSize);
79
+ }}
80
+ />
81
+ );
82
+ };
83
+ ```
84
+
85
+ ## API
86
+
87
+ 在 [antd PaginationProps](https://ant.design/components/pagination-cn) 基础上重写 / 新增:
88
+
89
+ | 属性 | 说明 | 类型 | 默认值 |
90
+ | --- | --- | --- | --- |
91
+ | pageSizeOptions | 每页条数选项。**类型收成了数字数组**(antd 是 `string[]`);当前 `pageSize` 不在其中时会自动并入并排序 | `number[]` | `[]` |
92
+ | bordered | 加边框与内边距 | `boolean` | `false` |
93
+ | simple | 简洁模式:只有上一页 / 下一页,不需要 `total` | `boolean` | `false` |
94
+ | listLength | 当前页实际拿到的条数,**simple 模式必传**,用于判断「下一页」是否可点 | `number` | - |
95
+ | showTotal | 同 antd,另外允许传 `false` 显式关掉 | `false \| ((total, range) => ReactNode)` | - |
96
+
97
+ > 其余属性透传给 antd `Pagination`。
98
+ >
99
+ > `PaginationProps` 上还有一个 `onStaticPaginationChange`,它**只在 `Table` 里生效** —— `Table` 用 `staticDataSource` 做前端分页时,用它把页码变化透给外部。类型挂在这里是因为 `Table` 的 `pagination` 属性直接复用了这个接口,单独给 `<Pagination>` 传不会有任何效果。
100
+
101
+ ## 受控与非受控
102
+
103
+ 这是最容易踩的一点:
104
+
105
+ - **都不传** `current` / `pageSize` —— 组件内部维护,点了就翻,你只需要在 `onChange` 里去取数据
106
+ - **只传其一** —— 传的那个受控,另一个仍由内部维护
107
+ - **传了就必须更新它**:`current` 传了但 `onChange` 里没有把它改掉,页码会翻不动。这和 antd 的行为一致,只是本组件在不传时多给了一层内部状态,容易让人以为「传了也能自己翻」