@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
@@ -157,6 +157,24 @@ export default () => {
157
157
  };
158
158
  ```
159
159
 
160
+ ## antd 原生成员
161
+
162
+ 除了上面三个本库封装的表单形态,`Form` 还原样透出了 antd 的成员,省得再单独 `import { Form } from "antd"`:
163
+
164
+ ```tsx | pure
165
+ Form.Item // antd 的 Form.Item
166
+ Form.List
167
+ Form.ErrorList
168
+ Form.Provider
169
+ Form.useForm
170
+ Form.useWatch
171
+ Form.useFormInstance
172
+ ```
173
+
174
+ > **`Form.Item` 与顶层导出的 `FormItem` 不是一个东西。** `Form.Item` 是 antd 原生的,保持 antd 语义;
175
+ > `FormItem` 是本库的增强版(label 宽度计算、tips 气泡、`hasPermi` 权限、按 `type` 自动生成 placeholder 等)。
176
+ > 刻意不让 `Form.Item` 指向增强版,否则同名不同 API,出问题时很难排查。
177
+
160
178
  ## API
161
179
 
162
180
  `Form` 是一个对象,包含以下成员:
@@ -9,14 +9,32 @@ interface FormType {
9
9
  Modal: React.FC<ModalFormProps>;
10
10
  Drawer: React.FC<DrawerFormProps>;
11
11
  Import: React.FC<ImportFormProps>;
12
+ /**
13
+ * antd 的 `Form.Item`,原样透出。
14
+ *
15
+ * 注意与库顶层导出的 `FormItem` 区分:那个是本库自己的增强版(带 label 宽度计算、
16
+ * tips、权限、按 type 生成 placeholder 等)。这里保持 antd 语义,避免同名不同 API。
17
+ */
18
+ Item: typeof AntdForm.Item;
19
+ List: typeof AntdForm.List;
20
+ ErrorList: typeof AntdForm.ErrorList;
21
+ Provider: typeof AntdForm.Provider;
12
22
  useForm: typeof AntdForm.useForm;
23
+ useWatch: typeof AntdForm.useWatch;
24
+ useFormInstance: typeof AntdForm.useFormInstance;
13
25
  }
14
26
 
15
27
  const Form: FormType = {
16
28
  Modal: ModalForm,
17
29
  Drawer: DrawerForm,
18
30
  Import: ImportForm,
31
+ Item: AntdForm.Item,
32
+ List: AntdForm.List,
33
+ ErrorList: AntdForm.ErrorList,
34
+ Provider: AntdForm.Provider,
19
35
  useForm: AntdForm.useForm,
36
+ useWatch: AntdForm.useWatch,
37
+ useFormInstance: AntdForm.useFormInstance,
20
38
  };
21
39
 
22
40
  export default Form;
@@ -19,9 +19,9 @@
19
19
  height: 6px;
20
20
 
21
21
  border: 0;
22
- border-radius: 6px;
22
+ border-radius: var(--vita-radius-sm);
23
23
 
24
- background-color: var(--cf-border);
24
+ background-color: var(--vita-border);
25
25
  }
26
26
 
27
27
  /* When value is in [min, low] */
@@ -53,7 +53,7 @@
53
53
 
54
54
  background-color: transparent;
55
55
 
56
- border-color: var(--cf-surface);
56
+ border-color: var(--vita-surface);
57
57
  border-style: solid;
58
58
  border-width: 0 5px;
59
59
  }
@@ -4,7 +4,7 @@
4
4
  display: flex;
5
5
  align-items: center;
6
6
 
7
- color: var(--cf-text);
7
+ color: var(--vita-foreground);
8
8
  font-size: 14px;
9
9
 
10
10
  > label {
@@ -21,8 +21,8 @@
21
21
  > span:global(.ant-radio) {
22
22
  width: 24px;
23
23
  min-width: 24px;
24
- height: 24px;
25
- min-height: 24px;
24
+ height: var(--vita-control-height-sm);
25
+ min-height: var(--vita-control-height-sm);
26
26
 
27
27
  border-radius: 2px;
28
28
 
@@ -31,12 +31,10 @@
31
31
  height: 100%;
32
32
  }
33
33
 
34
- :global(.ant-radio-inner) {
35
- width: 100%;
36
- height: 100%;
37
-
38
- border-radius: inherit;
39
- border-color: var(--cf-border) !important;
34
+ // v6 draws the dot on `.ant-radio` itself (the old `.ant-radio-inner` span is gone),
35
+ // so the fill-the-parent sizing is dropped.
36
+ & {
37
+ border-color: var(--vita-border) !important;
40
38
 
41
39
  background: transparent !important;
42
40
 
@@ -66,7 +64,7 @@
66
64
  }
67
65
 
68
66
  &:global(.ant-radio-checked) {
69
- :global(.ant-radio-inner) {
67
+ & {
70
68
  background: rgba(255, 255, 255, 1) !important;
71
69
 
72
70
  &::after {
@@ -78,16 +76,16 @@
78
76
  }
79
77
 
80
78
  &:global(.ant-radio-disabled) {
81
- :global(.ant-radio-inner) {
79
+ & {
82
80
  background: rgba(0, 0, 0, 0.04) !important;
83
81
 
84
82
  &::after {
85
- border-color: var(--cf-border) !important;
83
+ border-color: var(--vita-border) !important;
86
84
  }
87
85
  }
88
86
 
89
87
  &:global(.ant-radio-checked) {
90
- :global(.ant-radio-inner) {
88
+ & {
91
89
  background: rgba(0, 0, 0, 0.04) !important;
92
90
  }
93
91
  }
@@ -1,7 +1,7 @@
1
1
  .FormSegmented {
2
2
  height: 100%;
3
3
 
4
- color: var(--cf-text);
4
+ color: var(--vita-foreground);
5
5
 
6
6
  :global(.ant-segmented-group) {
7
7
  height: 100%;
@@ -9,7 +9,7 @@
9
9
 
10
10
  box-shadow: none !important;
11
11
 
12
- border-radius: 4px;
12
+ border-radius: var(--vita-radius-xs);
13
13
 
14
14
  background-color: transparent !important;
15
15
  }
@@ -1,4 +1,5 @@
1
- import { UploadFile, notification } from "antd";
1
+ import { UploadFile } from "antd";
2
+ import { notification } from "../../../../feedback";
2
3
  import ItemContainer, { ItemContainerProps } from "../../ItemContainer";
3
4
  import React, { ReactNode, useState } from "react";
4
5
  import Upload, { UploadProps as BasicUploadProps } from "../../../Upload";
@@ -5,7 +5,7 @@
5
5
  height: max-content;
6
6
 
7
7
  .upBtn {
8
- height: 32px;
8
+ height: var(--vita-control-height);
9
9
  }
10
10
  }
11
11
 
@@ -20,12 +20,12 @@
20
20
  cursor: not-allowed;
21
21
 
22
22
  > div {
23
- background-color: var(--cf-subtle);
23
+ background-color: var(--vita-muted);
24
24
 
25
- border-color: var(--cf-border);
25
+ border-color: var(--vita-border);
26
26
 
27
27
  > span {
28
- color: var(--cf-text-3) !important;
28
+ color: var(--vita-subtle-foreground) !important;
29
29
  }
30
30
  }
31
31
  }
@@ -47,7 +47,7 @@
47
47
  width: max-content;
48
48
  height: 46px;
49
49
 
50
- border: 1px solid var(--cf-border);
50
+ border: 1px solid var(--vita-border);
51
51
 
52
52
  > span {
53
53
  &:first-child {
@@ -61,9 +61,9 @@
61
61
  font-family: Noto Sans SC;
62
62
  font-size: 18px;
63
63
  font-weight: 500;
64
- color: var(--cf-text);
64
+ color: var(--vita-foreground);
65
65
 
66
- border-right: 1px solid var(--cf-border);
66
+ border-right: 1px solid var(--vita-border);
67
67
  }
68
68
 
69
69
  &:nth-child(2) {
@@ -77,7 +77,7 @@
77
77
  font-family: Noto Sans SC;
78
78
  font-size: 18px;
79
79
  font-weight: 500;
80
- color: var(--cf-text-2);
80
+ color: var(--vita-muted-foreground);
81
81
 
82
82
  > a {
83
83
  white-space: nowrap;
@@ -93,33 +93,33 @@
93
93
  font-family: Noto Sans SC;
94
94
  font-size: 18px;
95
95
  font-weight: 500;
96
- color: var(--cf-text-2);
96
+ color: var(--vita-muted-foreground);
97
97
  }
98
98
  }
99
99
 
100
100
  &:global(.ant-upload-drag) {
101
101
  height: 180px;
102
102
 
103
- border-radius: 8px;
104
- border: 1px dashed color-mix(in srgb, var(--primary-color) 60%, transparent);
105
- background: color-mix(in srgb, var(--primary-color) 2%, transparent);
103
+ border-radius: var(--vita-radius);
104
+ border: 1px dashed color-mix(in srgb, var(--vita-primary) 60%, transparent);
105
+ background: color-mix(in srgb, var(--vita-primary) 2%, transparent);
106
106
 
107
107
  transition: all 0.3s;
108
108
 
109
109
  &:hover {
110
- background: color-mix(in srgb, var(--primary-color) 8%, transparent);
110
+ background: color-mix(in srgb, var(--vita-primary) 8%, transparent);
111
111
 
112
- border-color: var(--primary-color);
112
+ border-color: var(--vita-primary);
113
113
  }
114
114
 
115
115
  .uploadIcon {
116
116
  font-size: 40px;
117
- color: var(--primary-color);
117
+ color: var(--vita-primary);
118
118
  }
119
119
 
120
120
  .uploadText {
121
121
  font-size: 14px;
122
- color: var(--cf-text);
122
+ color: var(--vita-foreground);
123
123
 
124
124
  > div:first-child {
125
125
  margin: 16px 0 8px;
@@ -127,7 +127,7 @@
127
127
 
128
128
  > div:last-child {
129
129
  font-size: 12px;
130
- color: var(--cf-text-2);
130
+ color: var(--vita-muted-foreground);
131
131
  }
132
132
  }
133
133
  }
@@ -1,4 +1,5 @@
1
- import { Button, UploadFile, notification } from "antd";
1
+ import { Button, UploadFile } from "antd";
2
+ import { notification } from "../../../feedback";
2
3
  import FormImage, { FormImageProps } from "./FormImage";
3
4
  import ItemContainer, { ItemContainerProps } from "../ItemContainer";
4
5
  import Upload, {
@@ -1,10 +1,12 @@
1
+ @use "../../../styles/responsive" as r;
2
+
1
3
  .formItem {
2
4
  --label-width: auto;
3
5
  --label-height: max-content;
4
- --label-min-height: 32px;
6
+ --label-min-height: var(--vita-control-height);
5
7
  --input-width: 100%;
6
8
  --input-height: max-content;
7
- --input-min-height: 32px;
9
+ --input-min-height: var(--vita-control-height);
8
10
  --input-horizontal-min-width: 0px;
9
11
  --input-horizontal-flex-grow: 1;
10
12
 
@@ -120,7 +122,7 @@
120
122
  justify-content: flex-end;
121
123
  flex-basis: 100%;
122
124
 
123
- color: var(--cf-text-2);
125
+ color: var(--vita-muted-foreground);
124
126
  font-size: 14px;
125
127
  white-space: pre-wrap;
126
128
  }
@@ -185,7 +187,7 @@
185
187
  margin-inline-start: 0px;
186
188
  margin-inline-end: 4px;
187
189
 
188
- color: var(--cf-error);
190
+ color: var(--vita-error);
189
191
  font-size: 14px;
190
192
  font-family: SimSun, sans-serif;
191
193
  line-height: 1;
@@ -201,7 +203,7 @@
201
203
  margin-inline-start: 0px;
202
204
  margin-inline-end: 4px;
203
205
 
204
- color: var(--cf-error);
206
+ color: var(--vita-error);
205
207
  font-size: 14px;
206
208
  font-family: SimSun, sans-serif;
207
209
  line-height: 1;
@@ -226,7 +228,7 @@
226
228
  margin-inline-start: 4px;
227
229
  margin-inline-end: 0px;
228
230
 
229
- color: var(--cf-error);
231
+ color: var(--vita-error);
230
232
  font-size: 14px;
231
233
  font-family: SimSun, sans-serif;
232
234
  line-height: 1;
@@ -255,7 +257,7 @@
255
257
  margin-inline-start: 4px;
256
258
  margin-inline-end: 0px;
257
259
 
258
- color: var(--cf-error);
260
+ color: var(--vita-error);
259
261
  font-size: 14px;
260
262
  font-family: SimSun, sans-serif;
261
263
  line-height: 1;
@@ -304,6 +306,30 @@
304
306
  }
305
307
  }
306
308
 
309
+ // 小屏改成标签在上:水平布局是「固定宽标签 + 有最小宽的输入框」,两者相加在窄视口里
310
+ // 放不下,nowrap 会把整行顶出屏幕。这是响应式表单的标准处理。
311
+ @include r.down(md) {
312
+ :global(.ant-form-item-row) {
313
+ flex-direction: column;
314
+ flex-wrap: wrap;
315
+ row-gap: 4px;
316
+
317
+ height: max-content;
318
+
319
+ :global(.ant-form-item-label) {
320
+ width: 100%;
321
+ text-align: start;
322
+ margin-right: 0px !important;
323
+ padding-bottom: 0px;
324
+ }
325
+
326
+ :global(.ant-form-item-control) {
327
+ width: 100%;
328
+ min-width: 0;
329
+ }
330
+ }
331
+ }
332
+
307
333
  &.start {
308
334
  :global(.ant-form-item-control-input-content) {
309
335
  text-align: left;
@@ -114,8 +114,8 @@ const ItemContainer: React.FC<ItemContainerProps> = (props) => {
114
114
  <Tooltip
115
115
  arrow={false}
116
116
  placement="top"
117
- color="var(--cf-subtle)"
118
- styles={{ body: { color: "var(--cf-text)", padding: "6px 12px" } }}
117
+ color="var(--vita-muted)"
118
+ styles={{ container: { color: "var(--vita-foreground)", padding: "6px 12px" } }}
119
119
  {...tipsConfig}
120
120
  >
121
121
  {typeof icon === "string" ? (
@@ -126,7 +126,7 @@ const ItemContainer: React.FC<ItemContainerProps> = (props) => {
126
126
  e.stopPropagation();
127
127
  }}
128
128
  fontSize={16}
129
- color="var(--cf-text-3)"
129
+ color="var(--vita-subtle-foreground)"
130
130
  />
131
131
  ) : (
132
132
  <div
@@ -1,78 +1,51 @@
1
1
  .inputNumberWrapper {
2
- position: relative;
3
-
4
2
  display: inline-flex;
5
3
 
6
4
  width: 100%;
7
5
  height: 100%;
6
+ // 父级没有确定高度时 height:100% 退化成 auto,控件就变成内容撑高:
7
+ // 内层 32 的行高 + 1px 上下边框 = 34,比其他控件高 2px。给个下限兜住,
8
+ // 与 Select 外框的处理一致。
9
+ min-height: var(--vita-control-height);
8
10
 
9
- .antdInput {
11
+ .compact {
10
12
  width: 100%;
11
13
  height: 100%;
14
+ min-height: inherit;
15
+ }
12
16
 
13
- :global(.ant-input-number-wrapper) {
14
- height: 100%;
15
- min-height: inherit;
16
-
17
- > :global(.ant-input-number),
18
- > :global(.ant-input-number-affix-wrapper) {
19
- height: 100%;
20
- min-height: inherit;
21
- }
22
-
23
- > :global(.ant-input-number) {
24
- > :global(.ant-input-number-input-wrap) {
25
- height: 100%;
26
- min-height: inherit;
17
+ .antdInput {
18
+ width: 100%;
19
+ height: 100%;
20
+ min-height: inherit;
27
21
 
28
- > :global(.ant-input-number-input) {
29
- height: 100%;
30
- min-height: inherit;
31
- }
32
- }
33
- }
34
- }
22
+ // With `addonAfter` the input sits inside a Space.Compact cell, so it must still stretch.
23
+ flex: 1;
35
24
 
36
- > :global(.ant-input-number-input-wrap) {
25
+ // 这里刻意不再往下传 min-height。传下去会把内层输入框的内容盒撑到 32,
26
+ // 外层 .ant-input-number 再加 1px 上下边框就变成 34,比其他控件高 2px。
27
+ // 高度下限由外层这个带边框的元素自己兜(border-box,正好 32)。
28
+ :global(.ant-input-number-input-wrap),
29
+ :global(.ant-input-number-input) {
37
30
  height: 100%;
38
- min-height: inherit;
39
-
40
- > :global(.ant-input-number-input) {
41
- height: 100%;
42
- }
43
- }
44
- }
45
-
46
- &.inputNumberWrapperClear {
47
- input {
48
- padding-right: 33px;
49
31
  }
50
32
  }
51
33
 
34
+ // Rides antd's `suffix` slot, so it needs no positioning of its own — see index.tsx for why the
35
+ // previous absolute-positioned version had to measure the addon's width.
36
+ //
37
+ // antd sets `pointer-events: none` on `.ant-input-number-suffix` so decorative content (units,
38
+ // status icons) lets clicks fall through to the input. This one is a button, so it opts back in.
52
39
  .clearIcon {
53
- position: absolute;
54
- right: 11px;
55
- top: 50%;
56
- transform: translateY(-50%);
40
+ pointer-events: auto;
41
+
57
42
  cursor: pointer;
58
- color: var(--cf-text-3);
43
+ color: var(--vita-subtle-foreground);
59
44
  font-size: 14px;
60
- z-index: 1;
61
45
  transition: color 0.3s;
62
46
 
63
47
  &:hover {
64
- color: var(--cf-text-2);
65
- }
66
- }
67
-
68
- // Adjust the clear icon position when addonAfter is present
69
- // Ant Design's addonAfter generates :global(.ant-input-number-group-addon)
70
- // The clear icon needs to shift left to avoid overlapping the addon
71
- // Use a CSS variable to set the addon width dynamically; the default 60px is a reasonable estimate
72
- // JS computes the actual width and sets the CSS variable to override it
73
- &.hasAddonAfter {
74
- .clearIcon {
75
- right: calc(11px + var(--addon-after-width, 60px));
48
+ color: var(--vita-muted-foreground);
76
49
  }
77
50
  }
78
51
  }
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  InputNumber as AntdInputNumber,
3
3
  InputNumberProps as AntdInputNumberProps,
4
+ Space,
4
5
  } from "antd";
5
6
  import React, { useEffect, useRef, useState } from "react";
6
7
  import { CloseCircleFilled } from "@ant-design/icons";
@@ -8,6 +9,7 @@ import { CloseCircleFilled } from "@ant-design/icons";
8
9
  import classNames from "classnames";
9
10
  import styles from "./index.module.scss";
10
11
  import { useDebounceEffect } from "ahooks";
12
+ import type { InputNumberRef } from "../../../types/antd";
11
13
 
12
14
  export interface InputNumberProps extends Omit<
13
15
  AntdInputNumberProps,
@@ -30,10 +32,13 @@ const InputNumber: React.FC<InputNumberProps> = (props) => {
30
32
  disabled,
31
33
  allowClear = true,
32
34
  addonAfter,
35
+ suffix,
33
36
  wrapperClassName,
34
37
  ...inputConfig
35
38
  } = props;
36
- const ref = useRef<HTMLInputElement>(null);
39
+ // antd v6 types InputNumber's ref as `InputNumberRef`, which extends `HTMLInputElement` — so
40
+ // `getRef` keeps handing consumers an `HTMLInputElement` exactly as before.
41
+ const ref = useRef<InputNumberRef>(null);
37
42
  const wrapperRef = useRef<HTMLDivElement>(null);
38
43
 
39
44
  // On initialization, prefer value, then fall back to defaultValue
@@ -88,47 +93,6 @@ const InputNumber: React.FC<InputNumberProps> = (props) => {
88
93
  getRef?.(ref.current);
89
94
  }, [getRef]);
90
95
 
91
- // Dynamically compute the width of addonAfter and set the CSS variable
92
- useEffect(() => {
93
- if (addonAfter && wrapperRef.current) {
94
- const updateAddonWidth = () => {
95
- const addonElement = wrapperRef.current?.querySelector(
96
- ".ant-input-number-group-addon",
97
- ) as HTMLElement | null;
98
- if (addonElement && addonElement.offsetWidth > 0) {
99
- wrapperRef.current?.style.setProperty(
100
- "--addon-after-width",
101
- `${addonElement.offsetWidth}px`,
102
- );
103
- }
104
- };
105
-
106
- // Use requestAnimationFrame to ensure the DOM has rendered before computing
107
- const rafId = requestAnimationFrame(() => {
108
- updateAddonWidth();
109
- });
110
-
111
- // Observe window and element size changes to recompute
112
- const resizeObserver = new ResizeObserver(() => {
113
- updateAddonWidth();
114
- });
115
-
116
- if (wrapperRef.current) {
117
- const addonElement = wrapperRef.current.querySelector(
118
- ".ant-input-number-group-addon",
119
- ) as HTMLElement | null;
120
- if (addonElement) {
121
- resizeObserver.observe(addonElement);
122
- }
123
- }
124
-
125
- return () => {
126
- cancelAnimationFrame(rafId);
127
- resizeObserver.disconnect();
128
- };
129
- }
130
- }, [addonAfter]);
131
-
132
96
  const handleClear = (e: React.MouseEvent) => {
133
97
  e.stopPropagation();
134
98
  setValue("");
@@ -139,33 +103,53 @@ const InputNumber: React.FC<InputNumberProps> = (props) => {
139
103
  const showClear =
140
104
  allowClear && _value !== "" && _value !== undefined && !disabled;
141
105
 
106
+ const input = (
107
+ <AntdInputNumber
108
+ ref={ref}
109
+ value={_value}
110
+ onChange={(e) => {
111
+ const newValue =
112
+ e === null || e === undefined
113
+ ? ""
114
+ : (typeof e === "number" ? e : e || "").toString();
115
+ setValue(newValue);
116
+ }}
117
+ className={classNames(styles.antdInput, className)}
118
+ controls={false}
119
+ disabled={disabled}
120
+ // The clear button used to be absolutely positioned over the wrapper, which meant its offset
121
+ // had to be recomputed from the addon's measured width (a rAF + ResizeObserver dance writing
122
+ // `--addon-after-width`). Riding antd's own `suffix` slot instead puts it inside the input,
123
+ // so it can never collide with the addon and nothing needs measuring.
124
+ suffix={
125
+ <>
126
+ {showClear && (
127
+ <CloseCircleFilled
128
+ className={styles.clearIcon}
129
+ onClick={handleClear}
130
+ />
131
+ )}
132
+ {suffix}
133
+ </>
134
+ }
135
+ {...inputConfig}
136
+ stringMode
137
+ />
138
+ );
139
+
142
140
  return (
143
141
  <div
144
142
  ref={wrapperRef}
145
- className={classNames(styles.inputNumberWrapper, wrapperClassName, {
146
- [styles.inputNumberWrapperClear]: showClear,
147
- [styles.hasAddonAfter]: !!addonAfter,
148
- })}
143
+ className={classNames(styles.inputNumberWrapper, wrapperClassName)}
149
144
  >
150
- <AntdInputNumber
151
- ref={ref}
152
- value={_value}
153
- onChange={(e) => {
154
- const newValue =
155
- e === null || e === undefined
156
- ? ""
157
- : (typeof e === "number" ? e : e || "").toString();
158
- setValue(newValue);
159
- }}
160
- className={classNames(styles.antdInput, className)}
161
- controls={false}
162
- disabled={disabled}
163
- addonAfter={addonAfter}
164
- {...inputConfig}
165
- stringMode
166
- />
167
- {showClear && (
168
- <CloseCircleFilled className={styles.clearIcon} onClick={handleClear} />
145
+ {addonAfter ? (
146
+ // antd v6 deprecated `addonAfter` in favour of Space.Compact + Space.Addon
147
+ <Space.Compact className={styles.compact}>
148
+ {input}
149
+ <Space.Addon>{addonAfter}</Space.Addon>
150
+ </Space.Compact>
151
+ ) : (
152
+ input
169
153
  )}
170
154
  </div>
171
155
  );