@zat-design/sisyphus-react 4.0.0-beta.9 → 4.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 (433) hide show
  1. package/README.md +1 -1
  2. package/dist/index.esm.css +1 -1
  3. package/dist/less.esm.css +1 -1
  4. package/es/ProAction/index.js +14 -4
  5. package/es/ProConfigProvider/index.js +11 -2
  6. package/es/ProDownload/index.js +16 -5
  7. package/es/ProDownload/utils.js +8 -3
  8. package/es/ProDrawerForm/components/ProDrawer/index.js +14 -4
  9. package/es/ProDrawerForm/components/ProModal/index.js +14 -4
  10. package/es/ProDrawerForm/index.js +13 -3
  11. package/es/ProEditLabel/components/RenderProForm.js +5 -1
  12. package/es/ProEditLabel/index.js +16 -5
  13. package/es/ProEditTable/components/ActionButton/index.js +5 -1
  14. package/es/ProEditTable/components/RcTable/BaseTable.js +13 -3
  15. package/es/ProEditTable/components/RcTable/DraggableTable.js +7 -2
  16. package/es/ProEditTable/components/RenderField/ListChangedWrapper.js +16 -7
  17. package/es/ProEditTable/components/RenderField/index.js +54 -29
  18. package/es/ProEditTable/components/RenderToolbar/index.js +10 -4
  19. package/es/ProEditTable/index.js +16 -10
  20. package/es/ProEditTable/propsType.d.ts +12 -6
  21. package/es/ProEditTable/style/index.less +22 -1
  22. package/es/ProEditTable/utils/config.js +8 -3
  23. package/es/ProEditTable/utils/index.js +14 -10
  24. package/es/ProEditTable/utils/tools.js +22 -10
  25. package/es/ProEditTable/utils/useEditTableError.js +6 -1
  26. package/es/ProEditTable/utils/useShouldUpdateForTable.js +16 -7
  27. package/es/ProEnum/components/Group.js +6 -1
  28. package/es/ProEnum/components/Tag.js +6 -1
  29. package/es/ProEnum/hooks/useEnum.d.ts +8 -0
  30. package/es/ProEnum/hooks/useEnum.js +76 -4
  31. package/es/ProEnum/hooks/useEnumRequest.js +8 -3
  32. package/es/ProEnum/hooks/useFrequentEnumRequest.js +8 -3
  33. package/es/ProEnum/index.js +25 -15
  34. package/es/ProEnum/utils/eventCenter.js +3 -1
  35. package/es/ProEnum/utils/frequentEnum.js +5 -1
  36. package/es/ProEnum/utils/index.js +2 -1
  37. package/es/ProForm/components/FormFooter/index.js +5 -1
  38. package/es/ProForm/components/base/Checkbox/index.js +7 -2
  39. package/es/ProForm/components/base/DatePicker/index.js +7 -2
  40. package/es/ProForm/components/base/DatePicker/useDateLimit.js +6 -1
  41. package/es/ProForm/components/base/Input/index.js +7 -2
  42. package/es/ProForm/components/base/InputNumber/index.js +13 -3
  43. package/es/ProForm/components/base/Radio/index.js +7 -2
  44. package/es/ProForm/components/base/RangePicker/index.d.ts +7 -1
  45. package/es/ProForm/components/base/RangePicker/index.js +50 -4
  46. package/es/ProForm/components/base/RangePicker/useDateRange.js +6 -1
  47. package/es/ProForm/components/base/Select/index.js +7 -2
  48. package/es/ProForm/components/base/Switch/index.js +7 -2
  49. package/es/ProForm/components/base/SwitchCheckbox/index.js +7 -2
  50. package/es/ProForm/components/base/TextArea/index.js +7 -2
  51. package/es/ProForm/components/base/TimePicker/index.js +7 -2
  52. package/es/ProForm/components/combination/Container/index.js +5 -1
  53. package/es/ProForm/components/combination/Container/style/index.less +5 -0
  54. package/es/ProForm/components/combination/FormList/components/ActionButton.js +10 -4
  55. package/es/ProForm/components/combination/FormList/components/Empty.js +3 -2
  56. package/es/ProForm/components/combination/FormList/components/LineFields.js +5 -1
  57. package/es/ProForm/components/combination/FormList/components/ToolbarButton.js +10 -4
  58. package/es/ProForm/components/combination/FormList/index.js +41 -4
  59. package/es/ProForm/components/combination/FormList/style/index.less +1 -1
  60. package/es/ProForm/components/combination/FormList/utils.d.ts +6 -0
  61. package/es/ProForm/components/combination/FormList/utils.js +17 -0
  62. package/es/ProForm/components/combination/Group/component/ComRender.d.ts +3 -0
  63. package/es/ProForm/components/combination/Group/component/ComRender.js +70 -3
  64. package/es/ProForm/components/combination/Group/component/FlexibleGroup.d.ts +10 -0
  65. package/es/ProForm/components/combination/Group/component/FlexibleGroup.js +351 -0
  66. package/es/ProForm/components/combination/Group/hooks/index.d.ts +16 -1
  67. package/es/ProForm/components/combination/Group/hooks/index.js +107 -4
  68. package/es/ProForm/components/combination/Group/index.d.ts +3 -4
  69. package/es/ProForm/components/combination/Group/index.js +108 -24
  70. package/es/ProForm/components/combination/Group/propsType.d.ts +44 -1
  71. package/es/ProForm/components/combination/Group/style/index.less +425 -3
  72. package/es/ProForm/components/combination/Group/utils/index.d.ts +154 -0
  73. package/es/ProForm/components/combination/Group/utils/index.js +428 -0
  74. package/es/ProForm/components/combination/ProCascader/index.js +13 -3
  75. package/es/ProForm/components/combination/ProCascader/utils/index.js +7 -2
  76. package/es/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +14 -4
  77. package/es/ProForm/components/combination/ProModalSelect/index.js +16 -5
  78. package/es/ProForm/components/combination/ProNumberRange/index.js +24 -12
  79. package/es/ProForm/components/combination/ProNumberRange/propsType.d.ts +4 -0
  80. package/es/ProForm/components/combination/ProNumberRange/style/index.less +14 -7
  81. package/es/ProForm/components/combination/ProRangeLimit/index.js +13 -3
  82. package/es/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +6 -1
  83. package/es/ProForm/components/combination/ProTimeLimit/index.js +13 -3
  84. package/es/ProForm/components/render/ChangedWrapper.js +7 -2
  85. package/es/ProForm/components/render/ConfirmWrapper.js +10 -4
  86. package/es/ProForm/components/render/CustomComponentViewWrapper.d.ts +30 -0
  87. package/es/ProForm/components/render/CustomComponentViewWrapper.js +120 -0
  88. package/es/ProForm/components/render/Render.js +71 -16
  89. package/es/ProForm/components/render/RenderFields.js +7 -2
  90. package/es/ProForm/index.js +17 -4
  91. package/es/ProForm/propsType.d.ts +7 -0
  92. package/es/ProForm/style/index.less +11 -2
  93. package/es/ProForm/utils/index.js +7 -2
  94. package/es/ProForm/utils/rulesCreator.js +5 -1
  95. package/es/ProForm/utils/transformValue.js +5 -1
  96. package/es/ProForm/utils/useForm.js +15 -5
  97. package/es/ProForm/utils/useShouldUpdate.js +93 -35
  98. package/es/ProForm/utils/useWatch.js +6 -1
  99. package/es/ProForm/utils/valueType.js +11 -2
  100. package/es/ProIcon/index.js +13 -3
  101. package/es/ProIcon/utils/index.js +5 -1
  102. package/es/ProLayout/components/Layout/Menu/FoldMenu/index.js +28 -35
  103. package/es/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +6 -2
  104. package/es/ProLayout/components/Layout/Menu/OpenMenu/index.js +54 -35
  105. package/es/ProLayout/components/Layout/Menu/OpenMenu/style/index.less +3 -12
  106. package/es/ProLayout/components/Layout/Notice/style/index.less +4 -0
  107. package/es/ProLayout/components/ProCollapse/index.js +5 -1
  108. package/es/ProLayout/components/ProCollapse/style/index.less +9 -9
  109. package/es/ProLayout/components/ProFooter/index.js +6 -2
  110. package/es/ProLayout/components/ProHeader/index.js +14 -4
  111. package/es/ProLayout/components/TabsManager/components/TabContextMenu.d.ts +7 -0
  112. package/es/ProLayout/components/TabsManager/components/TabContextMenu.js +100 -0
  113. package/es/ProLayout/components/TabsManager/components/TabItem.d.ts +26 -0
  114. package/es/ProLayout/components/TabsManager/components/TabItem.js +61 -0
  115. package/es/ProLayout/components/TabsManager/components/TabsContext.d.ts +6 -0
  116. package/es/ProLayout/components/TabsManager/components/TabsContext.js +5 -0
  117. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.d.ts +6 -0
  118. package/es/ProLayout/components/TabsManager/hooks/useActiveTab.js +14 -0
  119. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.d.ts +18 -0
  120. package/es/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +26 -0
  121. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.d.ts +31 -0
  122. package/es/ProLayout/components/TabsManager/hooks/useTabsCache.js +96 -0
  123. package/es/ProLayout/components/TabsManager/hooks/useTabsState.d.ts +5 -0
  124. package/es/ProLayout/components/TabsManager/hooks/useTabsState.js +364 -0
  125. package/es/ProLayout/components/TabsManager/index.d.ts +8 -0
  126. package/es/ProLayout/components/TabsManager/index.js +180 -0
  127. package/es/ProLayout/components/TabsManager/propTypes.d.ts +74 -0
  128. package/es/ProLayout/components/TabsManager/propTypes.js +16 -0
  129. package/es/ProLayout/components/TabsManager/style/index.less +179 -0
  130. package/es/ProLayout/components/TabsManager/utils/index.d.ts +38 -0
  131. package/es/ProLayout/components/TabsManager/utils/index.js +106 -0
  132. package/es/ProLayout/index.d.ts +10 -4
  133. package/es/ProLayout/index.js +100 -16
  134. package/es/ProLayout/propTypes.d.ts +139 -1
  135. package/es/ProLayout/propTypes.js +37 -1
  136. package/es/ProLayout/utils/index.js +16 -7
  137. package/es/ProSelect/components/AdaptiveTooltip.js +6 -1
  138. package/es/ProSelect/index.js +13 -3
  139. package/es/ProSelect/utils/index.js +3 -1
  140. package/es/ProStep/components/Item/index.js +8 -2
  141. package/es/ProStep/components/Listener/index.js +10 -4
  142. package/es/ProStep/components/Step/index.js +11 -2
  143. package/es/ProStep/index.js +16 -5
  144. package/es/ProStep/utils/index.js +5 -1
  145. package/es/ProStepTab/index.js +19 -8
  146. package/es/ProTable/components/FormatColumn/index.js +7 -2
  147. package/es/ProTable/components/RcTable/components/BaseTable/index.js +7 -2
  148. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +10 -4
  149. package/es/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +5 -1
  150. package/es/ProTable/components/RcTable/components/DraggableTable/index.js +7 -2
  151. package/es/ProTable/components/RenderColumn/index.js +11 -2
  152. package/es/ProTable/components/RenderTabs/index.js +11 -2
  153. package/es/ProTable/components/TableResizable/index.js +13 -3
  154. package/es/ProTable/components/TooltipTitle/index.js +3 -5
  155. package/es/ProTable/hooks/useAntdTable.js +17 -6
  156. package/es/ProTable/index.js +16 -5
  157. package/es/ProTable/style/index.less +3 -0
  158. package/es/ProTable/utils/index.js +6 -1
  159. package/es/ProTabs/index.js +13 -3
  160. package/es/ProThemeTools/component/ProTools/index.js +11 -2
  161. package/es/ProThemeTools/context/ThemeContext.js +11 -2
  162. package/es/ProThemeTools/index.js +13 -3
  163. package/es/ProThemeTools/utils/index.js +5 -1
  164. package/es/ProTooltip/index.js +13 -3
  165. package/es/ProTree/components/CloseIcon.js +5 -1
  166. package/es/ProTree/components/List.js +7 -2
  167. package/es/ProTree/components/ProTree.js +16 -5
  168. package/es/ProTree/components/ProTreeSelect/index.js +122 -76
  169. package/es/ProTree/components/Tree.js +16 -5
  170. package/es/ProTree/index.js +5 -1
  171. package/es/ProTree/utils.js +8 -2
  172. package/es/ProTreeModal/components/Cascader.js +11 -2
  173. package/es/ProTreeModal/components/CloseIcon.js +5 -1
  174. package/es/ProTreeModal/components/List.js +6 -1
  175. package/es/ProTreeModal/components/SortableItem.js +5 -1
  176. package/es/ProTreeModal/components/Tree.js +13 -3
  177. package/es/ProTreeModal/components/Trigger.js +11 -2
  178. package/es/ProTreeModal/index.js +11 -2
  179. package/es/ProTreeModal/style/index.less +6 -0
  180. package/es/ProTreeModal/utils.js +8 -2
  181. package/es/ProUpload/components/ButtonRender.js +8 -3
  182. package/es/ProUpload/components/DragRender.d.ts +1 -0
  183. package/es/ProUpload/components/DragRender.js +10 -2
  184. package/es/ProUpload/components/DraggableUploadListItem.js +5 -1
  185. package/es/ProUpload/components/Example.js +11 -2
  186. package/es/ProUpload/components/ImageRender.js +14 -4
  187. package/es/ProUpload/index.js +17 -5
  188. package/es/ProUpload/propsType.d.ts +5 -0
  189. package/es/ProViewer/index.js +14 -4
  190. package/es/ProWaterMark/index.js +5 -1
  191. package/es/index.d.ts +1 -2
  192. package/es/index.js +1 -0
  193. package/es/locale/en_US.d.ts +9 -0
  194. package/es/locale/en_US.js +9 -0
  195. package/es/locale/zh_CN.d.ts +9 -0
  196. package/es/locale/zh_CN.js +9 -0
  197. package/es/style/theme/antd.less +11 -35
  198. package/es/utils/index.js +6 -1
  199. package/jest.config.js +3 -1
  200. package/lib/FormsProvider/index.js +2 -1
  201. package/lib/ProAction/index.js +20 -10
  202. package/lib/ProConfigProvider/index.js +29 -19
  203. package/lib/ProDownload/index.js +29 -17
  204. package/lib/ProDownload/utils.js +14 -12
  205. package/lib/ProDrawerForm/components/ProDrawer/index.js +27 -16
  206. package/lib/ProDrawerForm/components/ProModal/index.js +21 -10
  207. package/lib/ProDrawerForm/components/index.js +2 -2
  208. package/lib/ProDrawerForm/index.js +20 -9
  209. package/lib/ProEditLabel/components/RenderProForm.js +9 -6
  210. package/lib/ProEditLabel/index.js +30 -18
  211. package/lib/ProEditTable/components/ActionButton/index.js +14 -11
  212. package/lib/ProEditTable/components/RcTable/BaseTable.js +19 -9
  213. package/lib/ProEditTable/components/RcTable/DraggableTable.js +19 -13
  214. package/lib/ProEditTable/components/RcTable/index.js +2 -2
  215. package/lib/ProEditTable/components/RenderField/ListChangedWrapper.js +21 -11
  216. package/lib/ProEditTable/components/RenderField/index.js +76 -50
  217. package/lib/ProEditTable/components/RenderToolbar/index.js +18 -12
  218. package/lib/ProEditTable/components/index.js +2 -2
  219. package/lib/ProEditTable/index.js +33 -26
  220. package/lib/ProEditTable/propsType.d.ts +12 -6
  221. package/lib/ProEditTable/style/index.less +22 -1
  222. package/lib/ProEditTable/utils/config.js +20 -15
  223. package/lib/ProEditTable/utils/index.js +23 -19
  224. package/lib/ProEditTable/utils/tools.js +30 -21
  225. package/lib/ProEditTable/utils/useEditTableError.js +7 -3
  226. package/lib/ProEditTable/utils/useShouldUpdateForTable.js +17 -9
  227. package/lib/ProEnum/components/Group.js +8 -3
  228. package/lib/ProEnum/components/Tag.js +8 -3
  229. package/lib/ProEnum/hooks/useEnum.d.ts +8 -0
  230. package/lib/ProEnum/hooks/useEnum.js +76 -4
  231. package/lib/ProEnum/hooks/useEnumRequest.js +23 -18
  232. package/lib/ProEnum/hooks/useFrequentEnumRequest.js +12 -8
  233. package/lib/ProEnum/index.js +37 -26
  234. package/lib/ProEnum/utils/eventCenter.js +4 -3
  235. package/lib/ProEnum/utils/frequentEnum.js +6 -3
  236. package/lib/ProEnum/utils/index.js +3 -3
  237. package/lib/ProForm/components/Container.js +1 -1
  238. package/lib/ProForm/components/FormFooter/index.js +11 -6
  239. package/lib/ProForm/components/base/Checkbox/index.js +13 -7
  240. package/lib/ProForm/components/base/DatePicker/index.js +11 -6
  241. package/lib/ProForm/components/base/DatePicker/useDateLimit.js +7 -3
  242. package/lib/ProForm/components/base/Input/index.js +11 -6
  243. package/lib/ProForm/components/base/InputNumber/index.js +21 -10
  244. package/lib/ProForm/components/base/Radio/index.js +10 -5
  245. package/lib/ProForm/components/base/RangePicker/index.d.ts +7 -1
  246. package/lib/ProForm/components/base/RangePicker/index.js +55 -9
  247. package/lib/ProForm/components/base/RangePicker/useDateRange.js +7 -3
  248. package/lib/ProForm/components/base/Select/index.js +10 -5
  249. package/lib/ProForm/components/base/Switch/index.js +10 -5
  250. package/lib/ProForm/components/base/SwitchCheckbox/index.js +12 -6
  251. package/lib/ProForm/components/base/TextArea/index.js +10 -5
  252. package/lib/ProForm/components/base/TimePicker/index.js +10 -5
  253. package/lib/ProForm/components/combination/Container/index.js +11 -6
  254. package/lib/ProForm/components/combination/Container/style/index.less +5 -0
  255. package/lib/ProForm/components/combination/FormList/components/ActionButton.js +26 -19
  256. package/lib/ProForm/components/combination/FormList/components/BlockFields.js +3 -2
  257. package/lib/ProForm/components/combination/FormList/components/BlockTitle.js +1 -1
  258. package/lib/ProForm/components/combination/FormList/components/Empty.js +6 -5
  259. package/lib/ProForm/components/combination/FormList/components/LineFields.js +7 -3
  260. package/lib/ProForm/components/combination/FormList/components/ToolbarButton.js +20 -14
  261. package/lib/ProForm/components/combination/FormList/index.js +48 -10
  262. package/lib/ProForm/components/combination/FormList/style/index.less +1 -1
  263. package/lib/ProForm/components/combination/FormList/utils.d.ts +6 -0
  264. package/lib/ProForm/components/combination/FormList/utils.js +20 -2
  265. package/lib/ProForm/components/combination/Group/component/AddonWrapper/index.js +1 -1
  266. package/lib/ProForm/components/combination/Group/component/ComRender.d.ts +3 -0
  267. package/lib/ProForm/components/combination/Group/component/ComRender.js +79 -11
  268. package/lib/ProForm/components/combination/Group/component/FlexibleGroup.d.ts +10 -0
  269. package/lib/ProForm/components/combination/Group/component/FlexibleGroup.js +360 -0
  270. package/lib/ProForm/components/combination/Group/hooks/index.d.ts +16 -1
  271. package/lib/ProForm/components/combination/Group/hooks/index.js +111 -9
  272. package/lib/ProForm/components/combination/Group/index.d.ts +3 -4
  273. package/lib/ProForm/components/combination/Group/index.js +111 -27
  274. package/lib/ProForm/components/combination/Group/propsType.d.ts +44 -1
  275. package/lib/ProForm/components/combination/Group/style/index.less +425 -3
  276. package/lib/ProForm/components/combination/Group/utils/index.d.ts +154 -0
  277. package/lib/ProForm/components/combination/Group/utils/index.js +444 -0
  278. package/lib/ProForm/components/combination/ProCascader/index.js +20 -10
  279. package/lib/ProForm/components/combination/ProCascader/utils/index.js +9 -5
  280. package/lib/ProForm/components/combination/ProModalSelect/hooks/useRequestList.js +25 -15
  281. package/lib/ProForm/components/combination/ProModalSelect/index.js +53 -41
  282. package/lib/ProForm/components/combination/ProNumberRange/index.js +28 -16
  283. package/lib/ProForm/components/combination/ProNumberRange/propsType.d.ts +4 -0
  284. package/lib/ProForm/components/combination/ProNumberRange/style/index.less +14 -7
  285. package/lib/ProForm/components/combination/ProRangeLimit/index.js +29 -18
  286. package/lib/ProForm/components/combination/ProTimeLimit/hooks/useControlled.js +8 -3
  287. package/lib/ProForm/components/combination/ProTimeLimit/index.js +26 -15
  288. package/lib/ProForm/components/index.js +2 -2
  289. package/lib/ProForm/components/render/ChangedWrapper.js +16 -10
  290. package/lib/ProForm/components/render/ConfirmWrapper.js +19 -13
  291. package/lib/ProForm/components/render/CustomComponentViewWrapper.d.ts +30 -0
  292. package/lib/ProForm/components/render/CustomComponentViewWrapper.js +127 -0
  293. package/lib/ProForm/components/render/Render.js +93 -37
  294. package/lib/ProForm/components/render/RenderFields.js +15 -9
  295. package/lib/ProForm/index.js +27 -13
  296. package/lib/ProForm/propsType.d.ts +7 -0
  297. package/lib/ProForm/style/index.less +11 -2
  298. package/lib/ProForm/utils/index.js +12 -8
  299. package/lib/ProForm/utils/rulesCreator.js +8 -4
  300. package/lib/ProForm/utils/transformValue.js +6 -3
  301. package/lib/ProForm/utils/useFieldProps.js +2 -1
  302. package/lib/ProForm/utils/useForm.js +21 -12
  303. package/lib/ProForm/utils/useRules.js +1 -1
  304. package/lib/ProForm/utils/useShouldUpdate.js +94 -37
  305. package/lib/ProForm/utils/useWatch.js +8 -3
  306. package/lib/ProForm/utils/valueType.js +15 -6
  307. package/lib/ProIcon/index.js +26 -16
  308. package/lib/ProIcon/utils/index.js +7 -4
  309. package/lib/ProLayout/components/Layout/Header/index.js +1 -1
  310. package/lib/ProLayout/components/Layout/Icon/Icon.js +2 -1
  311. package/lib/ProLayout/components/Layout/Icon/index.js +1 -1
  312. package/lib/ProLayout/components/Layout/Menu/FoldMenu/index.js +31 -38
  313. package/lib/ProLayout/components/Layout/Menu/FoldMenu/style/index.less +6 -2
  314. package/lib/ProLayout/components/Layout/Menu/OpenMenu/index.js +55 -36
  315. package/lib/ProLayout/components/Layout/Menu/OpenMenu/style/index.less +3 -12
  316. package/lib/ProLayout/components/Layout/Menu/SideMenu/index.js +1 -1
  317. package/lib/ProLayout/components/Layout/Menu/index.js +1 -1
  318. package/lib/ProLayout/components/Layout/Notice/index.js +1 -1
  319. package/lib/ProLayout/components/Layout/Notice/style/index.less +4 -0
  320. package/lib/ProLayout/components/Layout/index.js +2 -2
  321. package/lib/ProLayout/components/ProCollapse/index.js +10 -6
  322. package/lib/ProLayout/components/ProCollapse/style/index.less +9 -9
  323. package/lib/ProLayout/components/ProFooter/index.js +8 -4
  324. package/lib/ProLayout/components/ProHeader/components/Copy/index.js +1 -1
  325. package/lib/ProLayout/components/ProHeader/components/ProBackBtn/index.js +1 -1
  326. package/lib/ProLayout/components/ProHeader/components/index.js +2 -2
  327. package/lib/ProLayout/components/ProHeader/index.js +22 -12
  328. package/lib/ProLayout/components/TabsManager/components/TabContextMenu.d.ts +7 -0
  329. package/lib/ProLayout/components/TabsManager/components/TabContextMenu.js +106 -0
  330. package/lib/ProLayout/components/TabsManager/components/TabItem.d.ts +26 -0
  331. package/lib/ProLayout/components/TabsManager/components/TabItem.js +67 -0
  332. package/lib/ProLayout/components/TabsManager/components/TabsContext.d.ts +6 -0
  333. package/lib/ProLayout/components/TabsManager/components/TabsContext.js +11 -0
  334. package/lib/ProLayout/components/TabsManager/hooks/useActiveTab.d.ts +6 -0
  335. package/lib/ProLayout/components/TabsManager/hooks/useActiveTab.js +20 -0
  336. package/lib/ProLayout/components/TabsManager/hooks/useProLayoutTabs.d.ts +18 -0
  337. package/lib/ProLayout/components/TabsManager/hooks/useProLayoutTabs.js +31 -0
  338. package/lib/ProLayout/components/TabsManager/hooks/useTabsCache.d.ts +31 -0
  339. package/lib/ProLayout/components/TabsManager/hooks/useTabsCache.js +103 -0
  340. package/lib/ProLayout/components/TabsManager/hooks/useTabsState.d.ts +5 -0
  341. package/lib/ProLayout/components/TabsManager/hooks/useTabsState.js +370 -0
  342. package/lib/ProLayout/components/TabsManager/index.d.ts +8 -0
  343. package/lib/ProLayout/components/TabsManager/index.js +183 -0
  344. package/lib/ProLayout/components/TabsManager/propTypes.d.ts +74 -0
  345. package/lib/ProLayout/components/TabsManager/propTypes.js +22 -0
  346. package/lib/ProLayout/components/TabsManager/style/index.less +179 -0
  347. package/lib/ProLayout/components/TabsManager/utils/index.d.ts +38 -0
  348. package/lib/ProLayout/components/TabsManager/utils/index.js +119 -0
  349. package/lib/ProLayout/components/index.js +2 -2
  350. package/lib/ProLayout/index.d.ts +10 -4
  351. package/lib/ProLayout/index.js +115 -23
  352. package/lib/ProLayout/propTypes.d.ts +139 -1
  353. package/lib/ProLayout/propTypes.js +40 -1
  354. package/lib/ProLayout/utils/index.js +18 -13
  355. package/lib/ProSelect/components/AdaptiveTooltip.js +7 -3
  356. package/lib/ProSelect/index.js +23 -12
  357. package/lib/ProSelect/utils/index.js +8 -8
  358. package/lib/ProStep/components/Anchor/index.js +1 -1
  359. package/lib/ProStep/components/Item/index.js +15 -9
  360. package/lib/ProStep/components/Listener/index.js +15 -9
  361. package/lib/ProStep/components/Step/index.js +17 -7
  362. package/lib/ProStep/index.js +30 -19
  363. package/lib/ProStep/utils/index.js +6 -3
  364. package/lib/ProStepTab/index.js +33 -22
  365. package/lib/ProTable/components/FormatColumn/index.js +22 -16
  366. package/lib/ProTable/components/RcTable/components/BaseTable/index.js +9 -5
  367. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/index.js +22 -16
  368. package/lib/ProTable/components/RcTable/components/DraggableTable/components/DndWrapper/utils/index.js +8 -5
  369. package/lib/ProTable/components/RcTable/components/DraggableTable/index.js +11 -6
  370. package/lib/ProTable/components/RcTable/index.js +2 -2
  371. package/lib/ProTable/components/RenderColumn/index.js +17 -8
  372. package/lib/ProTable/components/RenderTabs/index.js +16 -7
  373. package/lib/ProTable/components/TableResizable/index.js +19 -9
  374. package/lib/ProTable/components/TooltipTitle/index.js +3 -6
  375. package/lib/ProTable/components/index.js +2 -2
  376. package/lib/ProTable/hooks/useAntdTable.js +42 -31
  377. package/lib/ProTable/index.js +41 -29
  378. package/lib/ProTable/style/index.less +3 -0
  379. package/lib/ProTable/utils/index.js +7 -3
  380. package/lib/ProTabs/components/index.js +2 -2
  381. package/lib/ProTabs/index.js +23 -12
  382. package/lib/ProThemeTools/component/ProTools/index.js +21 -11
  383. package/lib/ProThemeTools/component/index.js +2 -2
  384. package/lib/ProThemeTools/context/ThemeContext.js +20 -16
  385. package/lib/ProThemeTools/index.js +22 -12
  386. package/lib/ProThemeTools/utils/index.js +6 -3
  387. package/lib/ProTooltip/index.js +30 -20
  388. package/lib/ProTree/components/CloseIcon.js +6 -3
  389. package/lib/ProTree/components/List.js +10 -5
  390. package/lib/ProTree/components/ProTree.js +23 -12
  391. package/lib/ProTree/components/ProTreeSelect/index.js +141 -94
  392. package/lib/ProTree/components/SearchTitle.js +1 -1
  393. package/lib/ProTree/components/Tree.js +28 -16
  394. package/lib/ProTree/components/index.js +2 -2
  395. package/lib/ProTree/index.js +9 -5
  396. package/lib/ProTree/utils.js +16 -11
  397. package/lib/ProTreeModal/components/Cascader.js +14 -5
  398. package/lib/ProTreeModal/components/CloseIcon.js +6 -3
  399. package/lib/ProTreeModal/components/List.js +11 -7
  400. package/lib/ProTreeModal/components/SortableItem.js +10 -6
  401. package/lib/ProTreeModal/components/Tree.js +24 -13
  402. package/lib/ProTreeModal/components/Trigger.js +19 -9
  403. package/lib/ProTreeModal/components/index.js +2 -2
  404. package/lib/ProTreeModal/index.js +16 -6
  405. package/lib/ProTreeModal/style/index.less +6 -0
  406. package/lib/ProTreeModal/utils.js +17 -14
  407. package/lib/ProUpload/components/ButtonRender.js +14 -9
  408. package/lib/ProUpload/components/DragRender.d.ts +1 -0
  409. package/lib/ProUpload/components/DragRender.js +13 -5
  410. package/lib/ProUpload/components/DraggableUploadListItem.js +7 -3
  411. package/lib/ProUpload/components/Example.js +16 -6
  412. package/lib/ProUpload/components/FileItem.js +1 -1
  413. package/lib/ProUpload/components/ImageRender.js +20 -10
  414. package/lib/ProUpload/index.js +31 -18
  415. package/lib/ProUpload/propsType.d.ts +5 -0
  416. package/lib/ProViewer/index.js +22 -14
  417. package/lib/ProWaterMark/index.js +7 -3
  418. package/lib/index.d.ts +1 -2
  419. package/lib/index.js +4 -3
  420. package/lib/locale/en_US.d.ts +9 -0
  421. package/lib/locale/en_US.js +9 -0
  422. package/lib/locale/index.js +1 -1
  423. package/lib/locale/zh_CN.d.ts +9 -0
  424. package/lib/locale/zh_CN.js +9 -0
  425. package/lib/style/theme/antd.less +11 -35
  426. package/lib/utils/index.js +9 -4
  427. package/package.json +13 -16
  428. package/es/ProForm/components/combination/Group/utils.d.ts +0 -54
  429. package/es/ProForm/components/combination/Group/utils.js +0 -196
  430. package/es/assets/tip.svg +0 -1
  431. package/lib/ProForm/components/combination/Group/utils.d.ts +0 -54
  432. package/lib/ProForm/components/combination/Group/utils.js +0 -210
  433. package/lib/assets/tip.svg +0 -1
@@ -0,0 +1,100 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure 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 _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; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useState, useCallback } from 'react';
8
+ import { Dropdown } from 'antd';
9
+ import { jsx as _jsx } from "react/jsx-runtime";
10
+ /**
11
+ * 右键菜单组件 - 兼容Antd 4.x和5.x
12
+ */
13
+ function TabContextMenu(_ref) {
14
+ var tabId = _ref.tabId,
15
+ children = _ref.children,
16
+ _ref$closable = _ref.closable,
17
+ closable = _ref$closable === void 0 ? true : _ref$closable,
18
+ onClose = _ref.onClose,
19
+ onCloseOthers = _ref.onCloseOthers,
20
+ onCloseRight = _ref.onCloseRight,
21
+ onCloseAll = _ref.onCloseAll,
22
+ customMenuItems = _ref.menuItems,
23
+ tabMenuClick = _ref.tabMenuClick,
24
+ tab = _ref.tab,
25
+ _ref$tabs = _ref.tabs,
26
+ tabs = _ref$tabs === void 0 ? [] : _ref$tabs;
27
+ var _useState = useState(false),
28
+ _useState2 = _slicedToArray(_useState, 2),
29
+ visible = _useState2[0],
30
+ setVisible = _useState2[1];
31
+ var handleMenuClick = useCallback(key => {
32
+ setVisible(false);
33
+
34
+ // 优先调用自定义回调
35
+ if (tabMenuClick && tab) {
36
+ tabMenuClick({
37
+ key,
38
+ tab,
39
+ tabs
40
+ });
41
+ }
42
+
43
+ // 处理默认菜单项
44
+ switch (key) {
45
+ case 'close':
46
+ if (!closable) {
47
+ return;
48
+ }
49
+ onClose(tabId);
50
+ break;
51
+ case 'closeOthers':
52
+ onCloseOthers(tabId);
53
+ break;
54
+ case 'closeRight':
55
+ onCloseRight(tabId);
56
+ break;
57
+ case 'closeAll':
58
+ onCloseAll();
59
+ break;
60
+ }
61
+ }, [tabId, closable, onClose, onCloseOthers, onCloseRight, onCloseAll, tabMenuClick, tab, tabs]);
62
+
63
+ // 默认右键菜单配置 - 统一使用items方式(antd 4.20+都支持)
64
+ var defaultMenuItems = [{
65
+ key: 'close',
66
+ label: '关闭',
67
+ disabled: !closable
68
+ }, {
69
+ key: 'closeOthers',
70
+ label: '关闭其他'
71
+ }, {
72
+ key: 'closeRight',
73
+ label: '关闭右侧标签页'
74
+ }, {
75
+ key: 'closeAll',
76
+ label: '关闭全部'
77
+ }];
78
+
79
+ // 合并自定义菜单项和默认菜单项
80
+ // 如果提供了自定义菜单项,则追加到默认菜单项后面;否则使用默认菜单项
81
+ var menuItems = customMenuItems && customMenuItems.length > 0 ? [...defaultMenuItems, {
82
+ type: 'divider'
83
+ }, ...customMenuItems] : defaultMenuItems;
84
+ return /*#__PURE__*/_jsx(Dropdown, {
85
+ menu: {
86
+ items: menuItems,
87
+ onClick: _ref2 => {
88
+ var key = _ref2.key;
89
+ return handleMenuClick(key);
90
+ }
91
+ },
92
+ trigger: ['contextMenu'],
93
+ open: visible,
94
+ onOpenChange: setVisible,
95
+ placement: "bottomLeft",
96
+ children: children
97
+ });
98
+ }
99
+ export default TabContextMenu;
100
+ export { TabContextMenu };
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { TabItem } from '../../../propTypes';
3
+ interface TabItemComponentProps {
4
+ tab: TabItem;
5
+ active: boolean;
6
+ onClick: () => void;
7
+ onClose: () => void;
8
+ onCloseOthers: () => void;
9
+ onCloseRight: () => void;
10
+ onCloseAll: () => void;
11
+ /** 所有标签页列表 */
12
+ tabsList?: TabItem[];
13
+ /** 自定义菜单项 */
14
+ menuItems?: import('antd').MenuProps['items'];
15
+ /** 自定义菜单项点击回调 */
16
+ tabMenuClick?: (params: {
17
+ key: string;
18
+ tab: TabItem;
19
+ tabs: TabItem[];
20
+ }) => void;
21
+ }
22
+ /**
23
+ * 单个标签页组件
24
+ */
25
+ declare const TabItemComponent: React.FC<TabItemComponentProps>;
26
+ export { TabItemComponent };
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+ import { CloseOutlined } from '@ant-design/icons';
3
+ import { TabContextMenu } from "./TabContextMenu";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { jsxs as _jsxs } from "react/jsx-runtime";
6
+ /**
7
+ * 单个标签页组件
8
+ */
9
+ var TabItemComponent = _ref => {
10
+ var tab = _ref.tab,
11
+ active = _ref.active,
12
+ onClick = _ref.onClick,
13
+ _onClose = _ref.onClose,
14
+ _onCloseOthers = _ref.onCloseOthers,
15
+ _onCloseRight = _ref.onCloseRight,
16
+ onCloseAll = _ref.onCloseAll,
17
+ _ref$tabsList = _ref.tabsList,
18
+ tabsList = _ref$tabsList === void 0 ? [] : _ref$tabsList,
19
+ menuItems = _ref.menuItems,
20
+ tabMenuClick = _ref.tabMenuClick;
21
+ var handleCloseClick = e => {
22
+ e.stopPropagation();
23
+ _onClose();
24
+ };
25
+ return /*#__PURE__*/_jsx(TabContextMenu, {
26
+ tabId: tab.id,
27
+ closable: tab.closable,
28
+ onClose: () => _onClose(),
29
+ onCloseOthers: () => _onCloseOthers(),
30
+ onCloseRight: () => _onCloseRight(),
31
+ onCloseAll: onCloseAll,
32
+ tab: tab,
33
+ tabs: tabsList,
34
+ menuItems: menuItems,
35
+ tabMenuClick: tabMenuClick,
36
+ children: /*#__PURE__*/_jsx("div", {
37
+ className: `pro-layout-tab-item ${active ? 'active' : ''} ${tab.closable ? 'closable' : ''}`,
38
+ onClick: onClick,
39
+ "data-testid": `tab-${tab.id}`,
40
+ children: /*#__PURE__*/_jsxs("div", {
41
+ className: "pro-layout-tab-content",
42
+ children: [tab.icon && /*#__PURE__*/_jsx("span", {
43
+ className: "pro-layout-tab-icon",
44
+ children: typeof tab.icon === 'string' ? /*#__PURE__*/_jsx("i", {
45
+ className: `iconfont ${tab.icon}`
46
+ }) : tab.icon
47
+ }), /*#__PURE__*/_jsx("span", {
48
+ className: "pro-layout-tab-title",
49
+ title: tab.title,
50
+ children: tab.title
51
+ }), tab.closable && /*#__PURE__*/_jsx("span", {
52
+ className: "pro-layout-tab-close",
53
+ onClick: handleCloseClick,
54
+ "data-testid": `tab-close-${tab.id}`,
55
+ children: /*#__PURE__*/_jsx(CloseOutlined, {})
56
+ })]
57
+ })
58
+ })
59
+ });
60
+ };
61
+ export { TabItemComponent };
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ import type { ProLayoutTabsInstance } from '../../../propTypes';
3
+ /**
4
+ * 标签页实例 Context,用于在 ProLayout children 中访问标签页 API
5
+ */
6
+ export declare const TabsContext: import("react").Context<ProLayoutTabsInstance>;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ /**
3
+ * 标签页实例 Context,用于在 ProLayout children 中访问标签页 API
4
+ */
5
+ export var TabsContext = /*#__PURE__*/createContext(null);
@@ -0,0 +1,6 @@
1
+ import { TabItem } from '../../../propTypes';
2
+ /**
3
+ * 获取当前激活的 Tab 信息 Hook
4
+ * @returns 当前激活的 Tab 对象,如果没有激活则返回 undefined
5
+ */
6
+ export declare const useActiveTab: () => TabItem | undefined;
@@ -0,0 +1,14 @@
1
+ import { useContext, useMemo } from 'react';
2
+ import { TabsContext } from "../components/TabsContext";
3
+
4
+ /**
5
+ * 获取当前激活的 Tab 信息 Hook
6
+ * @returns 当前激活的 Tab 对象,如果没有激活则返回 undefined
7
+ */
8
+ export var useActiveTab = () => {
9
+ var tabsInstance = useContext(TabsContext);
10
+ return useMemo(() => {
11
+ if (!tabsInstance) return undefined;
12
+ return tabsInstance.getTabInfo().activeTabInfo;
13
+ }, [tabsInstance]);
14
+ };
@@ -0,0 +1,18 @@
1
+ import type { ProLayoutTabsInstance } from '../../../propTypes';
2
+ /**
3
+ * @description 获取 ProLayout 标签页实例的 Hook(类似 Form.useForm)
4
+ * @returns [ProLayoutTabsInstance] 标签页实例
5
+ * @example
6
+ * ```tsx
7
+ * // 在 ProLayout children 中使用
8
+ * const [layoutTabs] = useProLayoutTabs();
9
+ *
10
+ * // 使用实例方法
11
+ * layoutTabs.addTab({
12
+ * code: 'PolicyInput',
13
+ * name: '投保单录入',
14
+ * extra: { customData: '自定义数据' }
15
+ * });
16
+ * ```
17
+ */
18
+ export declare function useProLayoutTabs(): [ProLayoutTabsInstance];
@@ -0,0 +1,26 @@
1
+ import { useContext } from 'react';
2
+ import { TabsContext } from "../components/TabsContext";
3
+
4
+ /**
5
+ * @description 获取 ProLayout 标签页实例的 Hook(类似 Form.useForm)
6
+ * @returns [ProLayoutTabsInstance] 标签页实例
7
+ * @example
8
+ * ```tsx
9
+ * // 在 ProLayout children 中使用
10
+ * const [layoutTabs] = useProLayoutTabs();
11
+ *
12
+ * // 使用实例方法
13
+ * layoutTabs.addTab({
14
+ * code: 'PolicyInput',
15
+ * name: '投保单录入',
16
+ * extra: { customData: '自定义数据' }
17
+ * });
18
+ * ```
19
+ */
20
+ export function useProLayoutTabs() {
21
+ var context = useContext(TabsContext);
22
+ if (!context) {
23
+ throw new Error('useProLayoutTabs must be used within ProLayout with mode="tabs"');
24
+ }
25
+ return [context];
26
+ }
@@ -0,0 +1,31 @@
1
+ import { TabsState } from '../../../propTypes';
2
+ import { TabsCacheManager } from '../propTypes';
3
+ /**
4
+ * 简化的标签页缓存管理器
5
+ */
6
+ declare class SimpleTabsCache implements TabsCacheManager {
7
+ private cacheKey;
8
+ private storage;
9
+ constructor(keyPrefix: string, strategy: 'localStorage' | 'sessionStorage');
10
+ /** 保存标签页状态 */
11
+ save(state: TabsState): void;
12
+ /** 恢复标签页状态 */
13
+ restore(): TabsState | null;
14
+ /** 清空缓存 */
15
+ clear(): void;
16
+ }
17
+ interface UseTabsCacheOptions {
18
+ cacheKey: string;
19
+ storage: 'localStorage' | 'sessionStorage';
20
+ enabled?: boolean;
21
+ }
22
+ /**
23
+ * 标签页缓存管理Hook
24
+ */
25
+ export declare const useTabsCache: (options: UseTabsCacheOptions) => {
26
+ saveToCache: (state: TabsState) => void;
27
+ restoreFromCache: () => TabsState | null;
28
+ clearCache: () => void;
29
+ cacheManager: SimpleTabsCache;
30
+ };
31
+ export {};
@@ -0,0 +1,96 @@
1
+ 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; }
2
+ 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; }
3
+ 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; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
5
+ 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); }
6
+ import { useCallback, useMemo } from 'react';
7
+ /**
8
+ * 简化的标签页缓存管理器
9
+ */
10
+ class SimpleTabsCache {
11
+ constructor(keyPrefix, strategy) {
12
+ _defineProperty(this, "cacheKey", void 0);
13
+ _defineProperty(this, "storage", void 0);
14
+ this.cacheKey = `${keyPrefix}_tabs_cache`;
15
+ this.storage = strategy === 'localStorage' ? localStorage : sessionStorage;
16
+ }
17
+
18
+ /** 保存标签页状态 */
19
+ save(state) {
20
+ try {
21
+ var cacheData = _objectSpread(_objectSpread({}, state), {}, {
22
+ timestamp: Date.now()
23
+ });
24
+ this.storage.setItem(this.cacheKey, JSON.stringify(cacheData));
25
+ } catch (error) {
26
+ console.warn('标签页缓存保存失败:', error);
27
+ }
28
+ }
29
+
30
+ /** 恢复标签页状态 */
31
+ restore() {
32
+ try {
33
+ var cached = this.storage.getItem(this.cacheKey);
34
+ if (!cached) return null;
35
+ var cacheData = JSON.parse(cached);
36
+ // 移除时间戳字段
37
+ delete cacheData.timestamp;
38
+ return cacheData;
39
+ } catch (error) {
40
+ console.warn('标签页缓存恢复失败:', error);
41
+ return null;
42
+ }
43
+ }
44
+
45
+ /** 清空缓存 */
46
+ clear() {
47
+ try {
48
+ this.storage.removeItem(this.cacheKey);
49
+ } catch (error) {
50
+ console.warn('标签页缓存清空失败:', error);
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * 标签页缓存管理Hook
56
+ */
57
+ export var useTabsCache = options => {
58
+ var cacheKey = options.cacheKey,
59
+ storage = options.storage,
60
+ _options$enabled = options.enabled,
61
+ enabled = _options$enabled === void 0 ? true : _options$enabled;
62
+
63
+ // 创建缓存管理器实例
64
+ var cacheManager = useMemo(() => {
65
+ if (!enabled) return null;
66
+ return new SimpleTabsCache(cacheKey, storage);
67
+ }, [cacheKey, storage, enabled]);
68
+
69
+ // 保存状态到缓存
70
+ var saveToCache = useCallback(state => {
71
+ if (cacheManager) {
72
+ cacheManager.save(state);
73
+ }
74
+ }, [cacheManager]);
75
+
76
+ // 从缓存恢复状态
77
+ var restoreFromCache = useCallback(() => {
78
+ if (cacheManager) {
79
+ return cacheManager.restore();
80
+ }
81
+ return null;
82
+ }, [cacheManager]);
83
+
84
+ // 清空缓存
85
+ var clearCache = useCallback(() => {
86
+ if (cacheManager) {
87
+ cacheManager.clear();
88
+ }
89
+ }, [cacheManager]);
90
+ return {
91
+ saveToCache,
92
+ restoreFromCache,
93
+ clearCache,
94
+ cacheManager
95
+ };
96
+ };
@@ -0,0 +1,5 @@
1
+ import { UseTabsStateOptions, UseTabsStateReturn } from '../propTypes';
2
+ /**
3
+ * 标签页状态管理Hook
4
+ */
5
+ export declare const useTabsState: (options: UseTabsStateOptions) => UseTabsStateReturn;