@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
@@ -0,0 +1,13 @@
1
+ import { MenuType } from "..";
2
+ interface UseOnlyLvOneMenuOptions {
3
+ items: MenuType[];
4
+ onlyLvOneMenu: boolean;
5
+ getCurrChildItems?: (children: MenuType[]) => void;
6
+ setOpenkeys: (keys: string[]) => void;
7
+ setMenuKey: (key: string) => void;
8
+ }
9
+ /**
10
+ * Handle the top-level-only menu logic
11
+ */
12
+ export declare const useOnlyLvOneMenu: ({ items, onlyLvOneMenu, getCurrChildItems, setOpenkeys, setMenuKey, }: UseOnlyLvOneMenuOptions) => void;
13
+ export {};
@@ -0,0 +1,25 @@
1
+ import { useEffect } from "react";
2
+ import { useLocation } from "react-router";
3
+ /**
4
+ * Handle the top-level-only menu logic
5
+ */
6
+ export var useOnlyLvOneMenu = function useOnlyLvOneMenu(_ref) {
7
+ var items = _ref.items,
8
+ onlyLvOneMenu = _ref.onlyLvOneMenu,
9
+ getCurrChildItems = _ref.getCurrChildItems,
10
+ setOpenkeys = _ref.setOpenkeys,
11
+ setMenuKey = _ref.setMenuKey;
12
+ var location = useLocation();
13
+ useEffect(function () {
14
+ if (onlyLvOneMenu) {
15
+ var item = items.find(function (i) {
16
+ return i.key === "/" + location.pathname.split("/").filter(Boolean)[0];
17
+ });
18
+ if (item) {
19
+ getCurrChildItems === null || getCurrChildItems === void 0 || getCurrChildItems(item.children || []);
20
+ setOpenkeys([item.key]);
21
+ setMenuKey(item.key);
22
+ }
23
+ }
24
+ }, [items, getCurrChildItems, location, onlyLvOneMenu, setOpenkeys, setMenuKey]);
25
+ };
@@ -0,0 +1,10 @@
1
+ import { RouteType } from "../../types";
2
+ import { MenuType } from "..";
3
+ /**
4
+ * Format routes into menu items
5
+ * @param routes Route config
6
+ * @param all Whether to include all routes (including those not shown in the menu)
7
+ * @param parent Parent menu item
8
+ * @returns Menu item array
9
+ */
10
+ export declare const formatMenu: (routes: RouteType[], all?: boolean, parent?: MenuType) => MenuType[];
@@ -0,0 +1,55 @@
1
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
+ import { cloneDeep } from "lodash";
8
+ /**
9
+ * Format routes into menu items
10
+ * @param routes Route config
11
+ * @param all Whether to include all routes (including those not shown in the menu)
12
+ * @param parent Parent menu item
13
+ * @returns Menu item array
14
+ */
15
+ export var formatMenu = function formatMenu(routes) {
16
+ var all = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
17
+ var parent = arguments.length > 2 ? arguments[2] : undefined;
18
+ var newRoutes = [];
19
+ routes === null || routes === void 0 || routes.forEach(function (route) {
20
+ var children = undefined;
21
+ if (route.children) {
22
+ children = formatMenu(route.children, all, cloneDeep(route));
23
+ }
24
+ var meta = route.meta;
25
+ if ((!all ? meta === null || meta === void 0 ? void 0 : meta.menu : true) && route.path) {
26
+ var _children;
27
+ newRoutes.push({
28
+ key: route.path,
29
+ title: meta === null || meta === void 0 ? void 0 : meta.name,
30
+ label: meta === null || meta === void 0 ? void 0 : meta.name,
31
+ icon: meta === null || meta === void 0 ? void 0 : meta.icon,
32
+ defaultIcon: meta === null || meta === void 0 ? void 0 : meta.icon,
33
+ activeIcon: meta === null || meta === void 0 ? void 0 : meta.activeIcon,
34
+ disabled: meta === null || meta === void 0 ? void 0 : meta.disabled,
35
+ children: (((_children = children) === null || _children === void 0 ? void 0 : _children.length) || 0) > 0 ? children : undefined,
36
+ parent: parent
37
+ });
38
+ } else if ((!all ? meta === null || meta === void 0 ? void 0 : meta.menu : true) && route.index && parent !== null && parent !== void 0 && parent.path) {
39
+ newRoutes.push({
40
+ key: parent.path,
41
+ title: meta === null || meta === void 0 ? void 0 : meta.name,
42
+ label: meta === null || meta === void 0 ? void 0 : meta.name,
43
+ icon: meta === null || meta === void 0 ? void 0 : meta.icon,
44
+ defaultIcon: meta === null || meta === void 0 ? void 0 : meta.icon,
45
+ activeIcon: meta === null || meta === void 0 ? void 0 : meta.activeIcon,
46
+ disabled: meta === null || meta === void 0 ? void 0 : meta.disabled
47
+ });
48
+ } else {
49
+ if (children) {
50
+ newRoutes.push.apply(newRoutes, _toConsumableArray(children));
51
+ }
52
+ }
53
+ });
54
+ return newRoutes;
55
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Check whether a path matches
3
+ * @param pathname Current path
4
+ * @param key Route key
5
+ * @param parentPath Parent path
6
+ * @returns Whether it matches
7
+ */
8
+ export declare const checkPathMatch: (pathname: string, key: string, parentPath?: string) => boolean;
@@ -0,0 +1,42 @@
1
+ import { array_is_includes } from "hsu-utils";
2
+
3
+ /**
4
+ * Check whether a path matches
5
+ * @param pathname Current path
6
+ * @param key Route key
7
+ * @param parentPath Parent path
8
+ * @returns Whether it matches
9
+ */
10
+ export var checkPathMatch = function checkPathMatch(pathname, key, parentPath) {
11
+ var pathArr = pathname.split("/").filter(Boolean);
12
+ var keyArr = key.split("/").filter(Boolean);
13
+ if (keyArr.length === 0) {
14
+ return pathname === "/" && key === "/";
15
+ }
16
+ if (pathArr.length !== keyArr.length) {
17
+ return false;
18
+ }
19
+
20
+ // Handle the root path
21
+ if (pathname === "/" && key === "/") {
22
+ return true;
23
+ }
24
+
25
+ // Handle routes with params (e.g. /user/:id)
26
+ if (key.includes(":")) {
27
+ if (parentPath === "/") {
28
+ // If the parent path is the root path, check that there are no non-param segments
29
+ return !keyArr.filter(function (i) {
30
+ return !i.startsWith(":");
31
+ }).length;
32
+ } else {
33
+ // Filter out param segments and compare only the non-param parts
34
+ return array_is_includes(keyArr.filter(function (i) {
35
+ return !i.startsWith(":");
36
+ }), pathArr);
37
+ }
38
+ } else {
39
+ // Plain path matching
40
+ return array_is_includes(keyArr, pathArr);
41
+ }
42
+ };
@@ -0,0 +1,7 @@
1
+ import { MenuType } from "..";
2
+ /**
3
+ * Set the active icon for menu items
4
+ * @param items Menu item array
5
+ * @param menuKey Key of the currently active menu
6
+ */
7
+ export declare const setActiveIcon: (items: MenuType[], menuKey: string) => void;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Set the active icon for menu items
3
+ * @param items Menu item array
4
+ * @param menuKey Key of the currently active menu
5
+ */
6
+ export var setActiveIcon = function setActiveIcon(items, menuKey) {
7
+ items === null || items === void 0 || items.forEach(function (item) {
8
+ if (item.children) {
9
+ setActiveIcon(item.children, menuKey);
10
+ } else {
11
+ if (item.activeIcon && item.key === menuKey) {
12
+ item.icon = item.activeIcon;
13
+ } else {
14
+ item.icon = item.defaultIcon;
15
+ }
16
+ }
17
+ delete item.activeIcon;
18
+ delete item.defaultIcon;
19
+ });
20
+ };
@@ -0,0 +1,34 @@
1
+ import React, { ReactNode } from "react";
2
+ import { MenuProps as AntdMenuProps } from "antd";
3
+ import { ItemType } from "antd/es/menu/interface";
4
+ import { RouteType } from "../types";
5
+ export type MenuType = ItemType & {
6
+ key: string;
7
+ icon?: ReactNode;
8
+ defaultIcon?: ReactNode;
9
+ activeIcon?: ReactNode;
10
+ children?: MenuType[];
11
+ label?: ReactNode;
12
+ path?: string;
13
+ name?: ReactNode;
14
+ title?: string;
15
+ disabled?: boolean;
16
+ renderLabel?: (label: string) => ReactNode;
17
+ parent?: MenuType;
18
+ };
19
+ export interface MenuProps extends AntdMenuProps {
20
+ router: RouteType[];
21
+ collapsed?: boolean;
22
+ menuItems?: MenuType[];
23
+ onlyLvOneMenu?: boolean;
24
+ getCurrChildItems?: (children: MenuType[]) => void;
25
+ /** 次级菜单顶部的自定义区域(返回入口、标题、检索框之类),只在次级菜单生效 */
26
+ secondaryHeader?: ReactNode;
27
+ /**
28
+ * 次级菜单项的额外过滤,按菜单项的 key(绝对路径)判断。
29
+ * 留给依赖运行时业务数据、菜单表达不了的规则。
30
+ */
31
+ secondaryItemFilter?: (key: string) => boolean;
32
+ }
33
+ declare const Menu: React.FC<MenuProps>;
34
+ export default Menu;
@@ -0,0 +1,195 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["router", "collapsed", "className", "theme", "mode", "getCurrChildItems", "menuItems", "onlyLvOneMenu", "secondaryHeader", "secondaryItemFilter", "classNames"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
12
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
13
+ import React, { useMemo } from "react";
14
+ import { matchPath, useLocation, useNavigate } from "react-router";
15
+ import { Menu as AntdMenu } from "antd";
16
+ import { cloneDeep } from "lodash";
17
+ import classNames from "classnames";
18
+ import { mergeSemantic } from "../../utils/semantic";
19
+ import styles from "./index.module.scss";
20
+ import { formatMenu } from "./_utils/formatMenu";
21
+ import { setActiveIcon } from "./_utils/setActiveIcon";
22
+ import { useMenuPath } from "./_hooks/useMenuPath";
23
+ import SecondaryHeader from "./_components/SecondaryHeader";
24
+ import { useOnlyLvOneMenu } from "./_hooks/useOnlyLvOneMenu";
25
+ import { jsx as _jsx } from "react/jsx-runtime";
26
+ import { jsxs as _jsxs } from "react/jsx-runtime";
27
+ /**
28
+ * 次级菜单根:进入它的子树后,整个侧栏换成那些子页。
29
+ * 由菜单表的 `cat=1` 显式标记,不靠前端推断。
30
+ */
31
+ var isSecondaryRoot = function isSecondaryRoot(route) {
32
+ var _route$children, _route$meta;
33
+ return !!route.path && !!((_route$children = route.children) !== null && _route$children !== void 0 && _route$children.length) && ((_route$meta = route.meta) === null || _route$meta === void 0 ? void 0 : _route$meta.secondary) === true;
34
+ };
35
+
36
+ /** 把菜单项 key 里的路由参数按当前地址回填:/order/:id/detail → /order/1024/detail */
37
+ var fillParams = function fillParams(key, params) {
38
+ return key.replace(/:([^/]+)/g, function (seg, name) {
39
+ var _params$name;
40
+ return (_params$name = params[name]) !== null && _params$name !== void 0 ? _params$name : seg;
41
+ });
42
+ };
43
+ var Menu = function Menu(props) {
44
+ var router = props.router,
45
+ _props$collapsed = props.collapsed,
46
+ collapsed = _props$collapsed === void 0 ? false : _props$collapsed,
47
+ className = props.className,
48
+ _props$theme = props.theme,
49
+ theme = _props$theme === void 0 ? "dark" : _props$theme,
50
+ _props$mode = props.mode,
51
+ mode = _props$mode === void 0 ? "inline" : _props$mode,
52
+ getCurrChildItems = props.getCurrChildItems,
53
+ menuItems = props.menuItems,
54
+ _props$onlyLvOneMenu = props.onlyLvOneMenu,
55
+ onlyLvOneMenu = _props$onlyLvOneMenu === void 0 ? false : _props$onlyLvOneMenu,
56
+ secondaryHeader = props.secondaryHeader,
57
+ secondaryItemFilter = props.secondaryItemFilter,
58
+ semanticClassNames = props.classNames,
59
+ menuConfig = _objectWithoutProperties(props, _excluded);
60
+ var navigate = useNavigate();
61
+ var location = useLocation();
62
+
63
+ // 当前地址落在某个次级菜单根之下时,侧栏整个换成那棵子树
64
+ var secondary = useMemo(function () {
65
+ var find = function find(routes) {
66
+ var _iterator = _createForOfIteratorHelper(routes !== null && routes !== void 0 ? routes : []),
67
+ _step;
68
+ try {
69
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
70
+ var r = _step.value;
71
+ if (isSecondaryRoot(r) && matchPath({
72
+ path: r.path,
73
+ end: false
74
+ }, location.pathname)) {
75
+ return r;
76
+ }
77
+ var hit = find(r.children);
78
+ if (hit) return hit;
79
+ }
80
+ } catch (err) {
81
+ _iterator.e(err);
82
+ } finally {
83
+ _iterator.f();
84
+ }
85
+ return undefined;
86
+ };
87
+ return find(router);
88
+ }, [router, location.pathname]);
89
+ var items = useMemo(function () {
90
+ if (secondary !== null && secondary !== void 0 && secondary.path) {
91
+ var _secondary$children;
92
+ var rootLen = secondary.path.length;
93
+ // all=true:这些子页本就都不进主侧栏,按 menu 标记会被全部过滤掉
94
+ return formatMenu((_secondary$children = secondary.children) !== null && _secondary$children !== void 0 ? _secondary$children : [], true)
95
+ // 自身那段还带参数的(detail/:id)点不进去,不列
96
+ .filter(function (i) {
97
+ return !i.key.slice(rootLen).includes(":");
98
+ }).filter(function (i) {
99
+ var _secondaryItemFilter;
100
+ return (_secondaryItemFilter = secondaryItemFilter === null || secondaryItemFilter === void 0 ? void 0 : secondaryItemFilter(i.key)) !== null && _secondaryItemFilter !== void 0 ? _secondaryItemFilter : true;
101
+ });
102
+ }
103
+ return menuItems ? cloneDeep(menuItems) : formatMenu(router);
104
+ }, [router, menuItems, secondary, secondaryItemFilter]);
105
+ var allItems = useMemo(function () {
106
+ return menuItems ? cloneDeep(menuItems) : formatMenu(cloneDeep(router), true);
107
+ }, [router, menuItems]);
108
+ var _useMenuPath = useMenuPath({
109
+ allItems: allItems,
110
+ collapsed: collapsed,
111
+ mode: mode
112
+ }),
113
+ menuKey = _useMenuPath.menuKey,
114
+ setMenuKey = _useMenuPath.setMenuKey,
115
+ openKeys = _useMenuPath.openKeys,
116
+ setOpenkeys = _useMenuPath.setOpenkeys;
117
+ var _items = useMemo(function () {
118
+ var _items = cloneDeep(items);
119
+ setActiveIcon(_items, menuKey);
120
+ return _items;
121
+ }, [items, menuKey]);
122
+ useOnlyLvOneMenu({
123
+ items: items,
124
+ onlyLvOneMenu: onlyLvOneMenu,
125
+ getCurrChildItems: getCurrChildItems,
126
+ setOpenkeys: setOpenkeys,
127
+ setMenuKey: setMenuKey
128
+ });
129
+
130
+ // Cloudflare style: the sidebar (inline) renders top-level directories as non-collapsible "groups";
131
+ // level 1 = gray section title, level 2 = flat items; collapsible submenus are no longer used in expanded mode.
132
+ var cfGroupItems = useMemo(function () {
133
+ return _items.map(function (it) {
134
+ var _it$children, _it$title;
135
+ return (_it$children = it.children) !== null && _it$children !== void 0 && _it$children.length && !collapsed ? {
136
+ type: "group",
137
+ key: it.key,
138
+ label: (_it$title = it.title) !== null && _it$title !== void 0 ? _it$title : it.label,
139
+ children: it.children
140
+ } : it;
141
+ });
142
+ }, [_items, collapsed]);
143
+ var menu = /*#__PURE__*/_jsx(AntdMenu, _objectSpread(_objectSpread({}, menuConfig), {}, {
144
+ mode: mode,
145
+ inlineCollapsed: collapsed,
146
+ items: onlyLvOneMenu ? _items === null || _items === void 0 ? void 0 : _items.map(function (i) {
147
+ return _objectSpread(_objectSpread({}, i), {}, {
148
+ children: undefined
149
+ });
150
+ }) : mode === "inline" ? cfGroupItems : _items,
151
+ onClick: function onClick(v) {
152
+ if (onlyLvOneMenu) {
153
+ var _items$find;
154
+ getCurrChildItems === null || getCurrChildItems === void 0 || getCurrChildItems(((_items$find = items.find(function (i) {
155
+ return i.key === v.key;
156
+ })) === null || _items$find === void 0 ? void 0 : _items$find.children) || []);
157
+ setOpenkeys([v.key]);
158
+ setMenuKey(v.key);
159
+ } else {
160
+ var _matchPath$params, _matchPath;
161
+ // 次级菜单的 key 是带参模式(/admin/order/:id/detail),按当前地址回填再跳
162
+ var params = secondary !== null && secondary !== void 0 && secondary.path ? (_matchPath$params = (_matchPath = matchPath({
163
+ path: secondary.path,
164
+ end: false
165
+ }, location.pathname)) === null || _matchPath === void 0 ? void 0 : _matchPath.params) !== null && _matchPath$params !== void 0 ? _matchPath$params : {} : {};
166
+ navigate(fillParams(v.key, params));
167
+ }
168
+ },
169
+ selectedKeys: [menuKey],
170
+ openKeys: openKeys,
171
+ onOpenChange: function onOpenChange(keys) {
172
+ setOpenkeys(keys);
173
+ },
174
+ theme: theme,
175
+ className: classNames(styles.menu, className)
176
+ // 弹出的子菜单挂在 body 上,拿不到根节点的类名。给它挂一个自己的类,样式才有地方落
177
+ ,
178
+ classNames: mergeSemantic(semanticClassNames, function (outer) {
179
+ var _outer$popup;
180
+ return _objectSpread(_objectSpread({}, outer), {}, {
181
+ popup: [styles.popup, typeof outer.popup === "string" ? outer.popup : (_outer$popup = outer.popup) === null || _outer$popup === void 0 ? void 0 : _outer$popup.root].filter(Boolean).join(" ")
182
+ });
183
+ })
184
+ }));
185
+
186
+ // 次级菜单默认带一段头部(至少给出返回入口),调用方可用 secondaryHeader 整块换掉
187
+ return secondary ? /*#__PURE__*/_jsxs("div", {
188
+ className: styles.secondaryWrap,
189
+ children: [secondaryHeader !== null && secondaryHeader !== void 0 ? secondaryHeader : /*#__PURE__*/_jsx(SecondaryHeader, {
190
+ collapsed: collapsed,
191
+ theme: theme
192
+ }), menu]
193
+ }) : menu;
194
+ };
195
+ export default Menu;
@@ -0,0 +1,50 @@
1
+ // 注意:CSS Module 里的类名都会被哈希,antd 的类名必须写在 :global() 中,否则
2
+ // `.ant-menu-horizontal` 会变成 `.ant-menu-horizontal___xxxxx`,静悄悄地永不生效。
3
+ .menu {
4
+ &::-webkit-scrollbar {
5
+ width: 0px;
6
+ height: 0px;
7
+ }
8
+
9
+ scrollbar-width: none;
10
+
11
+ // 顶部横向菜单:占满剩余宽度,背景交给外层的导航渐变
12
+ &:global(.ant-menu-horizontal) {
13
+ flex: 1;
14
+ min-width: 0px;
15
+
16
+ background-color: transparent;
17
+ }
18
+ }
19
+
20
+ // 弹出的子菜单挂在 body 上,够不到 .menu,所以由组件把这个类挂到 popup 上
21
+ .popup {
22
+ &:global(.ant-menu-submenu-popup.ant-menu.ant-menu-dark) {
23
+ :global(.ant-menu-item),
24
+ :global(.ant-menu-submenu-title) {
25
+ color: var(--vita-foreground);
26
+
27
+ &:hover {
28
+ color: var(--vita-primary) !important;
29
+ }
30
+
31
+ &:global(.ant-menu-item-selected) {
32
+ background-color: color-mix(in srgb, var(--vita-primary) 8%, transparent);
33
+
34
+ color: var(--vita-primary) !important;
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ // 次级菜单:头部固定在上,菜单撑满剩余高度
41
+ .secondaryWrap {
42
+ height: 100%;
43
+ display: flex;
44
+ flex-direction: column;
45
+
46
+ :global(.ant-menu) {
47
+ flex: 1;
48
+ border-inline-end: none !important;
49
+ }
50
+ }
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ interface DraggableTabPaneProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ "data-node-key": string;
4
+ }
5
+ /**
6
+ * Draggable tab node component
7
+ */
8
+ declare const DraggableTabNode: React.FC<Readonly<DraggableTabPaneProps>>;
9
+ export default DraggableTabNode;
@@ -0,0 +1,34 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import React from "react";
8
+ import { useSortable } from "@dnd-kit/sortable";
9
+ import { CSS } from "@dnd-kit/utilities";
10
+ /**
11
+ * Draggable tab node component
12
+ */
13
+ var DraggableTabNode = function DraggableTabNode(props) {
14
+ var _useSortable = useSortable({
15
+ id: props["data-node-key"]
16
+ }),
17
+ attributes = _useSortable.attributes,
18
+ listeners = _useSortable.listeners,
19
+ setNodeRef = _useSortable.setNodeRef,
20
+ transform = _useSortable.transform,
21
+ transition = _useSortable.transition,
22
+ isDragging = _useSortable.isDragging;
23
+ var style = _objectSpread(_objectSpread({}, props.style), {}, {
24
+ transform: CSS.Transform.toString(transform),
25
+ transition: transition,
26
+ opacity: isDragging ? 0 : 1,
27
+ cursor: "pointer"
28
+ });
29
+ return /*#__PURE__*/React.cloneElement(props.children, _objectSpread(_objectSpread({
30
+ ref: setNodeRef,
31
+ style: style
32
+ }, attributes), listeners));
33
+ };
34
+ export default DraggableTabNode;
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { TabType } from "../..";
3
+ interface TabContextMenuProps {
4
+ item: TabType;
5
+ index: number;
6
+ openKeys: TabType[];
7
+ basePath: string;
8
+ affixRouter: string[];
9
+ onReload: (key: string) => void;
10
+ refresh: (key: string) => void;
11
+ drop: (key: string) => void;
12
+ setOpenkeys: React.Dispatch<React.SetStateAction<TabType[]>>;
13
+ setOpen: (key: string) => void;
14
+ navigate: (path: string) => void;
15
+ }
16
+ /**
17
+ * Tab context menu component
18
+ */
19
+ declare const TabContextMenu: React.FC<TabContextMenuProps>;
20
+ export default TabContextMenu;
@@ -0,0 +1,124 @@
1
+ import React from "react";
2
+ import Button from "../../../../components/Button";
3
+ import Icon from "../../../../components/Icon";
4
+ import { closeTab, closeLeftTabs, closeRightTabs, closeOtherTabs, closeAllTabs } from "../../_utils/tabActions";
5
+ import styles from "../../index.module.scss";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ import { jsxs as _jsxs } from "react/jsx-runtime";
8
+ /**
9
+ * Tab context menu component
10
+ */
11
+ var TabContextMenu = function TabContextMenu(_ref) {
12
+ var item = _ref.item,
13
+ index = _ref.index,
14
+ openKeys = _ref.openKeys,
15
+ basePath = _ref.basePath,
16
+ affixRouter = _ref.affixRouter,
17
+ onReload = _ref.onReload,
18
+ refresh = _ref.refresh,
19
+ drop = _ref.drop,
20
+ setOpenkeys = _ref.setOpenkeys,
21
+ setOpen = _ref.setOpen,
22
+ navigate = _ref.navigate;
23
+ // Determine whether the current tab is affixed
24
+ var isAffixed = affixRouter.includes(item.key) || item.affix;
25
+ return /*#__PURE__*/_jsxs("div", {
26
+ className: styles.tabContextMenu,
27
+ children: [/*#__PURE__*/_jsxs("div", {
28
+ className: styles.part,
29
+ children: [/*#__PURE__*/_jsx(Button, {
30
+ type: "text",
31
+ onClick: function onClick() {
32
+ var _item$key, _item$key2;
33
+ onReload(((_item$key = item.key) === null || _item$key === void 0 ? void 0 : _item$key.split("?")[0]) || "");
34
+ refresh(((_item$key2 = item.key) === null || _item$key2 === void 0 ? void 0 : _item$key2.split("?")[0]) || "");
35
+ setOpen("");
36
+ },
37
+ icon: /*#__PURE__*/_jsx(Icon, {
38
+ icon: "ep:refresh"
39
+ }),
40
+ children: "\u91CD\u65B0\u52A0\u8F7D"
41
+ }), /*#__PURE__*/_jsx(Button, {
42
+ type: "text",
43
+ disabled: isAffixed,
44
+ onClick: function onClick() {
45
+ var _newOpenKeys$targetIn;
46
+ var newOpenKeys = closeTab(openKeys, index, drop, affixRouter);
47
+ setOpenkeys(newOpenKeys);
48
+ setOpen("");
49
+ // After closing the tab, select the previous one; fall back to the first one
50
+ var targetIndex = index > 0 ? index - 1 : 0;
51
+ navigate(((_newOpenKeys$targetIn = newOpenKeys[targetIndex]) === null || _newOpenKeys$targetIn === void 0 ? void 0 : _newOpenKeys$targetIn.key) || basePath);
52
+ },
53
+ icon: /*#__PURE__*/_jsx(Icon, {
54
+ icon: "ep:close"
55
+ }),
56
+ children: "\u5173\u95ED\u6807\u7B7E\u9875"
57
+ })]
58
+ }), /*#__PURE__*/_jsxs("div", {
59
+ className: styles.part,
60
+ children: [/*#__PURE__*/_jsx(Button, {
61
+ type: "text",
62
+ disabled: index === 0,
63
+ onClick: function onClick() {
64
+ var newOpenKeys = closeLeftTabs(openKeys, index, drop, affixRouter);
65
+ setOpenkeys(newOpenKeys);
66
+ setOpen("");
67
+ navigate(item.key);
68
+ },
69
+ icon: /*#__PURE__*/_jsx(Icon, {
70
+ icon: "ep:d-arrow-left"
71
+ }),
72
+ children: "\u5173\u95ED\u5DE6\u4FA7\u6807\u7B7E\u9875"
73
+ }), /*#__PURE__*/_jsx(Button, {
74
+ type: "text",
75
+ disabled: index === openKeys.length - 1,
76
+ onClick: function onClick() {
77
+ var newOpenKeys = closeRightTabs(openKeys, index, drop, affixRouter);
78
+ setOpenkeys(newOpenKeys);
79
+ setOpen("");
80
+ navigate(item.key);
81
+ },
82
+ icon: /*#__PURE__*/_jsx(Icon, {
83
+ icon: "ep:d-arrow-right"
84
+ }),
85
+ children: "\u5173\u95ED\u53F3\u4FA7\u6807\u7B7E\u9875"
86
+ })]
87
+ }), /*#__PURE__*/_jsxs("div", {
88
+ className: styles.part,
89
+ children: [/*#__PURE__*/_jsx(Button, {
90
+ type: "text",
91
+ disabled: openKeys.length <= 1,
92
+ onClick: function onClick() {
93
+ var newOpenKeys = closeOtherTabs(openKeys, item, drop, affixRouter);
94
+ setOpenkeys(newOpenKeys);
95
+ setOpen("");
96
+ navigate(item.key);
97
+ },
98
+ icon: /*#__PURE__*/_jsx(Icon, {
99
+ icon: "ep:discount"
100
+ }),
101
+ children: "\u5173\u95ED\u5176\u4ED6\u6807\u7B7E\u9875"
102
+ }), /*#__PURE__*/_jsx(Button, {
103
+ type: "text",
104
+ disabled: isAffixed && openKeys.length <= 1,
105
+ onClick: function onClick() {
106
+ var newOpenKeys = closeAllTabs(openKeys, drop, affixRouter);
107
+ setOpenkeys(newOpenKeys);
108
+ setOpen("");
109
+ // If any affixed tabs remain, navigate to the first one
110
+ if (newOpenKeys.length > 0) {
111
+ navigate(newOpenKeys[0].key);
112
+ } else {
113
+ navigate(basePath);
114
+ }
115
+ },
116
+ icon: /*#__PURE__*/_jsx(Icon, {
117
+ icon: "ep:minus"
118
+ }),
119
+ children: "\u5173\u95ED\u5168\u90E8\u6807\u7B7E\u9875"
120
+ })]
121
+ })]
122
+ });
123
+ };
124
+ export default TabContextMenu;