@robot-admin/naive-ui-components 0.10.2 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (652) hide show
  1. package/CHANGELOG.md +111 -94
  2. package/LICENSE +21 -21
  3. package/README.md +463 -315
  4. package/README_EN.md +404 -0
  5. package/SECURITY.md +23 -0
  6. package/dist/C_ActionBar.cjs +1 -1
  7. package/dist/C_ActionBar.css +46 -48
  8. package/dist/C_ActionBar.d.cts +1 -1
  9. package/dist/C_ActionBar.js +1 -1
  10. package/dist/C_ActionBar2.cjs +1 -0
  11. package/dist/C_ActionBar2.js +1 -2
  12. package/dist/C_AntV.cjs +1 -1
  13. package/dist/C_AntV.css +3 -3
  14. package/dist/C_AntV.d.cts +1 -1
  15. package/dist/C_AntV.js +1 -1
  16. package/dist/C_AntV2.cjs +4 -0
  17. package/dist/C_AntV2.js +3 -4
  18. package/dist/C_AudioPlayer.cjs +1 -1
  19. package/dist/C_AudioPlayer.css +15 -7
  20. package/dist/C_AudioPlayer.d.cts +1 -1
  21. package/dist/C_AudioPlayer.js +1 -1
  22. package/dist/C_AudioPlayer2.cjs +1 -0
  23. package/dist/C_AudioPlayer2.js +1 -2
  24. package/dist/C_AvatarGroup.cjs +1 -1
  25. package/dist/C_AvatarGroup.css +15 -7
  26. package/dist/C_AvatarGroup.d.cts +1 -1
  27. package/dist/C_AvatarGroup2.cjs +1 -0
  28. package/dist/C_AvatarGroup2.js +1 -2
  29. package/dist/C_Barcode.cjs +1 -1
  30. package/dist/C_Barcode.css +0 -2
  31. package/dist/C_Barcode.d.cts +1 -1
  32. package/dist/C_Barcode2.cjs +1 -0
  33. package/dist/C_Barcode2.js +1 -2
  34. package/dist/C_Breadcrumb.cjs +1 -1
  35. package/dist/C_Breadcrumb.css +0 -2
  36. package/dist/C_Breadcrumb.d.cts +2 -2
  37. package/dist/C_Breadcrumb.d.ts +1 -1
  38. package/dist/C_Breadcrumb.js +1 -1
  39. package/dist/C_Breadcrumb2.cjs +1 -0
  40. package/dist/C_Breadcrumb2.js +1 -2
  41. package/dist/C_Captcha.cjs +1 -1
  42. package/dist/C_Captcha.css +46 -21
  43. package/dist/C_Captcha.d.cts +3 -2
  44. package/dist/C_Captcha.d.ts +3 -2
  45. package/dist/C_Captcha.js +1 -1
  46. package/dist/C_Captcha2.cjs +1 -0
  47. package/dist/C_Captcha2.js +1 -2
  48. package/dist/C_Cascade.cjs +1 -1
  49. package/dist/C_Cascade.css +0 -2
  50. package/dist/C_Cascade.d.cts +1 -1
  51. package/dist/C_Cascade.d.ts +1 -1
  52. package/dist/C_Cascade2.cjs +1 -0
  53. package/dist/C_Cascade2.js +1 -2
  54. package/dist/C_Chat.cjs +1 -1
  55. package/dist/C_Chat.css +0 -2
  56. package/dist/C_Chat.d.cts +1 -1
  57. package/dist/C_Chat.d.ts +1 -1
  58. package/dist/C_Chat.js +1 -1
  59. package/dist/C_Chat2.cjs +1 -0
  60. package/dist/C_Chat2.js +1 -2
  61. package/dist/C_City.cjs +1 -1
  62. package/dist/C_City.css +28 -30
  63. package/dist/C_City.d.cts +1 -1
  64. package/dist/C_City.d.ts +1 -1
  65. package/dist/C_City2.cjs +1 -0
  66. package/dist/C_City2.js +1 -2
  67. package/dist/C_Code.cjs +1 -1
  68. package/dist/C_Code.css +241 -4
  69. package/dist/C_Code.d.cts +1 -1
  70. package/dist/C_Code.d.ts +1 -1
  71. package/dist/C_Code.js +1 -1
  72. package/dist/C_Code2.cjs +1 -0
  73. package/dist/C_Code2.js +1 -2
  74. package/dist/C_CollapsePanel.cjs +1 -1
  75. package/dist/C_CollapsePanel.css +12 -6
  76. package/dist/C_CollapsePanel.d.cts +1 -1
  77. package/dist/C_CollapsePanel.js +1 -1
  78. package/dist/C_CollapsePanel2.cjs +1 -0
  79. package/dist/C_CollapsePanel2.js +1 -2
  80. package/dist/C_ContextMenu.cjs +1 -1
  81. package/dist/C_ContextMenu.css +16 -18
  82. package/dist/C_ContextMenu.d.cts +1 -1
  83. package/dist/C_ContextMenu.d.ts +1 -1
  84. package/dist/C_ContextMenu.js +1 -1
  85. package/dist/C_ContextMenu2.cjs +1 -0
  86. package/dist/C_ContextMenu2.js +1 -2
  87. package/dist/C_Cron.cjs +1 -1
  88. package/dist/C_Cron.css +18 -8
  89. package/dist/C_Cron.d.cts +1 -1
  90. package/dist/C_Cron.js +1 -1
  91. package/dist/C_Cron2.cjs +1 -0
  92. package/dist/C_Cron2.js +1 -2
  93. package/dist/C_Date.cjs +1 -1
  94. package/dist/C_Date.css +1 -0
  95. package/dist/C_Date.d.cts +2 -2
  96. package/dist/C_Date.d.ts +2 -2
  97. package/dist/C_Date2.cjs +1 -0
  98. package/dist/C_Date2.js +1 -2
  99. package/dist/C_Draggable.cjs +1 -1
  100. package/dist/C_Draggable.css +9 -5
  101. package/dist/C_Draggable.d.cts +1 -1
  102. package/dist/C_Draggable2.cjs +1 -0
  103. package/dist/C_Draggable2.js +1 -2
  104. package/dist/C_Editor.cjs +1 -1
  105. package/dist/C_Editor.css +80 -67
  106. package/dist/C_Editor.d.cts +1 -1
  107. package/dist/C_Editor.d.ts +1 -1
  108. package/dist/C_Editor2.cjs +1 -0
  109. package/dist/C_Editor2.js +1 -2
  110. package/dist/C_FilePreview.cjs +1 -1
  111. package/dist/C_FilePreview.css +0 -2
  112. package/dist/C_FilePreview.d.cts +1 -1
  113. package/dist/C_FilePreview.js +1 -1
  114. package/dist/C_FilePreview2.cjs +1 -0
  115. package/dist/C_FilePreview2.js +1 -2
  116. package/dist/C_Form.base.css +980 -0
  117. package/dist/C_Form.cjs +1 -1
  118. package/dist/C_Form.css +256 -155
  119. package/dist/C_Form.d.cts +2 -2
  120. package/dist/C_Form.d.ts +2 -2
  121. package/dist/C_Form.js +1 -1
  122. package/dist/C_Form2.cjs +1 -0
  123. package/dist/C_Form2.js +1 -2
  124. package/dist/C_FormSearch.cjs +1 -1
  125. package/dist/C_FormSearch.css +47 -47
  126. package/dist/C_FormSearch.d.cts +2 -2
  127. package/dist/C_FormSearch.d.ts +2 -2
  128. package/dist/C_FormSearch2.cjs +1 -0
  129. package/dist/C_FormSearch2.js +1 -2
  130. package/dist/C_FormulaEditor.cjs +1 -1
  131. package/dist/C_FormulaEditor.css +64 -38
  132. package/dist/C_FormulaEditor.d.cts +1 -1
  133. package/dist/C_FormulaEditor.js +1 -1
  134. package/dist/C_FormulaEditor2.cjs +2 -0
  135. package/dist/C_FormulaEditor2.js +2 -2
  136. package/dist/C_FullCalendar.cjs +1 -1
  137. package/dist/C_FullCalendar.css +0 -2
  138. package/dist/C_FullCalendar.d.cts +1 -1
  139. package/dist/C_FullCalendar2.cjs +1 -0
  140. package/dist/C_FullCalendar2.js +1 -2
  141. package/dist/C_GlobalSearch.cjs +1 -1
  142. package/dist/C_GlobalSearch.css +111 -113
  143. package/dist/C_GlobalSearch.d.cts +1 -1
  144. package/dist/C_GlobalSearch2.cjs +1 -0
  145. package/dist/C_GlobalSearch2.js +1 -2
  146. package/dist/C_Guide.cjs +1 -1
  147. package/dist/C_Guide.css +1 -0
  148. package/dist/C_Guide.d.cts +1 -1
  149. package/dist/C_Guide.d.ts +1 -1
  150. package/dist/C_Guide.js +1 -1
  151. package/dist/C_Guide2.cjs +1 -0
  152. package/dist/C_Guide2.js +1 -2
  153. package/dist/C_Icon.cjs +1 -1
  154. package/dist/C_Icon.css +58 -0
  155. package/dist/C_Icon.d.cts +1 -1
  156. package/dist/C_Icon.d.ts +1 -1
  157. package/dist/C_Icon2.cjs +1 -0
  158. package/dist/C_Icon2.js +1 -2
  159. package/dist/C_ImageCropper.cjs +1 -1
  160. package/dist/C_ImageCropper.css +0 -2
  161. package/dist/C_ImageCropper.d.cts +1 -1
  162. package/dist/C_ImageCropper.js +1 -1
  163. package/dist/C_ImageCropper2.cjs +1 -0
  164. package/dist/C_ImageCropper2.js +1 -2
  165. package/dist/C_Language.cjs +1 -1
  166. package/dist/C_Language.css +1 -0
  167. package/dist/C_Language.d.cts +1 -1
  168. package/dist/C_Language.d.ts +1 -1
  169. package/dist/C_Language.js +1 -1
  170. package/dist/C_Language2.cjs +1 -0
  171. package/dist/C_Language2.js +1 -2
  172. package/dist/C_Login.cjs +1 -1
  173. package/dist/C_Login.css +92 -76
  174. package/dist/C_Login.d.cts +1 -1
  175. package/dist/C_Login.d.ts +1 -1
  176. package/dist/C_Login.js +1 -1
  177. package/dist/C_Login2.cjs +1 -0
  178. package/dist/C_Login2.js +1 -2
  179. package/dist/C_Map.cjs +1 -1
  180. package/dist/C_Map.css +665 -5
  181. package/dist/C_Map.d.cts +1 -1
  182. package/dist/C_Map2.cjs +1 -0
  183. package/dist/C_Map2.js +1 -2
  184. package/dist/C_Markdown.cjs +1 -1
  185. package/dist/C_Markdown.css +940 -35
  186. package/dist/C_Markdown.d.cts +1 -1
  187. package/dist/C_Markdown.d.ts +1 -1
  188. package/dist/C_Markdown2.cjs +1 -0
  189. package/dist/C_Markdown2.js +1 -2
  190. package/dist/C_Menu.cjs +1 -1
  191. package/dist/C_Menu.css +1 -0
  192. package/dist/C_Menu.d.cts +3 -3
  193. package/dist/C_Menu.d.ts +3 -3
  194. package/dist/C_Menu2.cjs +1 -0
  195. package/dist/C_Menu2.js +1 -2
  196. package/dist/C_NotificationCenter.cjs +1 -1
  197. package/dist/C_NotificationCenter.css +95 -47
  198. package/dist/C_NotificationCenter.d.cts +1 -1
  199. package/dist/C_NotificationCenter.js +1 -1
  200. package/dist/C_NotificationCenter2.cjs +1 -0
  201. package/dist/C_NotificationCenter2.js +1 -2
  202. package/dist/C_OrgChart.cjs +1 -1
  203. package/dist/C_OrgChart.css +6 -4
  204. package/dist/C_OrgChart.d.cts +1 -1
  205. package/dist/C_OrgChart.d.ts +1 -1
  206. package/dist/C_OrgChart2.cjs +1 -0
  207. package/dist/C_OrgChart2.js +1 -2
  208. package/dist/C_Progress.cjs +1 -1
  209. package/dist/C_Progress.css +1 -0
  210. package/dist/C_Progress.d.cts +1 -1
  211. package/dist/C_Progress.d.ts +1 -1
  212. package/dist/C_Progress2.cjs +1 -0
  213. package/dist/C_Progress2.js +1 -2
  214. package/dist/C_QRCode.cjs +1 -1
  215. package/dist/C_QRCode.css +8 -10
  216. package/dist/C_QRCode.d.cts +1 -1
  217. package/dist/C_QRCode2.cjs +1 -0
  218. package/dist/C_QRCode2.js +1 -2
  219. package/dist/C_Signature.cjs +1 -1
  220. package/dist/C_Signature.css +0 -2
  221. package/dist/C_Signature.d.cts +1 -1
  222. package/dist/C_Signature.js +1 -1
  223. package/dist/C_Signature2.cjs +1 -0
  224. package/dist/C_Signature2.js +1 -2
  225. package/dist/C_Skeleton.cjs +1 -1
  226. package/dist/C_Skeleton.css +0 -2
  227. package/dist/C_Skeleton.d.cts +1 -1
  228. package/dist/C_Skeleton.d.ts +1 -1
  229. package/dist/C_Skeleton2.cjs +1 -0
  230. package/dist/C_Skeleton2.js +1 -2
  231. package/dist/C_SplitPane.cjs +1 -1
  232. package/dist/C_SplitPane.css +27 -11
  233. package/dist/C_SplitPane.d.cts +1 -1
  234. package/dist/C_SplitPane.js +1 -1
  235. package/dist/C_SplitPane2.cjs +1 -0
  236. package/dist/C_SplitPane2.js +1 -2
  237. package/dist/C_Steps.cjs +1 -1
  238. package/dist/C_Steps.css +37 -39
  239. package/dist/C_Steps.d.cts +1 -1
  240. package/dist/C_Steps.d.ts +1 -1
  241. package/dist/C_Steps2.cjs +1 -0
  242. package/dist/C_Steps2.js +1 -2
  243. package/dist/C_Table.base.css +1588 -0
  244. package/dist/C_Table.cjs +1 -1
  245. package/dist/C_Table.css +1202 -112
  246. package/dist/C_Table.d.cts +2 -2
  247. package/dist/C_Table.d.ts +11 -2
  248. package/dist/C_Table.js +1 -1
  249. package/dist/C_TagsView.cjs +1 -1
  250. package/dist/C_TagsView.css +44 -40
  251. package/dist/C_TagsView.d.cts +2 -2
  252. package/dist/C_TagsView.d.ts +2 -2
  253. package/dist/C_TagsView.js +1 -1
  254. package/dist/C_TagsView2.cjs +1 -0
  255. package/dist/C_TagsView2.js +1 -2
  256. package/dist/C_Theme.cjs +1 -1
  257. package/dist/C_Theme.css +1 -0
  258. package/dist/C_Theme.d.cts +1 -1
  259. package/dist/C_Theme.d.ts +1 -1
  260. package/dist/C_Theme.js +1 -1
  261. package/dist/C_Theme2.cjs +1 -0
  262. package/dist/C_Theme2.js +1 -2
  263. package/dist/C_Time.cjs +1 -1
  264. package/dist/C_Time.css +0 -2
  265. package/dist/C_Time.d.cts +2 -2
  266. package/dist/C_Time.d.ts +2 -2
  267. package/dist/C_Time2.cjs +1 -0
  268. package/dist/C_Time2.js +1 -2
  269. package/dist/C_Timeline.cjs +1 -1
  270. package/dist/C_Timeline.css +44 -46
  271. package/dist/C_Timeline.d.cts +1 -1
  272. package/dist/C_Timeline.js +1 -1
  273. package/dist/C_Timeline2.cjs +1 -0
  274. package/dist/C_Timeline2.js +1 -2
  275. package/dist/C_Transfer.cjs +1 -1
  276. package/dist/C_Transfer.css +21 -9
  277. package/dist/C_Transfer.d.cts +1 -1
  278. package/dist/C_Transfer.js +1 -1
  279. package/dist/C_Transfer2.cjs +1 -0
  280. package/dist/C_Transfer2.js +1 -2
  281. package/dist/C_Tree.cjs +1 -1
  282. package/dist/C_Tree.css +0 -2
  283. package/dist/C_Tree.d.cts +1 -1
  284. package/dist/C_Tree.js +1 -1
  285. package/dist/C_Tree2.cjs +1 -0
  286. package/dist/C_Tree2.js +1 -2
  287. package/dist/C_Upload.cjs +1 -1
  288. package/dist/C_Upload.css +17 -17
  289. package/dist/C_Upload.d.cts +1 -1
  290. package/dist/C_Upload.js +1 -1
  291. package/dist/C_Upload2.cjs +1 -0
  292. package/dist/C_Upload2.js +1 -25
  293. package/dist/C_VideoPlayer.cjs +1 -1
  294. package/dist/C_VideoPlayer.css +35 -24
  295. package/dist/C_VideoPlayer.d.cts +2 -2
  296. package/dist/C_VideoPlayer.d.ts +2 -2
  297. package/dist/C_VideoPlayer.js +1 -1
  298. package/dist/C_VideoPlayer2.cjs +3 -0
  299. package/dist/C_VideoPlayer2.js +3 -4
  300. package/dist/C_VtableGantt.cjs +1 -1
  301. package/dist/C_VtableGantt.css +15 -7
  302. package/dist/C_VtableGantt.d.cts +1 -1
  303. package/dist/C_VtableGantt.d.ts +1 -1
  304. package/dist/C_VtableGantt.js +1 -1
  305. package/dist/C_VtableGantt2.cjs +1 -0
  306. package/dist/C_VtableGantt2.js +1 -2
  307. package/dist/C_WaterFall.cjs +1 -1
  308. package/dist/C_WaterFall.css +15 -17
  309. package/dist/C_WaterFall.d.cts +1 -1
  310. package/dist/C_WaterFall2.cjs +1 -0
  311. package/dist/C_WaterFall2.js +1 -2
  312. package/dist/C_WorkFlow.cjs +1 -1
  313. package/dist/C_WorkFlow.css +257 -197
  314. package/dist/C_WorkFlow.d.cts +1 -1
  315. package/dist/C_WorkFlow.js +1 -1
  316. package/dist/C_WorkFlow2.cjs +1 -0
  317. package/dist/C_WorkFlow2.js +1 -2
  318. package/dist/city.cjs +1 -0
  319. package/dist/city.js +1 -2
  320. package/dist/config.cjs +1 -0
  321. package/dist/config.d.cts +33 -0
  322. package/dist/config.d.ts +33 -0
  323. package/dist/config.js +1 -0
  324. package/dist/constants.d.cts +272 -0
  325. package/dist/constants.d.ts +2 -3
  326. package/dist/constants2.d.cts +177 -0
  327. package/dist/constants2.d.ts +3 -4
  328. package/dist/constants3.d.cts +479 -0
  329. package/dist/constants3.d.ts +16 -12
  330. package/dist/constants4.d.cts +420 -0
  331. package/dist/constants4.d.ts +27 -37
  332. package/dist/constants5.d.cts +491 -0
  333. package/dist/constants5.d.ts +20 -4
  334. package/dist/data.cjs +1 -0
  335. package/dist/data.d.cts +67 -0
  336. package/dist/data.d.ts +12 -12
  337. package/dist/data.js +1 -0
  338. package/dist/export-helper.cjs +1 -0
  339. package/dist/helpers.cjs +1 -0
  340. package/dist/helpers.js +1 -0
  341. package/dist/html.cjs +1 -0
  342. package/dist/html.js +1 -0
  343. package/dist/images/marker-icon-2x.png +0 -0
  344. package/dist/images/marker-icon.png +0 -0
  345. package/dist/images/marker-shadow.png +0 -0
  346. package/dist/index.cjs +1 -2
  347. package/dist/index.d.cts +60 -99
  348. package/dist/index.d.ts +75 -164
  349. package/dist/index.js +1 -2
  350. package/dist/index.vue.d.cts +79 -0
  351. package/dist/index.vue.d.ts +3 -4
  352. package/dist/index10.vue.d.cts +47 -0
  353. package/dist/index10.vue.d.ts +80 -40
  354. package/dist/index11.vue.d.cts +88 -0
  355. package/dist/index11.vue.d.ts +68 -78
  356. package/dist/index12.vue.d.cts +79 -0
  357. package/dist/index12.vue.d.ts +49 -45
  358. package/dist/index13.vue.d.cts +64 -0
  359. package/dist/index13.vue.d.ts +99 -34
  360. package/dist/index14.vue.d.cts +106 -0
  361. package/dist/index14.vue.d.ts +82 -99
  362. package/dist/index15.vue.d.cts +91 -0
  363. package/dist/index15.vue.d.ts +25 -83
  364. package/dist/index16.vue.d.cts +34 -0
  365. package/dist/index16.vue.d.ts +113 -24
  366. package/dist/index17.vue.d.cts +124 -0
  367. package/dist/index17.vue.d.ts +76 -110
  368. package/dist/index18.vue.d.cts +83 -0
  369. package/dist/index18.vue.d.ts +67 -73
  370. package/dist/index19.vue.d.cts +101 -0
  371. package/dist/index19.vue.d.ts +93 -59
  372. package/dist/index2.vue.d.cts +82 -0
  373. package/dist/index2.vue.d.ts +7 -8
  374. package/dist/index20.vue.d.cts +54 -0
  375. package/dist/index20.vue.d.ts +40 -88
  376. package/dist/index21.vue.d.cts +103 -0
  377. package/dist/index21.vue.d.ts +89 -41
  378. package/dist/index22.vue.d.cts +45 -0
  379. package/dist/index22.vue.d.ts +37 -96
  380. package/dist/index23.vue.d.cts +19 -0
  381. package/dist/index23.vue.d.ts +8 -35
  382. package/dist/{index28.vue.d.ts → index24.vue.d.cts} +4 -5
  383. package/dist/index24.vue.d.ts +650 -86
  384. package/dist/index25.vue.d.cts +96 -0
  385. package/dist/index25.vue.d.ts +86 -10
  386. package/dist/index26.vue.d.cts +111 -0
  387. package/dist/index26.vue.d.ts +4 -5
  388. package/dist/index27.vue.d.cts +80 -0
  389. package/dist/index27.vue.d.ts +2 -3
  390. package/dist/index3.vue.d.cts +87 -0
  391. package/dist/index3.vue.d.ts +4 -5
  392. package/dist/index4.vue.d.cts +37 -0
  393. package/dist/index4.vue.d.ts +6 -7
  394. package/dist/index5.vue.d.cts +133 -0
  395. package/dist/index5.vue.d.ts +2 -3
  396. package/dist/index6.vue.d.cts +29 -0
  397. package/dist/index6.vue.d.ts +25 -38
  398. package/dist/index7.vue.d.cts +32 -0
  399. package/dist/index7.vue.d.ts +117 -23
  400. package/dist/index8.vue.d.cts +127 -0
  401. package/dist/index8.vue.d.ts +17 -111
  402. package/dist/index9.vue.d.cts +34 -0
  403. package/dist/index9.vue.d.ts +38 -26
  404. package/dist/public.d.ts +166 -0
  405. package/dist/resolver.cjs +1 -2
  406. package/dist/resolver.d.cts +6 -4
  407. package/dist/resolver.d.ts +6 -4
  408. package/dist/resolver.js +1 -2
  409. package/dist/storage.cjs +1 -0
  410. package/dist/storage.js +1 -2
  411. package/dist/style.css +9864 -7702
  412. package/dist/types.d.cts +107 -0
  413. package/dist/types.d.ts +52 -102
  414. package/dist/types2.d.cts +58 -0
  415. package/dist/useCalendarEvents.d.cts +150 -0
  416. package/dist/useCalendarEvents.d.ts +3 -4
  417. package/dist/useCollapsePanel.d.cts +133 -0
  418. package/dist/useCollapsePanel.d.ts +2 -3
  419. package/dist/useCropperCore.d.cts +104 -0
  420. package/dist/useCropperCore.d.ts +11 -9
  421. package/dist/useDraggableLayout.d.cts +196 -0
  422. package/dist/useDraggableLayout.d.ts +17 -15
  423. package/dist/useDynamicFormState.d.cts +749 -0
  424. package/dist/useDynamicFormState.d.ts +234 -112
  425. package/dist/useEdgeInteraction.d.cts +324 -0
  426. package/dist/useEdgeInteraction.d.ts +6 -7
  427. package/dist/useFullscreen.d.cts +165 -0
  428. package/dist/useFullscreen.d.ts +1 -2
  429. package/dist/useGlobalSearch.d.cts +110 -0
  430. package/dist/useGlobalSearch.d.ts +17 -9
  431. package/dist/useInfiniteScroll.d.cts +177 -0
  432. package/dist/useInfiniteScroll.d.ts +13 -5
  433. package/dist/useQRCode.d.cts +89 -0
  434. package/dist/useQRCode.d.ts +5 -3
  435. package/dist/useSearchState.d.cts +871 -0
  436. package/dist/useSearchState.d.ts +830 -30
  437. package/dist/useSignatureHistory.d.cts +197 -0
  438. package/dist/useSignatureHistory.d.ts +10 -5
  439. package/dist/useSplitResize.d.cts +157 -0
  440. package/dist/useSplitResize.d.ts +3 -4
  441. package/dist/useTableQuery.cjs +3 -0
  442. package/dist/{useModalEdit.d.ts → useTableQuery.d.cts} +624 -211
  443. package/dist/useTableQuery.d.ts +1721 -0
  444. package/dist/useTableQuery.js +3 -0
  445. package/dist/useTimeSelection.d.cts +116 -0
  446. package/dist/useTimeSelection.d.ts +20 -9
  447. package/dist/useTreeOperations.d.cts +185 -0
  448. package/dist/useTreeOperations.d.ts +13 -11
  449. package/dist/useWorkflowValidation.d.cts +1051 -0
  450. package/dist/useWorkflowValidation.d.ts +62 -63
  451. package/dist/verification.d.cts +58 -0
  452. package/dist/verification.d.ts +58 -0
  453. package/package.json +102 -69
  454. package/dist/C_ActionBar-BAcfOfRw.css.map +0 -1
  455. package/dist/C_ActionBar-DG2HW7t5.css.map +0 -1
  456. package/dist/C_ActionBar.js.map +0 -1
  457. package/dist/C_ActionBar2.js.map +0 -1
  458. package/dist/C_AntV-D_jTK8oZ.css.map +0 -1
  459. package/dist/C_AntV-DanTAq22.css.map +0 -1
  460. package/dist/C_AntV.js.map +0 -1
  461. package/dist/C_AntV2.js.map +0 -1
  462. package/dist/C_AudioPlayer-BnYIJXPD.css.map +0 -1
  463. package/dist/C_AudioPlayer-Cj4lUdZo.css.map +0 -1
  464. package/dist/C_AudioPlayer.js.map +0 -1
  465. package/dist/C_AudioPlayer2.js.map +0 -1
  466. package/dist/C_AvatarGroup-B9d-GJ9c.css.map +0 -1
  467. package/dist/C_AvatarGroup-D3PwsKME.css.map +0 -1
  468. package/dist/C_AvatarGroup.js.map +0 -1
  469. package/dist/C_AvatarGroup2.js.map +0 -1
  470. package/dist/C_Barcode-CAU2mFcx.css.map +0 -1
  471. package/dist/C_Barcode-D2oJaEg3.css.map +0 -1
  472. package/dist/C_Barcode.js.map +0 -1
  473. package/dist/C_Barcode2.js.map +0 -1
  474. package/dist/C_Breadcrumb-BiH0d9AI.css.map +0 -1
  475. package/dist/C_Breadcrumb-DOcLt9uX.css.map +0 -1
  476. package/dist/C_Breadcrumb.js.map +0 -1
  477. package/dist/C_Breadcrumb2.js.map +0 -1
  478. package/dist/C_Captcha-B3yrtG7t.css.map +0 -1
  479. package/dist/C_Captcha-D4hDdWDu.css.map +0 -1
  480. package/dist/C_Captcha.js.map +0 -1
  481. package/dist/C_Captcha2.js.map +0 -1
  482. package/dist/C_Cascade-CmCrLVft.css.map +0 -1
  483. package/dist/C_Cascade-U6A5AJJb.css.map +0 -1
  484. package/dist/C_Cascade.js.map +0 -1
  485. package/dist/C_Cascade2.js.map +0 -1
  486. package/dist/C_Chat-DeUv6uuI.css.map +0 -1
  487. package/dist/C_Chat-DwatUQqu.css.map +0 -1
  488. package/dist/C_Chat.js.map +0 -1
  489. package/dist/C_Chat2.js.map +0 -1
  490. package/dist/C_City-DdkX6u64.css.map +0 -1
  491. package/dist/C_City-iP-dIvui.css.map +0 -1
  492. package/dist/C_City.js.map +0 -1
  493. package/dist/C_City2.js.map +0 -1
  494. package/dist/C_Code-BWmJMNS7.css.map +0 -1
  495. package/dist/C_Code-k14vjgVl.css.map +0 -1
  496. package/dist/C_Code.js.map +0 -1
  497. package/dist/C_Code2.js.map +0 -1
  498. package/dist/C_CollapsePanel-BSKcWSmY.css.map +0 -1
  499. package/dist/C_CollapsePanel-DRvRq8tB.css.map +0 -1
  500. package/dist/C_CollapsePanel.js.map +0 -1
  501. package/dist/C_CollapsePanel2.js.map +0 -1
  502. package/dist/C_ContextMenu-C9iuxG2n.css.map +0 -1
  503. package/dist/C_ContextMenu-CD0iaSju.css.map +0 -1
  504. package/dist/C_ContextMenu.js.map +0 -1
  505. package/dist/C_ContextMenu2.js.map +0 -1
  506. package/dist/C_Cron-BIQ2By9v.css.map +0 -1
  507. package/dist/C_Cron-BNSAGD6A.css.map +0 -1
  508. package/dist/C_Cron.js.map +0 -1
  509. package/dist/C_Cron2.js.map +0 -1
  510. package/dist/C_Date.js.map +0 -1
  511. package/dist/C_Date2.js.map +0 -1
  512. package/dist/C_Draggable-BDAbk4s5.css.map +0 -1
  513. package/dist/C_Draggable-UhfDLXop.css.map +0 -1
  514. package/dist/C_Draggable.js.map +0 -1
  515. package/dist/C_Draggable2.js.map +0 -1
  516. package/dist/C_Editor-CZOaChru.css.map +0 -1
  517. package/dist/C_Editor-kJAQq5z6.css.map +0 -1
  518. package/dist/C_Editor.js.map +0 -1
  519. package/dist/C_Editor2.js.map +0 -1
  520. package/dist/C_FilePreview-Bs_omgJS.css.map +0 -1
  521. package/dist/C_FilePreview-DbwoyF2j.css.map +0 -1
  522. package/dist/C_FilePreview.js.map +0 -1
  523. package/dist/C_FilePreview2.js.map +0 -1
  524. package/dist/C_Form-B_2ql62V.css.map +0 -1
  525. package/dist/C_Form-CX-7xsz3.css.map +0 -1
  526. package/dist/C_Form.js.map +0 -1
  527. package/dist/C_Form2.js.map +0 -1
  528. package/dist/C_FormSearch-C3F8peAY.css.map +0 -1
  529. package/dist/C_FormSearch-qW56bJPo.css.map +0 -1
  530. package/dist/C_FormSearch.js.map +0 -1
  531. package/dist/C_FormSearch2.js.map +0 -1
  532. package/dist/C_FormulaEditor-ChOvDbsZ.css.map +0 -1
  533. package/dist/C_FormulaEditor-mfiIUDY4.css.map +0 -1
  534. package/dist/C_FormulaEditor.js.map +0 -1
  535. package/dist/C_FormulaEditor2.js.map +0 -1
  536. package/dist/C_FullCalendar-C2nsqrgS.css.map +0 -1
  537. package/dist/C_FullCalendar-DdFtXVhy.css.map +0 -1
  538. package/dist/C_FullCalendar.js.map +0 -1
  539. package/dist/C_FullCalendar2.js.map +0 -1
  540. package/dist/C_GlobalSearch-Dq4Wo01K.css.map +0 -1
  541. package/dist/C_GlobalSearch-RB7J43gu.css.map +0 -1
  542. package/dist/C_GlobalSearch.js.map +0 -1
  543. package/dist/C_GlobalSearch2.js.map +0 -1
  544. package/dist/C_Guide.js.map +0 -1
  545. package/dist/C_Guide2.js.map +0 -1
  546. package/dist/C_Icon.js.map +0 -1
  547. package/dist/C_Icon2.js.map +0 -1
  548. package/dist/C_ImageCropper-CdTX2nxU.css.map +0 -1
  549. package/dist/C_ImageCropper-ilOqPklJ.css.map +0 -1
  550. package/dist/C_ImageCropper.js.map +0 -1
  551. package/dist/C_ImageCropper2.js.map +0 -1
  552. package/dist/C_Language.js.map +0 -1
  553. package/dist/C_Language2.js.map +0 -1
  554. package/dist/C_Login-BrQBs_m4.css.map +0 -1
  555. package/dist/C_Login-xMI1_ojE.css.map +0 -1
  556. package/dist/C_Login.js.map +0 -1
  557. package/dist/C_Login2.js.map +0 -1
  558. package/dist/C_Map-CWMMN58_.css.map +0 -1
  559. package/dist/C_Map-xSR2H-9o.css.map +0 -1
  560. package/dist/C_Map.js.map +0 -1
  561. package/dist/C_Map2.js.map +0 -1
  562. package/dist/C_Markdown-C7lTVJ1S.css.map +0 -1
  563. package/dist/C_Markdown-CZDm_baQ.css.map +0 -1
  564. package/dist/C_Markdown.js.map +0 -1
  565. package/dist/C_Markdown2.js.map +0 -1
  566. package/dist/C_Menu.js.map +0 -1
  567. package/dist/C_Menu2.js.map +0 -1
  568. package/dist/C_NotificationCenter-D7GGGWg7.css.map +0 -1
  569. package/dist/C_NotificationCenter-SSmeHA45.css.map +0 -1
  570. package/dist/C_NotificationCenter.js.map +0 -1
  571. package/dist/C_NotificationCenter2.js.map +0 -1
  572. package/dist/C_OrgChart-BXEp4i4w.css.map +0 -1
  573. package/dist/C_OrgChart-DqBufOv5.css.map +0 -1
  574. package/dist/C_OrgChart.js.map +0 -1
  575. package/dist/C_OrgChart2.js.map +0 -1
  576. package/dist/C_Progress.js.map +0 -1
  577. package/dist/C_Progress2.js.map +0 -1
  578. package/dist/C_QRCode-B_1lHUdx.css.map +0 -1
  579. package/dist/C_QRCode-CuQRYu0s.css.map +0 -1
  580. package/dist/C_QRCode.js.map +0 -1
  581. package/dist/C_QRCode2.js.map +0 -1
  582. package/dist/C_Signature-Bp-RBpAl.css.map +0 -1
  583. package/dist/C_Signature-Cb2VW1ok.css.map +0 -1
  584. package/dist/C_Signature.js.map +0 -1
  585. package/dist/C_Signature2.js.map +0 -1
  586. package/dist/C_Skeleton-BJoFYwrF.css.map +0 -1
  587. package/dist/C_Skeleton-Djsjw8XY.css.map +0 -1
  588. package/dist/C_Skeleton.js.map +0 -1
  589. package/dist/C_Skeleton2.js.map +0 -1
  590. package/dist/C_SplitPane-CgGWYsRE.css.map +0 -1
  591. package/dist/C_SplitPane-DGf6WEeR.css.map +0 -1
  592. package/dist/C_SplitPane.js.map +0 -1
  593. package/dist/C_SplitPane2.js.map +0 -1
  594. package/dist/C_Steps-27Exh7PM.css.map +0 -1
  595. package/dist/C_Steps-DU9ZsFrs.css.map +0 -1
  596. package/dist/C_Steps.js.map +0 -1
  597. package/dist/C_Steps2.js.map +0 -1
  598. package/dist/C_Table--kbQaaBv.css.map +0 -1
  599. package/dist/C_Table-D631kdXC.css.map +0 -1
  600. package/dist/C_Table.js.map +0 -1
  601. package/dist/C_Table2.js +0 -4
  602. package/dist/C_Table2.js.map +0 -1
  603. package/dist/C_TagsView-DtGtYhBH.css.map +0 -1
  604. package/dist/C_TagsView-s1dnSJAV.css.map +0 -1
  605. package/dist/C_TagsView.js.map +0 -1
  606. package/dist/C_TagsView2.js.map +0 -1
  607. package/dist/C_Theme.js.map +0 -1
  608. package/dist/C_Theme2.js.map +0 -1
  609. package/dist/C_Time-BQ9PGy8B.css.map +0 -1
  610. package/dist/C_Time-CO73krC6.css.map +0 -1
  611. package/dist/C_Time.js.map +0 -1
  612. package/dist/C_Time2.js.map +0 -1
  613. package/dist/C_Timeline-DdESmqwL.css.map +0 -1
  614. package/dist/C_Timeline-irQcO-b7.css.map +0 -1
  615. package/dist/C_Timeline.js.map +0 -1
  616. package/dist/C_Timeline2.js.map +0 -1
  617. package/dist/C_Transfer-11y3k-WD.css.map +0 -1
  618. package/dist/C_Transfer-EzdHzZNv.css.map +0 -1
  619. package/dist/C_Transfer.js.map +0 -1
  620. package/dist/C_Transfer2.js.map +0 -1
  621. package/dist/C_Tree-CsXgGfhn.css.map +0 -1
  622. package/dist/C_Tree-P7eRpnOa.css.map +0 -1
  623. package/dist/C_Tree.js.map +0 -1
  624. package/dist/C_Tree2.js.map +0 -1
  625. package/dist/C_Upload-CHjiVVh7.css.map +0 -1
  626. package/dist/C_Upload-DE3OLsZD.css.map +0 -1
  627. package/dist/C_Upload.js.map +0 -1
  628. package/dist/C_Upload2.js.map +0 -1
  629. package/dist/C_VideoPlayer-CnaNOFtW.css.map +0 -1
  630. package/dist/C_VideoPlayer-cnP88zNV.css.map +0 -1
  631. package/dist/C_VideoPlayer.js.map +0 -1
  632. package/dist/C_VideoPlayer2.js.map +0 -1
  633. package/dist/C_VtableGantt-CZlJgvpC.css.map +0 -1
  634. package/dist/C_VtableGantt-DKfQkql0.css.map +0 -1
  635. package/dist/C_VtableGantt.js.map +0 -1
  636. package/dist/C_VtableGantt2.js.map +0 -1
  637. package/dist/C_WaterFall-BJ_39ext.css.map +0 -1
  638. package/dist/C_WaterFall-cYc1vntE.css.map +0 -1
  639. package/dist/C_WaterFall.js.map +0 -1
  640. package/dist/C_WaterFall2.js.map +0 -1
  641. package/dist/C_WorkFlow-BFzRGGhJ.css.map +0 -1
  642. package/dist/C_WorkFlow-DSyCOvRp.css.map +0 -1
  643. package/dist/C_WorkFlow.js.map +0 -1
  644. package/dist/C_WorkFlow2.js.map +0 -1
  645. package/dist/city.js.map +0 -1
  646. package/dist/index.cjs.map +0 -1
  647. package/dist/index.js.map +0 -1
  648. package/dist/index2.d.ts +0 -120
  649. package/dist/resolver.cjs.map +0 -1
  650. package/dist/resolver.js.map +0 -1
  651. package/dist/storage.js.map +0 -1
  652. /package/dist/{chunk.js → chunk.cjs} +0 -0
@@ -1,9 +1,9 @@
1
- import { DataTableColumns, DataTableRowKey } from "naive-ui";
1
+ import { i as ComponentLocale, r as ComponentFeedback } from "./config.cjs";
2
2
  import * as vue from "vue";
3
- import { ComputedRef, InjectionKey, MaybeRef, Ref, VNodeChild } from "vue";
4
- import * as naive_ui_es0 from "naive-ui/es";
5
- import { DataTableColumn, DataTableRowKey as DataTableRowKey$1 } from "naive-ui/es";
6
- import { FormItemRule } from "naive-ui/es/form";
3
+ import { App, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref, VNodeChild } from "vue";
4
+ import { DataTableColumn, DataTableColumns, DataTableRowKey, FormItemRule, PaginationProps } from "naive-ui";
5
+ import * as _vue_shared0 from "@vue/shared";
6
+ import { HLJSApi } from "highlight.js";
7
7
 
8
8
  //#region src/components/C_Table/composables/usePrintWatermark.d.ts
9
9
  interface WatermarkConfig {
@@ -138,8 +138,10 @@ declare const printPresets: {
138
138
  };
139
139
  //#endregion
140
140
  //#region src/components/C_Table/composables/useDynamicRow.d.ts
141
- interface DynamicRowsOptions<T extends DataRecord = DataRecord> {
142
- rowKey?: string | ((row: T) => DataTableRowKey$1);
141
+ interface DynamicRowsOptions<T extends object = DataRecord> {
142
+ /** 总开关;关闭时公开方法保持安全 no-op */
143
+ enabled?: boolean;
144
+ rowKey?: string | ((row: T) => DataTableRowKey);
143
145
  defaultRowData?: () => T;
144
146
  enableRadioSelection?: boolean;
145
147
  enableAdd?: boolean;
@@ -154,15 +156,17 @@ interface DynamicRowsOptions<T extends DataRecord = DataRecord> {
154
156
  printTargetSelector?: string;
155
157
  confirmDelete?: boolean;
156
158
  deleteConfirmText?: string;
159
+ feedback?: ComponentFeedback;
160
+ locale?: ComponentLocale;
157
161
  onRowChange?: (data: T[]) => void;
158
- onSelectionChange?: (selectedKey: DataTableRowKey$1 | null, selectedRow: T | null) => void;
162
+ onSelectionChange?: (selectedKey: DataTableRowKey | null, selectedRow: T | null) => void;
159
163
  onRowAdd?: (newRow: T) => void;
160
164
  onRowDelete?: (deletedRow: T, index: number) => void;
161
165
  onRowCopy?: (originalRow: T, newRow: T) => void;
162
166
  onRowMove?: (row: T, fromIndex: number, toIndex: number) => void;
163
167
  }
164
- interface DynamicRowsReturn<T extends DataRecord = DataRecord> {
165
- selectedRowKey: Ref<DataTableRowKey$1 | null>;
168
+ interface DynamicRowsReturn<T extends object = DataRecord> {
169
+ selectedRowKey: Ref<DataTableRowKey | null>;
166
170
  selectedRowData: Ref<T | null>;
167
171
  selectedRowIndex: Ref<number>;
168
172
  canMoveUp: Ref<boolean>;
@@ -177,19 +181,19 @@ interface DynamicRowsReturn<T extends DataRecord = DataRecord> {
177
181
  copyRow: () => void;
178
182
  moveRowUp: () => void;
179
183
  moveRowDown: () => void;
180
- selectRow: (key: DataTableRowKey$1) => void;
184
+ selectRow: (key: DataTableRowKey) => void;
181
185
  clearSelection: () => void;
182
186
  handlePrint: (elementRef: Ref<HTMLElement | undefined>) => Promise<void>;
183
187
  handleDownload: (elementRef: Ref<HTMLElement | undefined>, filename?: string) => Promise<void>;
184
188
  handleQuickPrint: (elementRef: Ref<HTMLElement | undefined>) => Promise<void>;
185
189
  enhanceColumns: (columns: TableColumn<T>[]) => TableColumn<T>[];
186
- renderToolbar: () => VNodeChild;
190
+ renderToolbar: (target?: HTMLElement) => VNodeChild;
187
191
  renderConfirmModal: () => VNodeChild;
188
192
  }
189
193
  /**
190
194
  * 表格动态行操作功能组合
191
195
  */
192
- declare function useDynamicRows<T extends DataRecord = DataRecord>(data: Ref<T[]>, options?: DynamicRowsOptions<T>): DynamicRowsReturn<T>;
196
+ declare function useDynamicRows<T extends object = DataRecord>(data: Readonly<Ref<T[]>>, options?: MaybeRefOrGetter<DynamicRowsOptions<T>>): DynamicRowsReturn<T>;
193
197
  //#endregion
194
198
  //#region src/components/C_Table/composables/useRowDrag.d.ts
195
199
  interface RowDragConfig {
@@ -203,13 +207,13 @@ interface RowDragConfig {
203
207
  /** 拖拽中样式类 */
204
208
  chosenClass?: string;
205
209
  }
206
- interface UseRowDragOptions<T extends DataRecord = DataRecord> {
210
+ interface UseRowDragOptions<T extends object = DataRecord> {
207
211
  /** 数据源(只读即可) */
208
212
  data: Ref<T[]> | ComputedRef<T[]>;
209
213
  /** 获取行键 */
210
- rowKey: (row: T) => DataTableRowKey$1;
214
+ rowKey: (row: T) => DataTableRowKey;
211
215
  /** 配置 */
212
- config: RowDragConfig;
216
+ config: MaybeRefOrGetter<RowDragConfig | undefined>;
213
217
  /** 数据重排回调(由外部处理数据更新) */
214
218
  onReorder?: (newData: T[]) => void;
215
219
  /** 排序变更回调 */
@@ -224,7 +228,7 @@ interface UseRowDragReturn {
224
228
  isDragging: Ref<boolean>;
225
229
  }
226
230
  /** 行拖拽排序组合式函数 */
227
- declare function useRowDrag<T extends DataRecord = DataRecord>(options: UseRowDragOptions<T>): UseRowDragReturn;
231
+ declare function useRowDrag<T extends object = DataRecord>(options: UseRowDragOptions<T>): UseRowDragReturn;
228
232
  //#endregion
229
233
  //#region src/components/C_Table/composables/useCrossPageSelection.d.ts
230
234
  interface CrossPageSelectionConfig {
@@ -232,34 +236,38 @@ interface CrossPageSelectionConfig {
232
236
  /** 最大选择数 */
233
237
  maxSelection?: number;
234
238
  }
235
- interface UseCrossPageSelectionOptions<T extends DataRecord = DataRecord> {
239
+ interface UseCrossPageSelectionOptions<T extends object = DataRecord> {
236
240
  /** 全量数据(非分页后的) */
237
241
  allData: Ref<T[]> | ComputedRef<T[]>;
238
242
  /** 行键函数 */
239
- rowKey: (row: T) => DataTableRowKey$1;
243
+ rowKey: (row: T) => DataTableRowKey;
240
244
  /** 配置 */
241
- config: CrossPageSelectionConfig;
245
+ config: MaybeRefOrGetter<CrossPageSelectionConfig | undefined>;
242
246
  }
243
- interface UseCrossPageSelectionReturn<T extends DataRecord = DataRecord> {
247
+ interface UseCrossPageSelectionReturn<T extends object = DataRecord> {
244
248
  /** 所有选中的 key(跨页) */
245
- selectedKeys: Ref<Set<DataTableRowKey$1>>;
249
+ selectedKeys: Ref<Set<DataTableRowKey>>;
246
250
  /** 选中行数量 */
247
251
  selectedCount: ComputedRef<number>;
248
252
  /** 当前页数据的 checkedKeys(给 NDataTable 绑定) */
249
- getPageCheckedKeys: (pageData: T[]) => DataTableRowKey$1[];
253
+ getPageCheckedKeys: (pageData: T[]) => DataTableRowKey[];
250
254
  /** NDataTable @update:checked-row-keys 处理器 */
251
- handlePageSelectionChange: (keys: DataTableRowKey$1[], pageData: T[]) => void;
255
+ handlePageSelectionChange: (keys: DataTableRowKey[], pageData: T[]) => void;
252
256
  /** 全选所有页 */
253
257
  selectAll: () => void;
258
+ /** 选择指定 key */
259
+ select: (key: DataTableRowKey) => boolean;
260
+ /** 取消选择指定 key */
261
+ unselect: (key: DataTableRowKey) => void;
254
262
  /** 清除所有页选中 */
255
263
  clearAll: () => void;
256
264
  /** 获取所有选中行数据 */
257
265
  getSelectedRows: () => T[];
258
266
  /** 判断 key 是否选中 */
259
- isSelected: (key: DataTableRowKey$1) => boolean;
267
+ isSelected: (key: DataTableRowKey) => boolean;
260
268
  }
261
269
  /** 跨页多选组合式函数 */
262
- declare function useCrossPageSelection<T extends DataRecord = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
270
+ declare function useCrossPageSelection<T extends object = DataRecord>(options: UseCrossPageSelectionOptions<T>): UseCrossPageSelectionReturn<T>;
263
271
  //#endregion
264
272
  //#region src/components/C_Table/composables/useTableExport.d.ts
265
273
  interface ExportConfig {
@@ -273,8 +281,12 @@ interface ExportConfig {
273
281
  columnKeys?: string[];
274
282
  /** CSV 分隔符 */
275
283
  csvSeparator?: string;
284
+ /** 阻止表格软件把用户文本识别为公式,默认开启 */
285
+ preventFormulaInjection?: boolean;
276
286
  /** 全局格式化配置(用于 formatter) */
277
287
  formatterConfig?: FormatterConfig;
288
+ /** 请求格式不可用并自动降级时的通知。 */
289
+ onFallback?: (requested: 'xlsx', actual: 'csv', cause: unknown) => void;
278
290
  }
279
291
  /**
280
292
  * 导出表格数据
@@ -289,12 +301,12 @@ declare function exportTableData(data: DataRecord[], columns: TableColumn[], con
289
301
  * 此接口对 columns/actions 使用 any[] 避免 TableColumn<any> 结构展开异常,
290
302
  * 同时允许 useTableCrud<T>() 任意子类型直接传入而无需类型断言。
291
303
  */
292
- interface CrudBinding {
293
- data: Ref<any[]>;
304
+ interface CrudBinding<T extends object = DataRecord> {
305
+ data: Ref<T[]>;
294
306
  loading: Ref<boolean>;
295
- columns: ComputedRef<any[]>;
296
- actions?: ComputedRef<any>;
297
- pagination?: ComputedRef<any>;
307
+ columns: ComputedRef<TableColumn<T>[]>;
308
+ actions?: ComputedRef<SimpleTableActions<T>>;
309
+ pagination?: ComputedRef<PaginationConfig | boolean | undefined>;
298
310
  tableRef?: Ref<any>;
299
311
  save?: (...args: any[]) => any;
300
312
  handleCancel?: () => void;
@@ -305,9 +317,15 @@ interface CrudBinding {
305
317
  };
306
318
  }
307
319
  /** C_Table :config prop 的类型 — 所有功能配置收拢在此 */
308
- interface TableConfig<T extends DataRecord = DataRecord> {
320
+ interface TableConfig<T extends object = DataRecord> {
321
+ /** 组件级反馈适配器;未提供时尝试复用 Naive Provider,再安全降级 */
322
+ feedback?: ComponentFeedback;
323
+ /** 组件级文案与语言覆盖 */
324
+ locale?: ComponentLocale;
325
+ /** 校验缺失/重复行键;默认开启,超大或无状态表格可关闭。 */
326
+ validateRowKeys?: boolean;
309
327
  /** 编辑配置 */
310
- edit?: EditConfig | boolean;
328
+ edit?: EditConfig<T> | boolean;
311
329
  /** 操作按钮 */
312
330
  actions?: SimpleTableActions<T>;
313
331
  /** 分页配置 */
@@ -343,25 +361,33 @@ interface TableConfig<T extends DataRecord = DataRecord> {
343
361
  /** 错误状态配置 */
344
362
  error?: ErrorConfig;
345
363
  /** 批量操作配置 */
346
- batchActions?: BatchActionsConfig;
364
+ batchActions?: BatchActionsConfig<T>;
347
365
  }
348
- interface EditConfig {
366
+ interface EditConfig<T extends object = DataRecord> {
349
367
  enabled?: boolean;
350
368
  mode?: 'row' | 'cell' | 'modal' | 'both' | 'none';
351
369
  showRowActions?: boolean;
352
370
  modalTitle?: string;
353
371
  modalWidth?: number;
372
+ /** 保存前回调;抛出异常会保留编辑态,便于修正或重试 */
373
+ onSave?: (rowData: T, rowIndex: number, columnKey?: string) => void | Promise<void>;
374
+ /** 取消编辑回调 */
375
+ onCancel?: (rowData: T, rowIndex: number) => void | Promise<void>;
376
+ /** 编辑或保存失败回调 */
377
+ onError?: (error: unknown) => void;
354
378
  }
355
- interface ExpandConfig$1<T extends DataRecord = DataRecord> {
379
+ interface ExpandConfig$1<T extends object = DataRecord> {
356
380
  enabled?: boolean;
357
- defaultExpandedKeys?: DataTableRowKey$1[];
381
+ defaultExpandedKeys?: DataTableRowKey[];
358
382
  onLoadData?: (row: T) => Promise<unknown[]> | unknown[];
383
+ /** 展开数据加载失败回调 */
384
+ onError?: (error: unknown, row: T) => void;
359
385
  renderContent?: (row: T, expandData: unknown[], loading: boolean, childSelection?: unknown) => VNodeChild;
360
386
  rowExpandable?: (row: T) => boolean;
361
387
  }
362
- interface SelectionConfig$1<T extends DataRecord = DataRecord> {
388
+ interface SelectionConfig$1<T extends object = DataRecord> {
363
389
  enabled?: boolean;
364
- defaultCheckedKeys?: naive_ui_es0.DataTableRowKey[];
390
+ defaultCheckedKeys?: DataTableRowKey[];
365
391
  rowCheckable?: (row: T) => boolean;
366
392
  maxSelection?: number;
367
393
  childSelection?: {
@@ -397,7 +423,7 @@ interface VirtualScrollConfig {
397
423
  maxHeight?: number;
398
424
  }
399
425
  /** 合计行配置 */
400
- interface SummaryConfig<T extends DataRecord = DataRecord> {
426
+ interface SummaryConfig<T extends object = DataRecord> {
401
427
  /** 合计行位置 */
402
428
  position?: 'top' | 'bottom';
403
429
  /** 自定义合计函数,每列返回 { value, colSpan? } */
@@ -434,30 +460,40 @@ interface ErrorConfig {
434
460
  onRetry?: () => void | Promise<void>;
435
461
  }
436
462
  /** 批量操作配置 */
437
- interface BatchActionsConfig {
463
+ interface BatchActionsConfig<T extends object = DataRecord> {
438
464
  enabled?: boolean;
465
+ /** 操作成功后清空选择,默认不清空 */
466
+ clearSelectionOnSuccess?: boolean;
467
+ /** 批量操作失败回调 */
468
+ onError?: (error: unknown, actionKey: string) => void;
439
469
  /** 自定义批量操作按钮 */
440
470
  actions?: Array<{
441
471
  key: string;
442
472
  label: string;
443
473
  icon?: string;
444
474
  type?: string;
445
- onClick: (selectedKeys: DataTableRowKey$1[], selectedRows: DataRecord[]) => void | Promise<void>;
475
+ onClick: (selectedKeys: DataTableRowKey[], selectedRows: T[]) => void | Promise<void>;
446
476
  }>;
447
477
  }
448
478
  interface ResolvedConfig {
479
+ feedback: ComponentFeedback | undefined;
480
+ locale: ComponentLocale | undefined;
449
481
  editable: boolean;
450
482
  editMode: string;
451
483
  showRowActions: boolean;
452
484
  modalTitle: string;
453
485
  modalWidth: number;
486
+ onEditSave: EditConfig['onSave'] | undefined;
487
+ onEditCancel: EditConfig['onCancel'] | undefined;
488
+ onEditError: EditConfig['onError'] | undefined;
454
489
  expandable: boolean;
455
- defaultExpandedKeys: DataTableRowKey$1[] | undefined;
490
+ defaultExpandedKeys: DataTableRowKey[] | undefined;
456
491
  onLoadExpandData: ((row: DataRecord) => Promise<unknown[]> | unknown[]) | undefined;
492
+ onExpandError: ((error: unknown, row: DataRecord) => void) | undefined;
457
493
  renderExpandContent: ((row: DataRecord, expandData: unknown[], loading: boolean, childSelection?: unknown) => VNodeChild) | undefined;
458
494
  rowExpandable: ((row: DataRecord) => boolean) | undefined;
459
495
  enableSelection: boolean;
460
- defaultCheckedKeys: DataTableRowKey$1[] | undefined;
496
+ defaultCheckedKeys: DataTableRowKey[] | undefined;
461
497
  rowCheckable: ((row: DataRecord) => boolean) | undefined;
462
498
  maxSelection: number | undefined;
463
499
  enableChildSelection: boolean;
@@ -487,7 +523,7 @@ interface ResolvedConfig {
487
523
  }>) | undefined;
488
524
  /** 列拖拽 */
489
525
  enableColumnDrag: boolean;
490
- columnDragHandleClass: string;
526
+ columnDragHandleClass: string | undefined;
491
527
  columnDragAnimationDuration: number;
492
528
  /** 树形表格 */
493
529
  treeEnabled: boolean;
@@ -557,6 +593,8 @@ interface ColumnFormatter {
557
593
  config?: Record<string, unknown>;
558
594
  }
559
595
  interface TableGlobalConfig {
596
+ /** 任意 C_Table 配置的应用级默认值。 */
597
+ defaults?: TableConfig;
560
598
  /** 表格显示默认值 */
561
599
  display?: DisplayConfig;
562
600
  /** 默认分页条数 */
@@ -584,6 +622,15 @@ type RefLike<T> = {
584
622
  } | T;
585
623
  type MaybeRefLike<T> = RefLike<T> | MaybeRef<T>;
586
624
  type DataRecord = Record<string, unknown>;
625
+ type TableRowKey<T extends object = DataRecord> = Extract<keyof T, string> | ((row: T) => DataTableRowKey);
626
+ interface TableRowKeyIssue<T extends object = DataRecord> {
627
+ type: 'missing' | 'duplicate' | 'error';
628
+ row: T;
629
+ index: number;
630
+ key?: DataTableRowKey;
631
+ firstIndex?: number;
632
+ cause?: unknown;
633
+ }
587
634
  type EditMode = 'row' | 'cell' | 'both' | 'modal' | 'none';
588
635
  type EditType = 'input' | 'textarea' | 'select' | 'date' | 'number' | 'switch' | 'email' | 'mobile';
589
636
  type ButtonType = 'default' | 'primary' | 'info' | 'success' | 'warning' | 'error';
@@ -601,11 +648,11 @@ interface PaginationConfig {
601
648
  remote?: boolean;
602
649
  }
603
650
  /** API 函数类型 */
604
- type ApiFunction<T extends DataRecord = DataRecord> = (row: T, index: number) => Promise<any> | any;
651
+ type ApiFunction<T extends object = DataRecord> = (row: T, index: number) => unknown | Promise<unknown>;
605
652
  /** 渲染函数类型 */
606
- type RenderFunction<T extends DataRecord = DataRecord> = (row: T, index: number) => VNodeChild;
653
+ type RenderFunction<T extends object = DataRecord> = (row: T, index: number) => VNodeChild;
607
654
  /** 自定义操作按钮配置 */
608
- interface CustomAction<T extends DataRecord = DataRecord> {
655
+ interface CustomAction<T extends object = DataRecord> {
609
656
  /** 按钮唯一键 */
610
657
  key: string;
611
658
  /** 按钮显示文本 */
@@ -624,7 +671,7 @@ interface CustomAction<T extends DataRecord = DataRecord> {
624
671
  tooltip?: string;
625
672
  }
626
673
  /** 简化的操作配置 - 二元法则 */
627
- interface SimpleTableActions<T extends DataRecord = DataRecord> {
674
+ interface SimpleTableActions<T extends object = DataRecord> {
628
675
  /** 编辑操作 - 直接传入函数 */
629
676
  edit?: false | ApiFunction<T>;
630
677
  /** 删除操作 - 直接传入函数 */
@@ -636,23 +683,48 @@ interface SimpleTableActions<T extends DataRecord = DataRecord> {
636
683
  /** 完全自定义渲染 - 10%场景 */
637
684
  render?: RenderFunction<T>;
638
685
  }
686
+ /** Minimal edit-state contract consumed by the action renderer. */
687
+ interface TableActionsManager<T extends object = DataRecord> {
688
+ editStates: {
689
+ modalEdit: {
690
+ startEdit: (rowKey: DataTableRowKey, sourceData?: T) => boolean | void;
691
+ };
692
+ rowEdit: {
693
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
694
+ startEditRow: (rowKey: DataTableRowKey) => boolean | void;
695
+ cancelEditRow: () => void | Promise<void>;
696
+ saveEditRow: () => Promise<unknown>;
697
+ };
698
+ };
699
+ }
639
700
  /** useTableActions Hook 选项类型 */
640
- interface UseTableActionsOptions<T extends DataRecord = DataRecord> {
701
+ interface UseTableActionsOptions<T extends object = DataRecord> {
641
702
  /** 操作配置 */
642
703
  actions: Ref<SimpleTableActions<T>> | ComputedRef<SimpleTableActions<T>>;
643
704
  /** 表格配置 */
644
- config: Ref<any> | ComputedRef<any>;
705
+ config: Ref<{
706
+ editable: boolean;
707
+ editMode: string;
708
+ feedback?: ComponentFeedback;
709
+ locale?: ComponentLocale;
710
+ }> | ComputedRef<{
711
+ editable: boolean;
712
+ editMode: string;
713
+ feedback?: ComponentFeedback;
714
+ locale?: ComponentLocale;
715
+ }>;
645
716
  /** 表格管理器 */
646
- tableManager: any;
717
+ tableManager: TableActionsManager<T>;
647
718
  /** 行键获取函数 */
648
719
  rowKey: (row: T) => DataTableRowKey;
649
720
  /** 事件发射器 */
650
- emit: any;
721
+ /** Deletion action completion notification; kept separate from CRUD data mutation. */
722
+ onRowDeleted?: (row: T, index: number) => void;
651
723
  /** 查看详情回调 */
652
724
  onViewDetail?: (data: T) => void;
653
725
  }
654
726
  /** useTableActions Hook 返回类型 */
655
- interface UseTableActionsReturn<T extends DataRecord = DataRecord> {
727
+ interface UseTableActionsReturn<T extends object = DataRecord> {
656
728
  /** 渲染操作列 */
657
729
  renderActions: (rowData: T, rowIndex: number) => VNodeChild;
658
730
  /** 检查操作是否启用 */
@@ -663,7 +735,7 @@ interface BaseOption {
663
735
  value: string | number;
664
736
  disabled?: boolean;
665
737
  }
666
- interface BaseConfig<T extends DataRecord = DataRecord> {
738
+ interface BaseConfig<T extends object = DataRecord> {
667
739
  enabled?: boolean;
668
740
  rowCheckable?: (row: T) => boolean;
669
741
  }
@@ -692,15 +764,15 @@ interface EditProps {
692
764
  * - BuiltInTableColumn:内置列(selection/expand),不需要 key/title
693
765
  * - TableColumn:以上二者联合
694
766
  */
695
- interface BaseTableColumn<T extends DataRecord = DataRecord> extends Omit<DataTableColumns<T>[number], 'key' | 'title' | 'render' | 'type'> {
696
- key?: any;
767
+ interface BaseTableColumn<T extends object = DataRecord> extends Omit<DataTableColumns<T>[number], 'key' | 'title' | 'render' | 'type'> {
768
+ key?: DataTableRowKey;
697
769
  title?: string;
698
770
  visible?: boolean;
699
771
  editable?: boolean;
700
772
  required?: boolean;
701
773
  editType?: EditType;
702
774
  editProps?: EditProps;
703
- editRender?: (value: any, rowData: T, rowIndex: number) => VNodeChild;
775
+ editRender?: (value: unknown, rowData: T, rowIndex: number) => VNodeChild;
704
776
  render?: (rowData: T, rowIndex: number) => VNodeChild;
705
777
  /** 声明式格式化器(优先级低于 render) */
706
778
  formatter?: ColumnFormatter;
@@ -709,55 +781,153 @@ interface BaseTableColumn<T extends DataRecord = DataRecord> extends Omit<DataTa
709
781
  minWidth?: number;
710
782
  maxWidth?: number;
711
783
  }
712
- interface NormalTableColumn<T extends DataRecord = DataRecord> extends BaseTableColumn<T> {
713
- key: keyof T | string;
784
+ interface NormalTableColumn<T extends object = DataRecord> extends BaseTableColumn<T> {
785
+ key: Extract<keyof T, DataTableRowKey> | DataTableRowKey;
714
786
  title: string;
715
787
  }
716
- interface BuiltInTableColumn<T extends DataRecord = DataRecord> extends BaseTableColumn<T> {
788
+ interface BuiltInTableColumn<T extends object = DataRecord> extends BaseTableColumn<T> {
717
789
  /** 内置列类型:无需 key / title */
718
790
  type: 'selection' | 'expand' | 'index';
719
791
  /** 展开行渲染函数(仅当 type = expand 时有效) */
720
792
  renderExpand?: (rowData: T, rowIndex: number) => VNodeChild;
721
793
  }
722
- type TableColumn<T extends DataRecord = DataRecord> = NormalTableColumn<T> | BuiltInTableColumn<T>;
794
+ type TableColumn<T extends object = DataRecord> = NormalTableColumn<T> | BuiltInTableColumn<T>;
795
+ type StrictTableColumn<T extends object> = (Omit<NormalTableColumn<T>, 'key'> & {
796
+ key: Extract<keyof T, string>;
797
+ }) | BuiltInTableColumn<T>;
723
798
  interface ChildSelectionState {
724
799
  selectedKeys: DataTableRowKey[];
725
800
  isAllChecked: boolean;
726
801
  selectAll: () => void;
727
802
  clearAll: () => void;
728
803
  }
729
- interface ExpandConfig<T extends DataRecord = DataRecord, C = any> {
804
+ interface ExpandConfig<T extends object = DataRecord, C = DataRecord> {
730
805
  onLoadData?: (row: T) => Promise<C[]> | C[];
806
+ onError?: (error: unknown, row: T) => void;
731
807
  renderContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
732
808
  rowExpandable?: (row: T) => boolean;
733
809
  }
734
- interface SelectionConfig<T extends DataRecord = DataRecord> extends BaseConfig<T> {
810
+ interface SelectionConfig<T extends object = DataRecord, C = DataRecord> extends BaseConfig<T> {
811
+ enableSelection?: boolean;
812
+ defaultCheckedKeys?: DataTableRowKey[];
813
+ maxSelection?: number;
814
+ enableChildSelection?: boolean;
815
+ childRowCheckable?: (childRow: C, parentRow: T) => boolean;
816
+ enableParentChildLink?: boolean;
817
+ parentChildLinkMode?: ParentChildLinkMode;
818
+ }
819
+ interface TableBaseProps<T extends object = DataRecord> {
820
+ columns: TableColumn<T>[];
821
+ data: MaybeRefLike<T[]>;
822
+ rowKey?: TableRowKey<T>;
823
+ loading?: MaybeRefLike<boolean>;
824
+ }
825
+ interface TableDisplayProps {
826
+ maxHeight?: number | string;
827
+ minHeight?: number | string;
828
+ scrollX?: number | string;
829
+ striped?: boolean;
830
+ bordered?: boolean;
831
+ singleLine?: boolean;
832
+ size?: 'small' | 'medium' | 'large';
833
+ }
834
+ interface TableEditProps<T extends object = DataRecord> {
835
+ editable?: boolean;
836
+ editMode?: EditMode;
837
+ onSave?: (rowData: T, rowIndex: number, columnKey?: string) => void | Promise<void>;
838
+ onCancel?: (rowData: T, rowIndex: number) => void;
839
+ showRowActions?: boolean;
840
+ modalTitle?: string;
841
+ modalWidth?: number;
842
+ columnWidth?: number;
843
+ }
844
+ interface TableExpandProps<T extends object = DataRecord, C = DataRecord> {
845
+ expandable?: boolean;
846
+ onLoadExpandData?: (row: T) => Promise<C[]> | C[];
847
+ renderExpandContent?: (row: T, expandData: C[], loading: boolean, childSelection?: ChildSelectionState) => VNodeChild;
848
+ rowExpandable?: (row: T) => boolean;
849
+ defaultExpandedKeys?: DataTableRowKey[];
850
+ }
851
+ interface TableSelectionProps<T extends object = DataRecord, C = DataRecord> extends BaseConfig<T> {
735
852
  enableSelection?: boolean;
736
853
  defaultCheckedKeys?: DataTableRowKey[];
737
854
  maxSelection?: number;
738
855
  enableChildSelection?: boolean;
739
- childRowCheckable?: (childRow: any, parentRow: T) => boolean;
856
+ childRowCheckable?: (childRow: C, parentRow: T) => boolean;
740
857
  enableParentChildLink?: boolean;
741
858
  parentChildLinkMode?: ParentChildLinkMode;
742
859
  }
743
- interface TableExpandEvents<T extends DataRecord = DataRecord> {
860
+ interface TableProps<T extends object = DataRecord, C = DataRecord> extends TableBaseProps<T>, TableDisplayProps, TableEditProps<T>, TableExpandProps<T, C>, TableSelectionProps<T, C> {
861
+ pagination?: PaginationConfig | boolean;
862
+ actions?: SimpleTableActions<T>;
863
+ }
864
+ interface TableExpandEvents<T extends object = DataRecord> {
744
865
  'expand-change': [expandedKeys: DataTableRowKey[], row?: T, expanded?: boolean];
745
866
  }
746
- interface TableSelectionEvents<T extends DataRecord = DataRecord> {
867
+ interface TableSelectionEvents<T extends object = DataRecord, C = DataRecord> {
747
868
  'selection-change': [checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>];
748
- 'child-selection-change': [parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: any[]];
869
+ 'child-selection-change': [parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]];
749
870
  'parent-child-link-change': [parentKey: DataTableRowKey, shouldSelect: boolean];
750
871
  }
751
- interface TableEditEvents<T extends DataRecord = DataRecord> {
872
+ interface TableEditEvents<T extends object = DataRecord> {
752
873
  'update:data': [data: T[]];
753
874
  save: [rowData: T, rowIndex: number, columnKey?: string];
754
875
  cancel: [rowData: T, rowIndex: number];
876
+ 'edit-error': [error: unknown];
755
877
  }
756
- interface TableEmits<T extends DataRecord = DataRecord> extends TableExpandEvents<T>, TableSelectionEvents<T>, TableEditEvents<T> {
878
+ interface TableEmits<T extends object = DataRecord, C = DataRecord> extends TableExpandEvents<T>, TableSelectionEvents<T, C>, TableEditEvents<T> {
757
879
  'pagination-change': [page: number, pageSize: number];
758
880
  'row-delete': [deletedRow: T, index: number];
881
+ 'batch-action-error': [error: unknown, actionKey: string];
882
+ 'row-key-error': [issues: TableRowKeyIssue<T>[]];
883
+ }
884
+ interface TableEditMethods<T extends object = DataRecord> {
885
+ startEdit: (rowKey: DataTableRowKey, columnKey?: string) => void;
886
+ cancelEdit: () => void;
887
+ saveEdit: () => Promise<void>;
888
+ isEditing: (rowKey: DataTableRowKey, columnKey?: string) => boolean;
889
+ getEditingData: () => T | null;
890
+ }
891
+ interface TableExpandMethods {
892
+ expandRow: (rowKey: DataTableRowKey) => Promise<void>;
893
+ collapseRow: (rowKey: DataTableRowKey) => void;
894
+ toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
895
+ expandAll: () => Promise<void>;
896
+ collapseAll: () => void;
897
+ isExpanded: (rowKey: DataTableRowKey) => boolean;
898
+ }
899
+ interface TableSelectionMethods<T extends object = DataRecord, C = DataRecord> {
900
+ selectRow: (rowKey: DataTableRowKey) => boolean | void;
901
+ unselectRow: (rowKey: DataTableRowKey) => void;
902
+ selectAll: () => void;
903
+ clearSelection: () => void;
904
+ isRowSelected: (rowKey: DataTableRowKey) => boolean;
905
+ getSelectedRows: () => T[];
906
+ selectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
907
+ unselectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
908
+ selectAllChildren: (parentKey: DataTableRowKey) => void;
909
+ clearChildrenSelection: (parentKey: DataTableRowKey) => void;
910
+ getChildSelectedRows: (parentKey: DataTableRowKey) => C[];
911
+ clearAllSelections: () => void;
912
+ }
913
+ interface TableDynamicRowsMethods<T extends object = DataRecord> {
914
+ addRow: () => void;
915
+ insertRow: () => void;
916
+ deleteRow: () => void;
917
+ copyRow: () => void;
918
+ moveRowUp: () => void;
919
+ moveRowDown: () => void;
920
+ clearRowSelection: () => void;
921
+ getSelectedRowData: () => T | null;
922
+ printTable: (elementRef?: HTMLElement) => Promise<void>;
923
+ downloadTableScreenshot: (elementRef?: HTMLElement, filename?: string) => Promise<void>;
924
+ }
925
+ interface TablePaginationMethods {
926
+ resetToFirstPage: () => void;
927
+ getTotalPages: () => number;
759
928
  }
760
- interface UseTableExpandOptions<T extends DataRecord = DataRecord, C = any> extends ExpandConfig<T, C>, SelectionConfig<T> {
929
+ interface TableInstance<T extends object = DataRecord, C = DataRecord> extends TableEditMethods<T>, TableExpandMethods, TableSelectionMethods<T, C>, TableDynamicRowsMethods<T>, TablePaginationMethods {}
930
+ interface UseTableExpandOptions<T extends object = DataRecord, C = DataRecord> extends ExpandConfig<T, C>, SelectionConfig<T, C> {
761
931
  data: Ref<T[]> | ComputedRef<T[]>;
762
932
  rowKey: (row: T) => DataTableRowKey;
763
933
  childRowKey?: (child: C) => DataTableRowKey;
@@ -766,7 +936,7 @@ interface UseTableExpandOptions<T extends DataRecord = DataRecord, C = any> exte
766
936
  onSelectionChange?: (checkedKeys: DataTableRowKey[], checkedRows: T[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]>) => void;
767
937
  onChildSelectionChange?: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: C[]) => void;
768
938
  }
769
- interface UseTableExpandReturn<T extends DataRecord = DataRecord, C = any> {
939
+ interface UseTableExpandReturn<T extends object = DataRecord, C = DataRecord> {
770
940
  expandedKeys: Ref<DataTableRowKey[]>;
771
941
  checkedKeys: Ref<DataTableRowKey[]>;
772
942
  childSelections: Ref<Map<DataTableRowKey, DataTableRowKey[]>>;
@@ -782,7 +952,17 @@ interface UseTableExpandReturn<T extends DataRecord = DataRecord, C = any> {
782
952
  clearSelection: () => void;
783
953
  clearAllSelections: () => void;
784
954
  handleSelectionChange: (keys: DataTableRowKey[]) => void;
785
- getTableColumns: (originalColumns: TableColumn<T>[]) => any[];
955
+ getTableColumns: (originalColumns: TableColumn<T>[]) => unknown[];
956
+ }
957
+ /** 行操作按钮配置 */
958
+ interface RowAction<T extends object = DataRecord> {
959
+ label: string;
960
+ icon?: string;
961
+ type?: ButtonType;
962
+ disabled?: boolean | ((row: T, index: number) => boolean);
963
+ show?: boolean | ((row: T, index: number) => boolean);
964
+ onClick?: (row: T, index: number) => void | Promise<void>;
965
+ tooltip?: string;
786
966
  }
787
967
  /**
788
968
  * 展平 TableColumn 联合类型以便直接访问 key/title/visible 等属性。
@@ -803,7 +983,7 @@ type __VLS_Props = {
803
983
  /** 列配置(crud 模式下可省略) */columns?: TableColumn[]; /** 数据源(crud 模式下可省略) */
804
984
  data?: MaybeRefLike<DataRecord[]>; /** 加载状态 */
805
985
  loading?: MaybeRefLike<boolean>; /** 行唯一键 */
806
- rowKey?: (row: DataRecord) => DataTableRowKey$1; /** 统一功能配置(edit / selection / expand / pagination / dynamicRows / toolbar / display) */
986
+ rowKey?: string | ((row: DataRecord) => DataTableRowKey); /** 统一功能配置(edit / selection / expand / pagination / dynamicRows / toolbar / display) */
807
987
  config?: TableConfig; /** CRUD 绑定 — 传入 useTableCrud() 的返回值,自动接管 data/columns/loading/actions/pagination/events */
808
988
  crud?: CrudBinding;
809
989
  };
@@ -818,48 +998,71 @@ type __VLS_Slots = {} & {
818
998
  error?: (props: typeof __VLS_52) => any;
819
999
  };
820
1000
  declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
821
- startEdit: (rowKey: DataTableRowKey$1, columnKey?: string) => void;
1001
+ startEdit: (rowKey: DataTableRowKey, columnKey?: string) => void;
1002
+ cancelEdit: () => void;
1003
+ saveEdit: () => Promise<void>;
1004
+ expandRow: (rowKey: DataTableRowKey) => Promise<void>;
1005
+ collapseRow: (rowKey: DataTableRowKey) => void;
1006
+ toggleExpand: (rowKey: DataTableRowKey) => Promise<void>;
822
1007
  expandAll: () => Promise<void>;
823
1008
  collapseAll: () => void;
1009
+ selectRow: (rowKey: DataTableRowKey) => boolean;
1010
+ unselectRow: (rowKey: DataTableRowKey) => void;
824
1011
  selectAll: () => void;
825
1012
  clearSelection: () => void;
1013
+ isRowSelected: (rowKey: DataTableRowKey) => boolean;
826
1014
  clearAllSelections: () => void;
1015
+ selectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
1016
+ unselectChildRow: (parentKey: DataTableRowKey, childKey: DataTableRowKey) => void;
1017
+ selectAllChildren: (parentKey: DataTableRowKey) => void;
1018
+ clearChildrenSelection: (parentKey: DataTableRowKey) => void;
1019
+ getChildSelectedRows: (parentKey: DataTableRowKey) => DataRecord[];
1020
+ addRow: () => void;
1021
+ insertRow: () => void;
1022
+ deleteRow: () => void;
1023
+ copyRow: () => void;
1024
+ moveRowUp: () => void;
1025
+ moveRowDown: () => void;
827
1026
  clearRowSelection: () => void;
1027
+ getSelectedRowData: () => DataRecord | null;
1028
+ printTable: (elementRef?: HTMLElement) => Promise<void>;
1029
+ downloadTableScreenshot: (elementRef?: HTMLElement, filename?: string) => Promise<void>;
828
1030
  resetToFirstPage: () => void;
1031
+ getTotalPages: () => number;
829
1032
  getSelectedRows: () => DataRecord[];
830
- getEditingData: () => DataRecord | vue.Ref<Record<string, any>, Record<string, any>> | null;
831
- isEditing: (rowKey: DataTableRowKey$1, columnKey?: string) => boolean;
832
- isExpanded: (rowKey: DataTableRowKey$1) => boolean;
1033
+ getEditingData: () => DataRecord | null | undefined;
1034
+ isEditing: (rowKey: DataTableRowKey, columnKey?: string) => boolean;
1035
+ isExpanded: (rowKey: DataTableRowKey) => boolean;
833
1036
  getManager: () => {
834
1037
  edit: {
835
- start(rowKey: DataTableRowKey$1, columnKey?: string): void;
1038
+ start(rowKey: DataTableRowKey, columnKey?: string): void;
836
1039
  cancel(): void;
837
1040
  save(): Promise<void>;
838
- isEditing(rowKey: DataTableRowKey$1, columnKey?: string): boolean;
839
- getEditingData(): DataRecord | vue.Ref<Record<string, any>, Record<string, any>> | null;
1041
+ isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean;
1042
+ getEditingData(): DataRecord | null | undefined;
840
1043
  };
841
1044
  expand: {
842
- row(rowKey: DataTableRowKey$1): Promise<void>;
843
- collapse(rowKey: DataTableRowKey$1): void;
844
- toggle(rowKey: DataTableRowKey$1): Promise<void>;
1045
+ row(rowKey: DataTableRowKey): Promise<void>;
1046
+ collapse(rowKey: DataTableRowKey): void;
1047
+ toggle(rowKey: DataTableRowKey): Promise<void>;
845
1048
  all(): Promise<void>;
846
1049
  collapseAll(): void;
847
- isExpanded(rowKey: DataTableRowKey$1): boolean;
1050
+ isExpanded(rowKey: DataTableRowKey): boolean;
848
1051
  };
849
1052
  selection: {
850
- select(rowKey: DataTableRowKey$1): void;
851
- unselect(rowKey: DataTableRowKey$1): void;
1053
+ select(rowKey: DataTableRowKey): void;
1054
+ unselect(rowKey: DataTableRowKey): void;
852
1055
  all(): void;
853
1056
  clear(): void;
854
- isSelected(rowKey: DataTableRowKey$1): boolean;
1057
+ isSelected(rowKey: DataTableRowKey): boolean;
855
1058
  getSelected(): DataRecord[];
856
1059
  };
857
1060
  childSelection: {
858
- select(parentKey: DataTableRowKey$1, childKey: DataTableRowKey$1): void;
859
- unselect(parentKey: DataTableRowKey$1, childKey: DataTableRowKey$1): void;
860
- selectAll(parentKey: DataTableRowKey$1): void;
861
- clear(parentKey: DataTableRowKey$1): void;
862
- getSelected(parentKey: DataTableRowKey$1): DataRecord[];
1061
+ select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void;
1062
+ unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void;
1063
+ selectAll(parentKey: DataTableRowKey): void;
1064
+ clear(parentKey: DataTableRowKey): void;
1065
+ getSelected(parentKey: DataTableRowKey): DataRecord[];
863
1066
  };
864
1067
  dynamicRows: {
865
1068
  add(): void;
@@ -877,26 +1080,32 @@ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
877
1080
  }; /** 导出数据 */
878
1081
  exportData: () => Promise<void>; /** 跨页选择 */
879
1082
  crossPageSelection: {
880
- selectedKeys: vue.Ref<Set<DataTableRowKey$1>, Set<DataTableRowKey$1>>;
1083
+ enabled: vue.ComputedRef<boolean>;
1084
+ selectedKeys: vue.Ref<Set<DataTableRowKey>, Set<DataTableRowKey>>;
881
1085
  selectedCount: vue.ComputedRef<number>;
1086
+ select: (key: DataTableRowKey) => boolean;
1087
+ unselect: (key: DataTableRowKey) => void;
882
1088
  selectAll: () => void;
883
1089
  clearAll: () => void;
884
1090
  getSelectedRows: () => DataRecord[];
885
- } | undefined;
1091
+ };
886
1092
  }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
887
1093
  save: (rowData: DataRecord, rowIndex: number, columnKey?: string | undefined) => any;
888
1094
  cancel: (rowData: DataRecord, rowIndex: number) => any;
889
1095
  "pagination-change": (...args: unknown[]) => any;
890
1096
  "row-delete": (...args: unknown[]) => any;
891
- "expand-change": (expandedKeys: DataTableRowKey$1[], row?: DataRecord | undefined, expanded?: boolean | undefined) => any;
892
- "selection-change": (checkedKeys: DataTableRowKey$1[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey$1, DataTableRowKey$1[]> | undefined) => any;
893
- "child-selection-change": (parentKey: DataTableRowKey$1, childKeys: DataTableRowKey$1[], childRows: any[]) => any;
894
- "parent-child-link-change": (parentKey: DataTableRowKey$1, shouldSelect: boolean) => any;
1097
+ "batch-action-error": (error: unknown, actionKey: string) => any;
1098
+ "row-key-error": (issues: TableRowKeyIssue<DataRecord>[]) => any;
1099
+ "expand-change": (expandedKeys: DataTableRowKey[], row?: DataRecord | undefined, expanded?: boolean | undefined) => any;
1100
+ "selection-change": (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => any;
1101
+ "child-selection-change": (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => any;
1102
+ "parent-child-link-change": (parentKey: DataTableRowKey, shouldSelect: boolean) => any;
895
1103
  "update:data": (data: DataRecord[]) => any;
1104
+ "edit-error": (error: unknown) => any;
896
1105
  "row-add": (newRow: DataRecord) => any;
897
1106
  "row-copy": (originalRow: DataRecord, newRow: DataRecord) => any;
898
1107
  "row-move": (row: DataRecord, fromIndex: number, toIndex: number) => any;
899
- "row-selection-change": (selectedKey: DataTableRowKey$1 | null, selectedRow: DataRecord | null) => any;
1108
+ "row-selection-change": (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => any;
900
1109
  "view-detail": (data: DataRecord) => any;
901
1110
  "column-change": (columns: TableColumn[]) => any;
902
1111
  }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
@@ -904,20 +1113,23 @@ declare const __VLS_base: vue.DefineComponent<__VLS_Props, {
904
1113
  onCancel?: ((rowData: DataRecord, rowIndex: number) => any) | undefined;
905
1114
  "onPagination-change"?: ((...args: unknown[]) => any) | undefined;
906
1115
  "onRow-delete"?: ((...args: unknown[]) => any) | undefined;
907
- "onExpand-change"?: ((expandedKeys: DataTableRowKey$1[], row?: DataRecord | undefined, expanded?: boolean | undefined) => any) | undefined;
908
- "onSelection-change"?: ((checkedKeys: DataTableRowKey$1[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey$1, DataTableRowKey$1[]> | undefined) => any) | undefined;
909
- "onChild-selection-change"?: ((parentKey: DataTableRowKey$1, childKeys: DataTableRowKey$1[], childRows: any[]) => any) | undefined;
910
- "onParent-child-link-change"?: ((parentKey: DataTableRowKey$1, shouldSelect: boolean) => any) | undefined;
1116
+ "onBatch-action-error"?: ((error: unknown, actionKey: string) => any) | undefined;
1117
+ "onRow-key-error"?: ((issues: TableRowKeyIssue<DataRecord>[]) => any) | undefined;
1118
+ "onExpand-change"?: ((expandedKeys: DataTableRowKey[], row?: DataRecord | undefined, expanded?: boolean | undefined) => any) | undefined;
1119
+ "onSelection-change"?: ((checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections?: Map<DataTableRowKey, DataTableRowKey[]> | undefined) => any) | undefined;
1120
+ "onChild-selection-change"?: ((parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => any) | undefined;
1121
+ "onParent-child-link-change"?: ((parentKey: DataTableRowKey, shouldSelect: boolean) => any) | undefined;
911
1122
  "onUpdate:data"?: ((data: DataRecord[]) => any) | undefined;
1123
+ "onEdit-error"?: ((error: unknown) => any) | undefined;
912
1124
  "onRow-add"?: ((newRow: DataRecord) => any) | undefined;
913
1125
  "onRow-copy"?: ((originalRow: DataRecord, newRow: DataRecord) => any) | undefined;
914
1126
  "onRow-move"?: ((row: DataRecord, fromIndex: number, toIndex: number) => any) | undefined;
915
- "onRow-selection-change"?: ((selectedKey: DataTableRowKey$1 | null, selectedRow: DataRecord | null) => any) | undefined;
1127
+ "onRow-selection-change"?: ((selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => any) | undefined;
916
1128
  "onView-detail"?: ((data: DataRecord) => any) | undefined;
917
1129
  "onColumn-change"?: ((columns: TableColumn[]) => any) | undefined;
918
1130
  }>, {
919
1131
  config: TableConfig;
920
- rowKey: (row: DataRecord) => DataTableRowKey$1;
1132
+ rowKey: string | ((row: DataRecord) => DataTableRowKey);
921
1133
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
922
1134
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
923
1135
  declare const _default: typeof __VLS_export;
@@ -927,22 +1139,30 @@ type __VLS_WithSlots<T, S> = T & {
927
1139
  };
928
1140
  };
929
1141
  //#endregion
1142
+ //#region src/components/C_Table/helpers.d.ts
1143
+ /** Type-safe identity helper that rejects misspelled business field keys. */
1144
+ declare function defineTableColumns<T extends object>(columns: StrictTableColumn<T>[]): StrictTableColumn<T>[];
1145
+ /** Preserve row types across edit, action, summary and batch callbacks. */
1146
+ declare function defineTableConfig<T extends object>(config: TableConfig<T>): TableConfig<T>;
1147
+ /** Find missing and duplicate row keys before stateful table features consume them. */
1148
+ declare function validateTableRowKeys<T extends object>(data: readonly T[], rowKey: (row: T) => DataTableRowKey | null | undefined): TableRowKeyIssue<T>[];
1149
+ //#endregion
930
1150
  //#region src/components/C_Table/composables/useTableColumns.d.ts
931
1151
  /** useTableColumns 中对 tableManager 的最小依赖接口 */
932
1152
  interface TableManagerRef {
933
1153
  editStates: {
934
1154
  cellEdit: {
935
- isEditingCell: (rowKey: DataTableRowKey$1, columnKey: string) => boolean;
936
- getEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string) => unknown;
937
- updateEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string, value: unknown) => void;
1155
+ isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1156
+ getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
1157
+ updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
938
1158
  saveEditCell: () => Promise<unknown>;
939
1159
  cancelEditCell: () => void;
940
- startEditCell: (rowKey: DataTableRowKey$1, columnKey: string) => void;
1160
+ startEditCell: (rowKey: DataTableRowKey, columnKey: string) => void;
941
1161
  };
942
1162
  rowEdit: {
943
- isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
944
- getEditingRowData: (rowKey: DataTableRowKey$1) => DataRecord | undefined;
945
- updateEditingRowData: (rowKey: DataTableRowKey$1, field: string, value: unknown) => void;
1163
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
1164
+ getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
1165
+ updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
946
1166
  };
947
1167
  };
948
1168
  dynamicRowsState?: {
@@ -965,7 +1185,7 @@ interface UseTableColumnsOptions {
965
1185
  /** 用户设定的 scrollX */
966
1186
  scrollX?: number | string;
967
1187
  /** 行键获取函数 */
968
- rowKey: (row: DataRecord) => DataTableRowKey$1;
1188
+ rowKey: (row: DataRecord) => DataTableRowKey;
969
1189
  /** 表格管理器 */
970
1190
  tableManager: TableManagerRef;
971
1191
  /** 操作列渲染函数 */
@@ -976,6 +1196,8 @@ interface UseTableColumnsOptions {
976
1196
  isRowEditMode: () => boolean;
977
1197
  isCellEditMode: () => boolean;
978
1198
  }>;
1199
+ /** 是否渲染操作列 */
1200
+ showActionsColumn: ComputedRef<boolean>;
979
1201
  }
980
1202
  interface UseTableColumnsReturn {
981
1203
  reactiveColumns: Ref<TableColumn[]>;
@@ -1000,9 +1222,9 @@ interface RowValidationError {
1000
1222
  */
1001
1223
  interface RowEditOptions {
1002
1224
  data: () => DataRecord[];
1003
- rowKey: (row: DataRecord) => DataTableRowKey$1;
1225
+ rowKey: (row: DataRecord) => DataTableRowKey;
1004
1226
  onSave?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
1005
- onCancel?: (rowData: DataRecord, rowIndex: number) => void;
1227
+ onCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
1006
1228
  /** 列配置(用于提取校验规则) */
1007
1229
  columns?: () => TableColumn[];
1008
1230
  }
@@ -1010,9 +1232,11 @@ interface RowEditOptions {
1010
1232
  * 可编辑行组合函数,提供表格整行的编辑功能
1011
1233
  */
1012
1234
  declare function useRowEdit(options: RowEditOptions): {
1013
- editingRowKey: vue.Ref<DataTableRowKey$1 | null, DataTableRowKey$1 | null>;
1014
- isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
1015
- startEditRow: (rowKey: DataTableRowKey$1) => void;
1235
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1236
+ editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
1237
+ isSaving: vue.Ref<boolean, boolean>;
1238
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
1239
+ startEditRow: (rowKey: DataTableRowKey) => boolean;
1016
1240
  cancelEditRow: () => Promise<void>;
1017
1241
  saveEditRow: () => Promise<{
1018
1242
  updatedData: DataRecord;
@@ -1026,9 +1250,9 @@ declare function useRowEdit(options: RowEditOptions): {
1026
1250
  field: string;
1027
1251
  message: string;
1028
1252
  }[]>;
1029
- getEditingRowData: (rowKey: DataTableRowKey$1) => DataRecord;
1030
- updateEditingRowData: (rowKey: DataTableRowKey$1, field: string, value: unknown) => void;
1031
- findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
1253
+ getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
1254
+ updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
1255
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1032
1256
  };
1033
1257
  //#endregion
1034
1258
  //#region src/components/C_Table/composables/useTableManager.d.ts
@@ -1036,18 +1260,24 @@ declare function useRowEdit(options: RowEditOptions): {
1036
1260
  * 表格管理器配置接口
1037
1261
  */
1038
1262
  interface TableManagerConfig {
1263
+ feedback?: ComponentFeedback;
1264
+ locale?: ComponentLocale;
1039
1265
  editable: boolean;
1040
1266
  editMode: string;
1041
1267
  showRowActions: boolean;
1042
1268
  modalTitle: string;
1043
1269
  modalWidth: number;
1270
+ onEditSave?: (rowData: DataRecord, rowIndex: number, columnKey?: string) => void | Promise<void>;
1271
+ onEditCancel?: (rowData: DataRecord, rowIndex: number) => void | Promise<void>;
1272
+ onEditError?: (error: unknown) => void;
1044
1273
  expandable: boolean;
1045
- defaultExpandedKeys?: DataTableRowKey$1[];
1274
+ defaultExpandedKeys?: DataTableRowKey[];
1046
1275
  onLoadExpandData?: (row: DataRecord) => Promise<any[]> | any[];
1276
+ onExpandError?: (error: unknown, row: DataRecord) => void;
1047
1277
  renderExpandContent?: unknown;
1048
1278
  rowExpandable?: (row: DataRecord) => boolean;
1049
1279
  enableSelection: boolean;
1050
- defaultCheckedKeys?: DataTableRowKey$1[];
1280
+ defaultCheckedKeys?: DataTableRowKey[];
1051
1281
  rowCheckable?: (row: DataRecord) => boolean;
1052
1282
  maxSelection?: number;
1053
1283
  enableChildSelection: boolean;
@@ -1060,10 +1290,10 @@ interface TableManagerConfig {
1060
1290
  * 表格管理器参数接口
1061
1291
  */
1062
1292
  interface TableManagerParams {
1063
- config: TableManagerConfig;
1293
+ config: MaybeRefOrGetter<TableManagerConfig>;
1064
1294
  data: () => DataRecord[];
1065
- rowKey: (row: DataRecord) => DataTableRowKey$1;
1066
- emit: (...args: any[]) => void;
1295
+ rowKey: (row: DataRecord) => DataTableRowKey;
1296
+ emit: (...args: any[]) => unknown;
1067
1297
  /** 列配置(用于编辑校验) */
1068
1298
  columns?: () => TableColumn[];
1069
1299
  }
@@ -1072,12 +1302,12 @@ interface TableManagerParams {
1072
1302
  */
1073
1303
  interface EventHandlers {
1074
1304
  onSave: (rowData: DataRecord, rowIndex: number, columnKey?: string) => Promise<void>;
1075
- onCancel: (rowData: DataRecord, rowIndex: number) => void;
1076
- onExpandChange: (keys: DataTableRowKey$1[], row?: DataRecord, expanded?: boolean) => void;
1077
- onSelectionChange: (checkedKeys: DataTableRowKey$1[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey$1, DataTableRowKey$1[]>) => void;
1078
- onChildSelectionChange: (parentKey: DataTableRowKey$1, childKeys: DataTableRowKey$1[], childRows: DataRecord[]) => void;
1305
+ onCancel: (rowData: DataRecord, rowIndex: number) => Promise<void>;
1306
+ onExpandChange: (keys: DataTableRowKey[], row?: DataRecord, expanded?: boolean) => void;
1307
+ onSelectionChange: (checkedKeys: DataTableRowKey[], checkedRows: DataRecord[], childSelections: Map<DataTableRowKey, DataTableRowKey[]>) => void;
1308
+ onChildSelectionChange: (parentKey: DataTableRowKey, childKeys: DataTableRowKey[], childRows: DataRecord[]) => void;
1079
1309
  onRowChange: (data: DataRecord[]) => void;
1080
- onRowSelectionChange: (selectedKey: DataTableRowKey$1 | null, selectedRow: DataRecord | null) => void;
1310
+ onRowSelectionChange: (selectedKey: DataTableRowKey | null, selectedRow: DataRecord | null) => void;
1081
1311
  onRowAdd: (newRow: DataRecord) => void;
1082
1312
  onRowDelete: (deletedRow: DataRecord, index: number) => void;
1083
1313
  onRowCopy: (originalRow: DataRecord, newRow: DataRecord) => void;
@@ -1089,9 +1319,11 @@ interface EventHandlers {
1089
1319
  declare function useTableManager(params: TableManagerParams): {
1090
1320
  editStates: {
1091
1321
  rowEdit: {
1092
- editingRowKey: vue.Ref<DataTableRowKey$1 | null, DataTableRowKey$1 | null>;
1093
- isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
1094
- startEditRow: (rowKey: DataTableRowKey$1) => void;
1322
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1323
+ editingData: vue.Ref<Record<string, DataRecord>, Record<string, DataRecord>>;
1324
+ isSaving: vue.Ref<boolean, boolean>;
1325
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
1326
+ startEditRow: (rowKey: DataTableRowKey) => boolean;
1095
1327
  cancelEditRow: () => Promise<void>;
1096
1328
  saveEditRow: () => Promise<{
1097
1329
  updatedData: DataRecord;
@@ -1105,23 +1337,25 @@ declare function useTableManager(params: TableManagerParams): {
1105
1337
  field: string;
1106
1338
  message: string;
1107
1339
  }[]>;
1108
- getEditingRowData: (rowKey: DataTableRowKey$1) => DataRecord;
1109
- updateEditingRowData: (rowKey: DataTableRowKey$1, field: string, value: unknown) => void;
1110
- findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
1340
+ getEditingRowData: (rowKey: DataTableRowKey) => DataRecord | undefined;
1341
+ updateEditingRowData: (rowKey: DataTableRowKey, field: string, value: unknown) => void;
1342
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1111
1343
  };
1112
1344
  cellEdit: {
1113
1345
  editingCell: vue.Ref<{
1114
- rowKey: DataTableRowKey$1 | null;
1346
+ rowKey: DataTableRowKey | null;
1115
1347
  columnKey: string | null;
1116
1348
  }, {
1117
- rowKey: DataTableRowKey$1 | null;
1349
+ rowKey: DataTableRowKey | null;
1118
1350
  columnKey: string | null;
1119
1351
  } | {
1120
- rowKey: DataTableRowKey$1 | null;
1352
+ rowKey: DataTableRowKey | null;
1121
1353
  columnKey: string | null;
1122
1354
  }>;
1123
- isEditingCell: (rowKey: DataTableRowKey$1, columnKey: string) => boolean;
1124
- startEditCell: (rowKey: DataTableRowKey$1, columnKey: string) => void;
1355
+ editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
1356
+ isSaving: vue.Ref<boolean, boolean>;
1357
+ isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1358
+ startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1125
1359
  saveEditCell: () => Promise<{
1126
1360
  updatedData: {
1127
1361
  [x: string]: unknown;
@@ -1132,56 +1366,60 @@ declare function useTableManager(params: TableManagerParams): {
1132
1366
  cancelEditCell: () => void;
1133
1367
  validateCell: () => Promise<boolean>;
1134
1368
  cellValidationError: vue.Ref<string | null, string | null>;
1135
- getEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string) => unknown;
1136
- updateEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string, value: unknown) => void;
1137
- findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
1369
+ getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
1370
+ updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
1371
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1138
1372
  };
1139
1373
  modalEdit: {
1140
1374
  isModalVisible: vue.Ref<boolean, boolean>;
1141
- editingData: vue.Ref<Record<string, any>, Record<string, any>>;
1142
- editingRowKey: vue.Ref<DataTableRowKey$1 | null, DataTableRowKey$1 | null>;
1375
+ isSaving: vue.Ref<boolean, boolean>;
1376
+ editingData: vue.Ref<DataRecord, DataRecord>;
1377
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1143
1378
  editingRowIndex: vue.ComputedRef<number>;
1144
- startEdit: (rowKey: DataTableRowKey$1) => void;
1145
- saveEdit: (formData?: Record<string, any>) => Promise<void>;
1146
- cancelEdit: () => Promise<void>;
1147
- updateEditingData: (data: Record<string, any>) => void;
1148
- resetEditingState: () => void;
1149
- isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
1150
- getEditingRowData: (rowKey: DataTableRowKey$1) => Record<string, any> | null;
1379
+ startEdit: (rowKey: DataTableRowKey, sourceData?: DataRecord | undefined) => boolean;
1380
+ saveEdit: (formData?: DataRecord | undefined) => Promise<{
1381
+ updatedData: any;
1382
+ rowIndex: number;
1383
+ } | undefined>;
1384
+ cancelEdit: () => Promise<boolean>;
1385
+ updateEditingData: (data: DataRecord) => boolean;
1386
+ resetEditingState: () => boolean;
1387
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
1388
+ getEditingRowData: (rowKey: DataTableRowKey) => any;
1151
1389
  };
1152
1390
  };
1153
- expandState: UseTableExpandReturn<DataRecord, DataRecord> | null;
1154
- dynamicRowsState: DynamicRowsReturn<DataRecord> | null;
1391
+ expandState: UseTableExpandReturn<DataRecord, DataRecord>;
1392
+ dynamicRowsState: DynamicRowsReturn<DataRecord>;
1155
1393
  stateManager: {
1156
1394
  edit: {
1157
- /** 开始编辑 */start(rowKey: DataTableRowKey$1, columnKey?: string): void; /** 取消编辑 */
1395
+ /** 开始编辑 */start(rowKey: DataTableRowKey, columnKey?: string): void; /** 取消编辑 */
1158
1396
  cancel(): void; /** 保存编辑 */
1159
1397
  save(): Promise<void>; /** 是否正在编辑 */
1160
- isEditing(rowKey: DataTableRowKey$1, columnKey?: string): boolean; /** 获取当前编辑数据 */
1161
- getEditingData(): DataRecord | vue.Ref<Record<string, any>, Record<string, any>> | null;
1398
+ isEditing(rowKey: DataTableRowKey, columnKey?: string): boolean; /** 获取当前编辑数据 */
1399
+ getEditingData(): DataRecord | null | undefined;
1162
1400
  };
1163
1401
  expand: {
1164
- /** 展开行 */row(rowKey: DataTableRowKey$1): Promise<void>; /** 折叠行 */
1165
- collapse(rowKey: DataTableRowKey$1): void; /** 展开折叠切换 */
1166
- toggle(rowKey: DataTableRowKey$1): Promise<void>; /** 展开所有行 */
1402
+ /** 展开行 */row(rowKey: DataTableRowKey): Promise<void>; /** 折叠行 */
1403
+ collapse(rowKey: DataTableRowKey): void; /** 展开折叠切换 */
1404
+ toggle(rowKey: DataTableRowKey): Promise<void>; /** 展开所有行 */
1167
1405
  all(): Promise<void>; /** 折叠所有行 */
1168
1406
  collapseAll(): void; /** 检查行是否已展开 */
1169
- isExpanded(rowKey: DataTableRowKey$1): boolean;
1407
+ isExpanded(rowKey: DataTableRowKey): boolean;
1170
1408
  };
1171
1409
  selection: {
1172
- /** 选择指定行 */select(rowKey: DataTableRowKey$1): void; /** 取消选择指定行 */
1173
- unselect(rowKey: DataTableRowKey$1): void; /** 选择所有行 */
1410
+ /** 选择指定行 */select(rowKey: DataTableRowKey): void; /** 取消选择指定行 */
1411
+ unselect(rowKey: DataTableRowKey): void; /** 选择所有行 */
1174
1412
  all(): void; /** 清除所有行选择 */
1175
1413
  clear(): void; /** 检查行是否已选择 */
1176
- isSelected(rowKey: DataTableRowKey$1): boolean; /** 获取所有已选择的行数据 */
1414
+ isSelected(rowKey: DataTableRowKey): boolean; /** 获取所有已选择的行数据 */
1177
1415
  getSelected(): DataRecord[];
1178
1416
  };
1179
1417
  childSelection: {
1180
- /** 选择指定父行下的子行 */select(parentKey: DataTableRowKey$1, childKey: DataTableRowKey$1): void; /** 取消选择指定父行下的子行 */
1181
- unselect(parentKey: DataTableRowKey$1, childKey: DataTableRowKey$1): void; /** 选择指定父行下的所有子行 */
1182
- selectAll(parentKey: DataTableRowKey$1): void; /** 清除指定父行下的所有子行选择 */
1183
- clear(parentKey: DataTableRowKey$1): void; /** 获取指定父行下所有已选择的子行数据 */
1184
- getSelected(parentKey: DataTableRowKey$1): DataRecord[];
1418
+ /** 选择指定父行下的子行 */select(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 取消选择指定父行下的子行 */
1419
+ unselect(parentKey: DataTableRowKey, childKey: DataTableRowKey): void; /** 选择指定父行下的所有子行 */
1420
+ selectAll(parentKey: DataTableRowKey): void; /** 清除指定父行下的所有子行选择 */
1421
+ clear(parentKey: DataTableRowKey): void; /** 获取指定父行下所有已选择的子行数据 */
1422
+ getSelected(parentKey: DataTableRowKey): DataRecord[];
1185
1423
  };
1186
1424
  dynamicRows: {
1187
1425
  /** 添加行 */add(): void; /** 插入行 */
@@ -1197,8 +1435,8 @@ declare function useTableManager(params: TableManagerParams): {
1197
1435
  }; /** 清除所有选择 */
1198
1436
  clearAllSelections(): void;
1199
1437
  };
1200
- expandedKeys: vue.ComputedRef<DataTableRowKey$1[]>;
1201
- checkedKeys: vue.ComputedRef<DataTableRowKey$1[]>;
1438
+ expandedKeys: vue.ComputedRef<DataTableRowKey[]>;
1439
+ checkedKeys: vue.ComputedRef<DataTableRowKey[]>;
1202
1440
  eventHandlers: EventHandlers;
1203
1441
  };
1204
1442
  //#endregion
@@ -1206,34 +1444,35 @@ declare function useTableManager(params: TableManagerParams): {
1206
1444
  /**
1207
1445
  *
1208
1446
  */
1209
- declare function useTableExpand<T extends DataRecord = Record<string, any>, C = any>(options: UseTableExpandOptions<T, C>): UseTableExpandReturn<T, C>;
1447
+ declare function useTableExpand<T extends object = DataRecord, C = DataRecord>(options: UseTableExpandOptions<T, C>): UseTableExpandReturn<T, C>;
1210
1448
  //#endregion
1211
1449
  //#region src/components/C_Table/composables/useTableActions.d.ts
1212
1450
  /**
1213
1451
  * 表格操作Hook
1214
1452
  */
1215
- declare function useTableActions<T extends DataRecord = DataRecord>(options: UseTableActionsOptions<T>): UseTableActionsReturn<T>;
1453
+ declare function useTableActions<T extends object = DataRecord>(options: UseTableActionsOptions<T>): UseTableActionsReturn<T>;
1216
1454
  //#endregion
1217
1455
  //#region src/components/C_Table/composables/usePagination.d.ts
1218
- interface UsePaginationOptions<T extends DataRecord = DataRecord> {
1456
+ interface UsePaginationOptions<T extends object = DataRecord> {
1219
1457
  /** 数据源 - 支持函数、Ref 或 ComputedRef */
1220
1458
  data: (() => T[]) | Ref<T[]> | ComputedRef<T[]>;
1221
1459
  /** 分页配置 */
1222
1460
  config: Ref<PaginationConfig | null> | ComputedRef<PaginationConfig | null>;
1223
1461
  /** 事件触发器 */
1224
- emit?: (event: "pagination-change", page: number, pageSize: number) => void;
1462
+ emit?: (event: 'pagination-change', page: number, pageSize: number) => void;
1225
1463
  }
1226
- interface UsePaginationReturn<T extends DataRecord = DataRecord> {
1464
+ interface UsePaginationReturn<T extends object = DataRecord> {
1227
1465
  currentPage: Ref<number>;
1228
1466
  currentPageSize: Ref<number>;
1229
1467
  paginatedData: ComputedRef<T[]>;
1230
- paginationConfig: ComputedRef<any>;
1468
+ paginationConfig: ComputedRef<PaginationProps | null>;
1231
1469
  handlePageChange: (page: number) => void;
1232
1470
  handlePageSizeChange: (pageSize: number) => void;
1233
1471
  resetToFirstPage: () => void;
1234
1472
  getTotalPages: () => number;
1235
1473
  }
1236
- declare function usePagination<T extends DataRecord = DataRecord>(options: UsePaginationOptions<T>): UsePaginationReturn<T>;
1474
+ /** Local and remote pagination with stable controlled-state synchronization. */
1475
+ declare function usePagination<T extends object = DataRecord>(options: UsePaginationOptions<T>): UsePaginationReturn<T>;
1237
1476
  //#endregion
1238
1477
  //#region src/components/C_Table/composables/useCellEdit.d.ts
1239
1478
  /**
@@ -1241,7 +1480,7 @@ declare function usePagination<T extends DataRecord = DataRecord>(options: UsePa
1241
1480
  */
1242
1481
  interface CellEditOptions {
1243
1482
  data: () => DataRecord[];
1244
- rowKey: (row: DataRecord) => DataTableRowKey$1;
1483
+ rowKey: (row: DataRecord) => DataTableRowKey;
1245
1484
  onSave?: (rowData: DataRecord, rowIndex: number, columnKey: string) => void | Promise<void>;
1246
1485
  /** 列配置(用于提取校验规则) */
1247
1486
  columns?: () => TableColumn[];
@@ -1251,17 +1490,19 @@ interface CellEditOptions {
1251
1490
  */
1252
1491
  declare function useCellEdit(options: CellEditOptions): {
1253
1492
  editingCell: vue.Ref<{
1254
- rowKey: DataTableRowKey$1 | null;
1493
+ rowKey: DataTableRowKey | null;
1255
1494
  columnKey: string | null;
1256
1495
  }, {
1257
- rowKey: DataTableRowKey$1 | null;
1496
+ rowKey: DataTableRowKey | null;
1258
1497
  columnKey: string | null;
1259
1498
  } | {
1260
- rowKey: DataTableRowKey$1 | null;
1499
+ rowKey: DataTableRowKey | null;
1261
1500
  columnKey: string | null;
1262
1501
  }>;
1263
- isEditingCell: (rowKey: DataTableRowKey$1, columnKey: string) => boolean;
1264
- startEditCell: (rowKey: DataTableRowKey$1, columnKey: string) => void;
1502
+ editingData: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
1503
+ isSaving: vue.Ref<boolean, boolean>;
1504
+ isEditingCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1505
+ startEditCell: (rowKey: DataTableRowKey, columnKey: string) => boolean;
1265
1506
  saveEditCell: () => Promise<{
1266
1507
  updatedData: {
1267
1508
  [x: string]: unknown;
@@ -1272,37 +1513,209 @@ declare function useCellEdit(options: CellEditOptions): {
1272
1513
  cancelEditCell: () => void;
1273
1514
  validateCell: () => Promise<boolean>;
1274
1515
  cellValidationError: vue.Ref<string | null, string | null>;
1275
- getEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string) => unknown;
1276
- updateEditingCellValue: (rowKey: DataTableRowKey$1, columnKey: string, value: unknown) => void;
1277
- findRowData: (rowKey: DataTableRowKey$1) => DataRecord | null | undefined;
1516
+ getEditingCellValue: (rowKey: DataTableRowKey, columnKey: string) => unknown;
1517
+ updateEditingCellValue: (rowKey: DataTableRowKey, columnKey: string, value: unknown) => void;
1518
+ findRowData: (rowKey: DataTableRowKey) => DataRecord | null | undefined;
1278
1519
  };
1279
1520
  //#endregion
1280
1521
  //#region src/components/C_Table/composables/useModalEdit.d.ts
1281
- /**
1282
- * 模态框编辑配置选项
1283
- */
1284
- interface ModalEditOptions<T = Record<string, any>> {
1522
+ interface ModalEditOptions<T extends object = DataRecord> {
1285
1523
  data: () => T[];
1286
- rowKey: (row: T) => DataTableRowKey$1;
1287
- onSave?: (editingData: Record<string, any>, rowIndex: number) => void | Promise<void>;
1524
+ rowKey: (row: T) => DataTableRowKey;
1525
+ onSave?: (editingData: T, rowIndex: number) => void | Promise<void>;
1288
1526
  onCancel?: (originalData: T, rowIndex: number) => void | Promise<void>;
1289
1527
  }
1290
- /**
1291
- * 模态框编辑组合函数,提供弹窗形式的数据编辑功能
1292
- */
1293
- declare function useModalEdit<T = Record<string, any>>(options: ModalEditOptions<T>): {
1528
+ /** Modal edit state with lossless snapshots and retry-safe async saves. */
1529
+ declare function useModalEdit<T extends object = DataRecord>(options: ModalEditOptions<T>): {
1294
1530
  isModalVisible: vue.Ref<boolean, boolean>;
1295
- editingData: vue.Ref<Record<string, any>, Record<string, any>>;
1296
- editingRowKey: vue.Ref<DataTableRowKey$1 | null, DataTableRowKey$1 | null>;
1531
+ isSaving: vue.Ref<boolean, boolean>;
1532
+ editingData: [T] extends [vue.Ref<any, any>] ? _vue_shared0.IfAny<T, vue.Ref<T, T>, T> : vue.Ref<vue.UnwrapRef<T>, T | vue.UnwrapRef<T>>;
1533
+ editingRowKey: vue.Ref<DataTableRowKey | null, DataTableRowKey | null>;
1297
1534
  editingRowIndex: vue.ComputedRef<number>;
1298
- startEdit: (rowKey: DataTableRowKey$1) => void;
1299
- saveEdit: (formData?: Record<string, any>) => Promise<void>;
1300
- cancelEdit: () => Promise<void>;
1301
- updateEditingData: (data: Record<string, any>) => void;
1302
- resetEditingState: () => void;
1303
- isEditingRow: (rowKey: DataTableRowKey$1) => boolean;
1304
- getEditingRowData: (rowKey: DataTableRowKey$1) => Record<string, any> | null;
1535
+ startEdit: (rowKey: DataTableRowKey, sourceData?: T) => boolean;
1536
+ saveEdit: (formData?: T) => Promise<{
1537
+ updatedData: any;
1538
+ rowIndex: number;
1539
+ } | undefined>;
1540
+ cancelEdit: () => Promise<boolean>;
1541
+ updateEditingData: (data: T) => boolean;
1542
+ resetEditingState: () => boolean;
1543
+ isEditingRow: (rowKey: DataTableRowKey) => boolean;
1544
+ getEditingRowData: (rowKey: DataTableRowKey) => any;
1545
+ };
1546
+ //#endregion
1547
+ //#region src/plugins/highlight.d.ts
1548
+ interface HighlightPluginOptions {
1549
+ autoDetect?: boolean;
1550
+ extraLanguages?: string[];
1551
+ /** Enable lifecycle diagnostics through the supplied logger. */
1552
+ debug?: boolean;
1553
+ logger?: Pick<Console, 'info' | 'warn' | 'error'>;
1554
+ onError?: (error: unknown, context: {
1555
+ source: 'language-loader';
1556
+ language: string;
1557
+ }) => void;
1558
+ }
1559
+ /**
1560
+ * * @description 获取 highlight 功能的 API 接口
1561
+ * ! @return highlight API 对象,包含所有可用方法
1562
+ */
1563
+ declare const useHighlight: (options?: HighlightPluginOptions) => {
1564
+ getHljs: () => HLJSApi;
1565
+ loadLanguage: (language: string) => Promise<boolean>;
1566
+ loadLanguages: (languages: string[]) => Promise<string[]>;
1567
+ getLoadedLanguages: () => string[];
1568
+ };
1569
+ /**
1570
+ * * @description 安装 highlight.js 插件到 Vue 应用
1571
+ * ? @param app - Vue 应用实例
1572
+ * ? @param options - 插件配置选项
1573
+ * ! @return void
1574
+ */
1575
+ declare function setupHighlight(app: App, options?: HighlightPluginOptions): void;
1576
+ declare global {
1577
+ interface Window {
1578
+ hljs: HLJSApi;
1579
+ }
1580
+ }
1581
+ //#endregion
1582
+ //#region src/utils/storage.d.ts
1583
+ /** SSR-safe localStorage helpers. Storage failures never break component state. */
1584
+ /** Store a value. Returns false when storage is unavailable or full. */
1585
+ declare function setItem<T>(key: string, value: T): boolean;
1586
+ /** Read and safely deserialize a value. */
1587
+ declare function getItem<T = unknown>(key: string): T | null;
1588
+ /** Remove one value. Returns whether the storage operation was available. */
1589
+ declare function removeItem(key: string): boolean;
1590
+ /**
1591
+ * Clear localStorage for backward compatibility.
1592
+ * Prefer `removeItem` in components so unrelated application data is preserved.
1593
+ */
1594
+ declare function removeAllItem(): boolean;
1595
+ //#endregion
1596
+ //#region src/components/C_Table/composables/useTableQuery.d.ts
1597
+ interface TableQueryContext<Q> {
1598
+ page: number;
1599
+ pageSize: number;
1600
+ query: Readonly<Q>;
1601
+ signal: AbortSignal;
1602
+ }
1603
+ interface TableQueryResult<T extends object> {
1604
+ data: readonly T[];
1605
+ total: number;
1606
+ }
1607
+ interface UseTableQueryOptions<T extends object, Q extends object> {
1608
+ request: (context: TableQueryContext<Q>) => Promise<TableQueryResult<T>>;
1609
+ initialQuery: Q;
1610
+ columns?: MaybeRefOrGetter<TableColumn<T>[] | undefined>;
1611
+ config?: MaybeRefOrGetter<TableConfig<T> | undefined>;
1612
+ rowKey?: TableRowKey<T>;
1613
+ initialPage?: number;
1614
+ pageSize?: number;
1615
+ immediate?: boolean;
1616
+ onError?: (error: unknown) => void;
1617
+ onSuccess?: (result: TableQueryResult<T>) => void;
1618
+ }
1619
+ /**
1620
+ * Remote table controller with latest-request-wins cancellation and ready-to-bind props.
1621
+ */
1622
+ declare function useTableQuery<T extends object, Q extends object = Record<string, unknown>>(options: UseTableQueryOptions<T, Q>): {
1623
+ data: vue.ShallowRef<T[], T[]>;
1624
+ loading: vue.Ref<boolean, boolean>;
1625
+ error: vue.ShallowRef<unknown, unknown>;
1626
+ total: vue.Ref<number, number>;
1627
+ page: vue.Ref<number, number>;
1628
+ pageSize: vue.Ref<number, number>;
1629
+ query: vue.Ref<any, any> extends Q ? Q extends Q & vue.Ref<any, any> ? _vue_shared0.IfAny<Q, vue.ShallowRef<Q, Q>, Q> : vue.ShallowRef<Q, Q> : vue.ShallowRef<Q, Q>;
1630
+ tableProps: vue.ComputedRef<{
1631
+ data: T[];
1632
+ loading: boolean;
1633
+ columns: TableColumn<T>[] | undefined;
1634
+ rowKey: TableRowKey<T>;
1635
+ config: {
1636
+ pagination: {
1637
+ enabled: true;
1638
+ remote: true;
1639
+ page: number;
1640
+ pageSize: number;
1641
+ total: number;
1642
+ showSizePicker?: boolean;
1643
+ showQuickJumper?: boolean;
1644
+ pageSizes?: number[];
1645
+ simple?: boolean;
1646
+ size?: "small" | "medium" | "large";
1647
+ };
1648
+ feedback?: ComponentFeedback;
1649
+ locale?: ComponentLocale;
1650
+ validateRowKeys?: boolean;
1651
+ edit?: boolean | EditConfig<T> | undefined;
1652
+ actions?: SimpleTableActions<T> | undefined;
1653
+ expand?: boolean | ExpandConfig$1<T> | undefined;
1654
+ selection?: boolean | SelectionConfig$1<T> | undefined;
1655
+ dynamicRows?: boolean | DynamicRowsOptions<T> | undefined;
1656
+ toolbar?: ToolbarConfig;
1657
+ display?: DisplayConfig;
1658
+ virtualScroll?: VirtualScrollConfig | boolean;
1659
+ summary?: SummaryConfig<T> | undefined;
1660
+ columnDrag?: ColumnDragConfig | boolean;
1661
+ tree?: TreeConfig | boolean;
1662
+ rowDrag?: RowDragConfig | boolean;
1663
+ crossPageSelection?: CrossPageSelectionConfig | boolean;
1664
+ export?: ExportConfig;
1665
+ persistKey?: string;
1666
+ formatterConfig?: FormatterConfig;
1667
+ error?: ErrorConfig;
1668
+ batchActions?: BatchActionsConfig<T> | undefined;
1669
+ };
1670
+ }>;
1671
+ execute: () => Promise<boolean>;
1672
+ reload: () => Promise<boolean>;
1673
+ setQuery: (next: Partial<Q> | ((current: Readonly<Q>) => Q), reload?: boolean) => Promise<boolean>;
1674
+ resetQuery: (reload?: boolean) => Promise<boolean>;
1675
+ handlePaginationChange: (nextPage: number, nextPageSize: number) => Promise<boolean>;
1676
+ bindings: vue.ComputedRef<{
1677
+ onPaginationChange: (nextPage: number, nextPageSize: number) => Promise<boolean>;
1678
+ data: T[];
1679
+ loading: boolean;
1680
+ columns: TableColumn<T>[] | undefined;
1681
+ rowKey: TableRowKey<T>;
1682
+ config: {
1683
+ pagination: {
1684
+ enabled: true;
1685
+ remote: true;
1686
+ page: number;
1687
+ pageSize: number;
1688
+ total: number;
1689
+ showSizePicker?: boolean;
1690
+ showQuickJumper?: boolean;
1691
+ pageSizes?: number[];
1692
+ simple?: boolean;
1693
+ size?: "small" | "medium" | "large";
1694
+ };
1695
+ feedback?: ComponentFeedback;
1696
+ locale?: ComponentLocale;
1697
+ validateRowKeys?: boolean;
1698
+ edit?: boolean | EditConfig<T> | undefined;
1699
+ actions?: SimpleTableActions<T> | undefined;
1700
+ expand?: boolean | ExpandConfig$1<T> | undefined;
1701
+ selection?: boolean | SelectionConfig$1<T> | undefined;
1702
+ dynamicRows?: boolean | DynamicRowsOptions<T> | undefined;
1703
+ toolbar?: ToolbarConfig;
1704
+ display?: DisplayConfig;
1705
+ virtualScroll?: VirtualScrollConfig | boolean;
1706
+ summary?: SummaryConfig<T> | undefined;
1707
+ columnDrag?: ColumnDragConfig | boolean;
1708
+ tree?: TreeConfig | boolean;
1709
+ rowDrag?: RowDragConfig | boolean;
1710
+ crossPageSelection?: CrossPageSelectionConfig | boolean;
1711
+ export?: ExportConfig;
1712
+ persistKey?: string;
1713
+ formatterConfig?: FormatterConfig;
1714
+ error?: ErrorConfig;
1715
+ batchActions?: BatchActionsConfig<T> | undefined;
1716
+ };
1717
+ }>;
1718
+ cancel: () => void;
1305
1719
  };
1306
1720
  //#endregion
1307
- export { useDynamicRows as $, useTableGlobalConfig as A, resolveConfig as B, ColumnFormatter as C, TableGlobalConfig as D, TABLE_GLOBAL_CONFIG_KEY as E, SummaryConfig as F, UseCrossPageSelectionReturn as G, exportTableData as H, TableConfig as I, UseRowDragOptions as J, useCrossPageSelection as K, TreeConfig as L, ColumnDragConfig as M, CrudBinding as N, applyFormatter as O, ErrorConfig as P, DynamicRowsReturn as Q, VirtualScrollConfig as R, UseTableExpandReturn as S, FormatterType as T, CrossPageSelectionConfig as U, ExportConfig as V, UseCrossPageSelectionOptions as W, useRowDrag as X, UseRowDragReturn as Y, DynamicRowsOptions as Z, SelectOption as _, useTableExpand as a, TableEmits as b, useTableColumns as c, ColumnWithKey as d, PrintWatermarkOptions as et, DataRecord as f, ParentChildLinkMode as g, PaginationConfig as h, useTableActions as i, BatchActionsConfig as j, mergeGlobalConfig as k, _default as l, MaybeRefLike as m, useCellEdit as n, usePrintWatermark as nt, useTableManager as o, EditMode as p, RowDragConfig as q, usePagination as r, useRowEdit as s, useModalEdit as t, printPresets as tt, ChildSelectionState as u, SimpleTableActions as v, FormatterConfig as w, UseTableExpandOptions as x, TableColumn as y, createEditModeChecker as z };
1308
- //# sourceMappingURL=useModalEdit.d.ts.map
1721
+ export { applyFormatter as $, EditMode as A, PrintWatermarkOptions as At, TableColumn as B, _default as C, RowDragConfig as Ct, ColumnWithKey as D, DynamicRowsOptions as Dt, ChildSelectionState as E, useRowDrag as Et, RenderFunction as F, TableRowKeyIssue as G, TableInstance as H, RowAction as I, ColumnFormatter as J, UseTableExpandOptions as K, SelectOption as L, NormalTableColumn as M, usePrintWatermark as Mt, PaginationConfig as N, CustomAction as O, DynamicRowsReturn as Ot, ParentChildLinkMode as P, TableGlobalConfig as Q, SimpleTableActions as R, validateTableRowKeys as S, useCrossPageSelection as St, BuiltInTableColumn as T, UseRowDragReturn as Tt, TableProps as U, TableEmits as V, TableRowKey as W, FormatterType as X, FormatterConfig as Y, TABLE_GLOBAL_CONFIG_KEY as Z, useTableManager as _, ExportConfig as _t, getItem as a, DisplayConfig as at, defineTableColumns as b, UseCrossPageSelectionOptions as bt, setItem as c, ExpandConfig$1 as ct, useHighlight as d, TableConfig as dt, mergeGlobalConfig as et, useModalEdit as f, ToolbarConfig as ft, useTableExpand as g, resolveConfig as gt, useTableActions as h, createEditModeChecker as ht, useTableQuery as i, CrudBinding as it, MaybeRefLike as j, printPresets as jt, DataRecord as k, useDynamicRows as kt, HighlightPluginOptions as l, SelectionConfig$1 as lt, usePagination as m, VirtualScrollConfig as mt, TableQueryResult as n, BatchActionsConfig as nt, removeAllItem as o, EditConfig as ot, useCellEdit as p, TreeConfig as pt, UseTableExpandReturn as q, UseTableQueryOptions as r, ColumnDragConfig as rt, removeItem as s, ErrorConfig as st, TableQueryContext as t, useTableGlobalConfig as tt, setupHighlight as u, SummaryConfig as ut, useRowEdit as v, exportTableData as vt, ApiFunction as w, UseRowDragOptions as wt, defineTableConfig as x, UseCrossPageSelectionReturn as xt, useTableColumns as y, CrossPageSelectionConfig as yt, StrictTableColumn as z };