@robot-admin/naive-ui-components 0.10.3 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. package/CHANGELOG.md +117 -100
  2. package/LICENSE +21 -21
  3. package/README.md +463 -318
  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 -2
  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 -4
  194. package/dist/C_Menu.js +1 -1
  195. package/dist/C_Menu2.cjs +1 -0
  196. package/dist/C_Menu2.js +1 -2
  197. package/dist/C_NotificationCenter.cjs +1 -1
  198. package/dist/C_NotificationCenter.css +95 -47
  199. package/dist/C_NotificationCenter.d.cts +1 -1
  200. package/dist/C_NotificationCenter.js +1 -1
  201. package/dist/C_NotificationCenter2.cjs +1 -0
  202. package/dist/C_NotificationCenter2.js +1 -2
  203. package/dist/C_OrgChart.cjs +1 -1
  204. package/dist/C_OrgChart.css +6 -4
  205. package/dist/C_OrgChart.d.cts +1 -1
  206. package/dist/C_OrgChart.d.ts +1 -1
  207. package/dist/C_OrgChart2.cjs +1 -0
  208. package/dist/C_OrgChart2.js +1 -2
  209. package/dist/C_Progress.cjs +1 -1
  210. package/dist/C_Progress.css +1 -0
  211. package/dist/C_Progress.d.cts +1 -1
  212. package/dist/C_Progress.d.ts +1 -1
  213. package/dist/C_Progress2.cjs +1 -0
  214. package/dist/C_Progress2.js +1 -2
  215. package/dist/C_QRCode.cjs +1 -1
  216. package/dist/C_QRCode.css +8 -10
  217. package/dist/C_QRCode.d.cts +1 -1
  218. package/dist/C_QRCode2.cjs +1 -0
  219. package/dist/C_QRCode2.js +1 -2
  220. package/dist/C_Signature.cjs +1 -1
  221. package/dist/C_Signature.css +0 -2
  222. package/dist/C_Signature.d.cts +1 -1
  223. package/dist/C_Signature.js +1 -1
  224. package/dist/C_Signature2.cjs +1 -0
  225. package/dist/C_Signature2.js +1 -2
  226. package/dist/C_Skeleton.cjs +1 -1
  227. package/dist/C_Skeleton.css +0 -2
  228. package/dist/C_Skeleton.d.cts +1 -1
  229. package/dist/C_Skeleton.d.ts +1 -1
  230. package/dist/C_Skeleton2.cjs +1 -0
  231. package/dist/C_Skeleton2.js +1 -2
  232. package/dist/C_SplitPane.cjs +1 -1
  233. package/dist/C_SplitPane.css +27 -11
  234. package/dist/C_SplitPane.d.cts +1 -1
  235. package/dist/C_SplitPane.js +1 -1
  236. package/dist/C_SplitPane2.cjs +1 -0
  237. package/dist/C_SplitPane2.js +1 -2
  238. package/dist/C_Steps.cjs +1 -1
  239. package/dist/C_Steps.css +37 -39
  240. package/dist/C_Steps.d.cts +1 -1
  241. package/dist/C_Steps.d.ts +1 -1
  242. package/dist/C_Steps2.cjs +1 -0
  243. package/dist/C_Steps2.js +1 -2
  244. package/dist/C_Table.base.css +1588 -0
  245. package/dist/C_Table.cjs +1 -1
  246. package/dist/C_Table.css +1202 -112
  247. package/dist/C_Table.d.cts +2 -2
  248. package/dist/C_Table.d.ts +11 -2
  249. package/dist/C_Table.js +1 -1
  250. package/dist/C_TagsView.cjs +1 -1
  251. package/dist/C_TagsView.css +44 -40
  252. package/dist/C_TagsView.d.cts +2 -2
  253. package/dist/C_TagsView.d.ts +2 -3
  254. package/dist/C_TagsView.js +1 -1
  255. package/dist/C_TagsView2.cjs +1 -0
  256. package/dist/C_TagsView2.js +1 -2
  257. package/dist/C_Theme.cjs +1 -1
  258. package/dist/C_Theme.css +1 -0
  259. package/dist/C_Theme.d.cts +1 -1
  260. package/dist/C_Theme.d.ts +1 -1
  261. package/dist/C_Theme.js +1 -1
  262. package/dist/C_Theme2.cjs +1 -0
  263. package/dist/C_Theme2.js +1 -2
  264. package/dist/C_Time.cjs +1 -1
  265. package/dist/C_Time.css +0 -2
  266. package/dist/C_Time.d.cts +2 -2
  267. package/dist/C_Time.d.ts +2 -2
  268. package/dist/C_Time2.cjs +1 -0
  269. package/dist/C_Time2.js +1 -2
  270. package/dist/C_Timeline.cjs +1 -1
  271. package/dist/C_Timeline.css +44 -46
  272. package/dist/C_Timeline.d.cts +1 -1
  273. package/dist/C_Timeline.js +1 -1
  274. package/dist/C_Timeline2.cjs +1 -0
  275. package/dist/C_Timeline2.js +1 -2
  276. package/dist/C_Transfer.cjs +1 -1
  277. package/dist/C_Transfer.css +21 -9
  278. package/dist/C_Transfer.d.cts +1 -1
  279. package/dist/C_Transfer.js +1 -1
  280. package/dist/C_Transfer2.cjs +1 -0
  281. package/dist/C_Transfer2.js +1 -2
  282. package/dist/C_Tree.cjs +1 -1
  283. package/dist/C_Tree.css +0 -2
  284. package/dist/C_Tree.d.cts +1 -1
  285. package/dist/C_Tree.js +1 -1
  286. package/dist/C_Tree2.cjs +1 -0
  287. package/dist/C_Tree2.js +1 -2
  288. package/dist/C_Upload.cjs +1 -1
  289. package/dist/C_Upload.css +17 -17
  290. package/dist/C_Upload.d.cts +1 -1
  291. package/dist/C_Upload.js +1 -1
  292. package/dist/C_Upload2.cjs +1 -0
  293. package/dist/C_Upload2.js +1 -25
  294. package/dist/C_VideoPlayer.cjs +1 -1
  295. package/dist/C_VideoPlayer.css +35 -24
  296. package/dist/C_VideoPlayer.d.cts +2 -2
  297. package/dist/C_VideoPlayer.d.ts +2 -2
  298. package/dist/C_VideoPlayer.js +1 -1
  299. package/dist/C_VideoPlayer2.cjs +3 -0
  300. package/dist/C_VideoPlayer2.js +3 -4
  301. package/dist/C_VtableGantt.cjs +1 -1
  302. package/dist/C_VtableGantt.css +15 -7
  303. package/dist/C_VtableGantt.d.cts +1 -1
  304. package/dist/C_VtableGantt.d.ts +1 -1
  305. package/dist/C_VtableGantt.js +1 -1
  306. package/dist/C_VtableGantt2.cjs +1 -0
  307. package/dist/C_VtableGantt2.js +1 -2
  308. package/dist/C_WaterFall.cjs +1 -1
  309. package/dist/C_WaterFall.css +15 -17
  310. package/dist/C_WaterFall.d.cts +1 -1
  311. package/dist/C_WaterFall2.cjs +1 -0
  312. package/dist/C_WaterFall2.js +1 -2
  313. package/dist/C_WorkFlow.cjs +1 -1
  314. package/dist/C_WorkFlow.css +257 -197
  315. package/dist/C_WorkFlow.d.cts +1 -1
  316. package/dist/C_WorkFlow.js +1 -1
  317. package/dist/C_WorkFlow2.cjs +1 -0
  318. package/dist/C_WorkFlow2.js +1 -2
  319. package/dist/city.cjs +1 -0
  320. package/dist/city.js +1 -2
  321. package/dist/config.cjs +1 -0
  322. package/dist/config.d.cts +33 -0
  323. package/dist/config.d.ts +33 -0
  324. package/dist/config.js +1 -0
  325. package/dist/constants.d.cts +272 -0
  326. package/dist/constants.d.ts +1 -2
  327. package/dist/constants2.d.cts +177 -0
  328. package/dist/constants2.d.ts +3 -4
  329. package/dist/constants3.d.cts +479 -0
  330. package/dist/constants3.d.ts +15 -11
  331. package/dist/constants4.d.cts +420 -0
  332. package/dist/constants4.d.ts +30 -40
  333. package/dist/constants5.d.cts +491 -0
  334. package/dist/constants5.d.ts +22 -6
  335. package/dist/data.cjs +1 -0
  336. package/dist/data.d.cts +67 -0
  337. package/dist/data.d.ts +11 -11
  338. package/dist/data.js +1 -0
  339. package/dist/export-helper.cjs +1 -0
  340. package/dist/helpers.cjs +1 -0
  341. package/dist/helpers.js +1 -0
  342. package/dist/html.cjs +1 -0
  343. package/dist/html.js +1 -0
  344. package/dist/images/marker-icon-2x.png +0 -0
  345. package/dist/images/marker-icon.png +0 -0
  346. package/dist/images/marker-shadow.png +0 -0
  347. package/dist/index.cjs +1 -2
  348. package/dist/index.d.cts +60 -99
  349. package/dist/index.d.ts +41 -83
  350. package/dist/index.js +1 -2
  351. package/dist/index.vue.d.cts +79 -0
  352. package/dist/index.vue.d.ts +3 -4
  353. package/dist/index10.vue.d.cts +47 -0
  354. package/dist/index10.vue.d.ts +80 -40
  355. package/dist/index11.vue.d.cts +88 -0
  356. package/dist/index11.vue.d.ts +68 -78
  357. package/dist/index12.vue.d.cts +79 -0
  358. package/dist/index12.vue.d.ts +50 -46
  359. package/dist/index13.vue.d.cts +64 -0
  360. package/dist/index13.vue.d.ts +99 -34
  361. package/dist/index14.vue.d.cts +106 -0
  362. package/dist/index14.vue.d.ts +82 -99
  363. package/dist/index15.vue.d.cts +91 -0
  364. package/dist/index15.vue.d.ts +25 -83
  365. package/dist/index16.vue.d.cts +34 -0
  366. package/dist/index16.vue.d.ts +113 -24
  367. package/dist/index17.vue.d.cts +124 -0
  368. package/dist/index17.vue.d.ts +76 -110
  369. package/dist/index18.vue.d.cts +83 -0
  370. package/dist/index18.vue.d.ts +67 -73
  371. package/dist/index19.vue.d.cts +101 -0
  372. package/dist/index19.vue.d.ts +93 -59
  373. package/dist/index2.vue.d.cts +82 -0
  374. package/dist/index2.vue.d.ts +6 -7
  375. package/dist/index20.vue.d.cts +54 -0
  376. package/dist/index20.vue.d.ts +40 -88
  377. package/dist/index21.vue.d.cts +103 -0
  378. package/dist/index21.vue.d.ts +89 -41
  379. package/dist/index22.vue.d.cts +45 -0
  380. package/dist/index22.vue.d.ts +37 -96
  381. package/dist/index23.vue.d.cts +19 -0
  382. package/dist/index23.vue.d.ts +8 -35
  383. package/dist/{index28.vue.d.ts → index24.vue.d.cts} +2 -3
  384. package/dist/index24.vue.d.ts +650 -86
  385. package/dist/index25.vue.d.cts +96 -0
  386. package/dist/index25.vue.d.ts +86 -10
  387. package/dist/index26.vue.d.cts +111 -0
  388. package/dist/index26.vue.d.ts +4 -5
  389. package/dist/index27.vue.d.cts +80 -0
  390. package/dist/index27.vue.d.ts +4 -5
  391. package/dist/index3.vue.d.cts +87 -0
  392. package/dist/index3.vue.d.ts +4 -5
  393. package/dist/index4.vue.d.cts +37 -0
  394. package/dist/index4.vue.d.ts +4 -5
  395. package/dist/index5.vue.d.cts +133 -0
  396. package/dist/index5.vue.d.ts +2 -3
  397. package/dist/index6.vue.d.cts +29 -0
  398. package/dist/index6.vue.d.ts +25 -38
  399. package/dist/index7.vue.d.cts +32 -0
  400. package/dist/index7.vue.d.ts +117 -23
  401. package/dist/index8.vue.d.cts +127 -0
  402. package/dist/index8.vue.d.ts +17 -111
  403. package/dist/index9.vue.d.cts +34 -0
  404. package/dist/index9.vue.d.ts +38 -26
  405. package/dist/{menuAdapter.d.ts → public.d.ts} +2 -3
  406. package/dist/resolver.cjs +1 -2
  407. package/dist/resolver.d.cts +6 -4
  408. package/dist/resolver.d.ts +6 -4
  409. package/dist/resolver.js +1 -2
  410. package/dist/storage.cjs +1 -0
  411. package/dist/storage.js +1 -2
  412. package/dist/style.css +9864 -7702
  413. package/dist/types.d.cts +107 -0
  414. package/dist/types.d.ts +58 -0
  415. package/dist/types2.d.cts +58 -0
  416. package/dist/useCalendarEvents.d.cts +150 -0
  417. package/dist/useCalendarEvents.d.ts +2 -3
  418. package/dist/useCollapsePanel.d.cts +133 -0
  419. package/dist/useCollapsePanel.d.ts +7 -8
  420. package/dist/useCropperCore.d.cts +104 -0
  421. package/dist/useCropperCore.d.ts +8 -6
  422. package/dist/useDraggableLayout.d.cts +196 -0
  423. package/dist/useDraggableLayout.d.ts +17 -15
  424. package/dist/useDynamicFormState.d.cts +749 -0
  425. package/dist/useDynamicFormState.d.ts +234 -112
  426. package/dist/useEdgeInteraction.d.cts +324 -0
  427. package/dist/useEdgeInteraction.d.ts +5 -6
  428. package/dist/useFullscreen.d.cts +165 -0
  429. package/dist/useFullscreen.d.ts +3 -4
  430. package/dist/useGlobalSearch.d.cts +110 -0
  431. package/dist/useGlobalSearch.d.ts +17 -9
  432. package/dist/useInfiniteScroll.d.cts +177 -0
  433. package/dist/useInfiniteScroll.d.ts +11 -3
  434. package/dist/useQRCode.d.cts +89 -0
  435. package/dist/useQRCode.d.ts +7 -5
  436. package/dist/useSearchState.d.cts +871 -0
  437. package/dist/useSearchState.d.ts +828 -28
  438. package/dist/useSignatureHistory.d.cts +197 -0
  439. package/dist/useSignatureHistory.d.ts +9 -4
  440. package/dist/useSplitResize.d.cts +157 -0
  441. package/dist/useSplitResize.d.ts +6 -7
  442. package/dist/useTableQuery.cjs +3 -0
  443. package/dist/useTableQuery.d.cts +1684 -0
  444. package/dist/useTableQuery.d.ts +1684 -0
  445. package/dist/useTableQuery.js +3 -0
  446. package/dist/useTimeSelection.d.cts +116 -0
  447. package/dist/useTimeSelection.d.ts +19 -8
  448. package/dist/useTreeOperations.d.cts +185 -0
  449. package/dist/useTreeOperations.d.ts +10 -8
  450. package/dist/useWorkflowValidation.d.cts +1051 -0
  451. package/dist/useWorkflowValidation.d.ts +62 -63
  452. package/dist/verification.d.cts +58 -0
  453. package/dist/verification.d.ts +58 -0
  454. package/package.json +102 -69
  455. package/dist/C_ActionBar-BAcfOfRw.css.map +0 -1
  456. package/dist/C_ActionBar-DG2HW7t5.css.map +0 -1
  457. package/dist/C_ActionBar.js.map +0 -1
  458. package/dist/C_ActionBar2.js.map +0 -1
  459. package/dist/C_AntV-D_jTK8oZ.css.map +0 -1
  460. package/dist/C_AntV-DanTAq22.css.map +0 -1
  461. package/dist/C_AntV.js.map +0 -1
  462. package/dist/C_AntV2.js.map +0 -1
  463. package/dist/C_AudioPlayer-BnYIJXPD.css.map +0 -1
  464. package/dist/C_AudioPlayer-ldTy9Y34.css.map +0 -1
  465. package/dist/C_AudioPlayer.js.map +0 -1
  466. package/dist/C_AudioPlayer2.js.map +0 -1
  467. package/dist/C_AvatarGroup-B9d-GJ9c.css.map +0 -1
  468. package/dist/C_AvatarGroup-SIzxuuZr.css.map +0 -1
  469. package/dist/C_AvatarGroup.js.map +0 -1
  470. package/dist/C_AvatarGroup2.js.map +0 -1
  471. package/dist/C_Barcode-CAU2mFcx.css.map +0 -1
  472. package/dist/C_Barcode-D2oJaEg3.css.map +0 -1
  473. package/dist/C_Barcode.js.map +0 -1
  474. package/dist/C_Barcode2.js.map +0 -1
  475. package/dist/C_Breadcrumb-BiH0d9AI.css.map +0 -1
  476. package/dist/C_Breadcrumb-Bqqrl8nX.css.map +0 -1
  477. package/dist/C_Breadcrumb.js.map +0 -1
  478. package/dist/C_Breadcrumb2.js.map +0 -1
  479. package/dist/C_Captcha-B3yrtG7t.css.map +0 -1
  480. package/dist/C_Captcha-D4hDdWDu.css.map +0 -1
  481. package/dist/C_Captcha.js.map +0 -1
  482. package/dist/C_Captcha2.js.map +0 -1
  483. package/dist/C_Cascade-CmCrLVft.css.map +0 -1
  484. package/dist/C_Cascade-U6A5AJJb.css.map +0 -1
  485. package/dist/C_Cascade.js.map +0 -1
  486. package/dist/C_Cascade2.js.map +0 -1
  487. package/dist/C_Chat-CF1SU7mc.css.map +0 -1
  488. package/dist/C_Chat-DeUv6uuI.css.map +0 -1
  489. package/dist/C_Chat.js.map +0 -1
  490. package/dist/C_Chat2.js.map +0 -1
  491. package/dist/C_City-DdkX6u64.css.map +0 -1
  492. package/dist/C_City-iP-dIvui.css.map +0 -1
  493. package/dist/C_City.js.map +0 -1
  494. package/dist/C_City2.js.map +0 -1
  495. package/dist/C_Code-BWmJMNS7.css.map +0 -1
  496. package/dist/C_Code-k14vjgVl.css.map +0 -1
  497. package/dist/C_Code.js.map +0 -1
  498. package/dist/C_Code2.js.map +0 -1
  499. package/dist/C_CollapsePanel-BSKcWSmY.css.map +0 -1
  500. package/dist/C_CollapsePanel-DRvRq8tB.css.map +0 -1
  501. package/dist/C_CollapsePanel.js.map +0 -1
  502. package/dist/C_CollapsePanel2.js.map +0 -1
  503. package/dist/C_ContextMenu-Bn_uhJSo.css.map +0 -1
  504. package/dist/C_ContextMenu-C9iuxG2n.css.map +0 -1
  505. package/dist/C_ContextMenu.js.map +0 -1
  506. package/dist/C_ContextMenu2.js.map +0 -1
  507. package/dist/C_Cron-BIQ2By9v.css.map +0 -1
  508. package/dist/C_Cron-BNSAGD6A.css.map +0 -1
  509. package/dist/C_Cron.js.map +0 -1
  510. package/dist/C_Cron2.js.map +0 -1
  511. package/dist/C_Date.js.map +0 -1
  512. package/dist/C_Date2.js.map +0 -1
  513. package/dist/C_Draggable-BDAbk4s5.css.map +0 -1
  514. package/dist/C_Draggable-UhfDLXop.css.map +0 -1
  515. package/dist/C_Draggable.js.map +0 -1
  516. package/dist/C_Draggable2.js.map +0 -1
  517. package/dist/C_Editor-CZOaChru.css.map +0 -1
  518. package/dist/C_Editor-kJAQq5z6.css.map +0 -1
  519. package/dist/C_Editor.js.map +0 -1
  520. package/dist/C_Editor2.js.map +0 -1
  521. package/dist/C_FilePreview-Bs_omgJS.css.map +0 -1
  522. package/dist/C_FilePreview-DbwoyF2j.css.map +0 -1
  523. package/dist/C_FilePreview.js.map +0 -1
  524. package/dist/C_FilePreview2.js.map +0 -1
  525. package/dist/C_Form-B_2ql62V.css.map +0 -1
  526. package/dist/C_Form-CX-7xsz3.css.map +0 -1
  527. package/dist/C_Form.js.map +0 -1
  528. package/dist/C_Form2.js.map +0 -1
  529. package/dist/C_FormSearch-C3F8peAY.css.map +0 -1
  530. package/dist/C_FormSearch-qW56bJPo.css.map +0 -1
  531. package/dist/C_FormSearch.js.map +0 -1
  532. package/dist/C_FormSearch2.js.map +0 -1
  533. package/dist/C_FormulaEditor-ChOvDbsZ.css.map +0 -1
  534. package/dist/C_FormulaEditor-mfiIUDY4.css.map +0 -1
  535. package/dist/C_FormulaEditor.js.map +0 -1
  536. package/dist/C_FormulaEditor2.js.map +0 -1
  537. package/dist/C_FullCalendar-C2nsqrgS.css.map +0 -1
  538. package/dist/C_FullCalendar-DdFtXVhy.css.map +0 -1
  539. package/dist/C_FullCalendar.js.map +0 -1
  540. package/dist/C_FullCalendar2.js.map +0 -1
  541. package/dist/C_GlobalSearch-Dq4Wo01K.css.map +0 -1
  542. package/dist/C_GlobalSearch-RB7J43gu.css.map +0 -1
  543. package/dist/C_GlobalSearch.js.map +0 -1
  544. package/dist/C_GlobalSearch2.js.map +0 -1
  545. package/dist/C_Guide.js.map +0 -1
  546. package/dist/C_Guide2.js.map +0 -1
  547. package/dist/C_Icon.js.map +0 -1
  548. package/dist/C_Icon2.js.map +0 -1
  549. package/dist/C_ImageCropper-CdTX2nxU.css.map +0 -1
  550. package/dist/C_ImageCropper-ilOqPklJ.css.map +0 -1
  551. package/dist/C_ImageCropper.js.map +0 -1
  552. package/dist/C_ImageCropper2.js.map +0 -1
  553. package/dist/C_Language.js.map +0 -1
  554. package/dist/C_Language2.js.map +0 -1
  555. package/dist/C_Login-B3qYkLrN.css.map +0 -1
  556. package/dist/C_Login-xMI1_ojE.css.map +0 -1
  557. package/dist/C_Login.js.map +0 -1
  558. package/dist/C_Login2.js.map +0 -1
  559. package/dist/C_Map-CWMMN58_.css.map +0 -1
  560. package/dist/C_Map-xSR2H-9o.css.map +0 -1
  561. package/dist/C_Map.js.map +0 -1
  562. package/dist/C_Map2.js.map +0 -1
  563. package/dist/C_Markdown-C7lTVJ1S.css.map +0 -1
  564. package/dist/C_Markdown-CZDm_baQ.css.map +0 -1
  565. package/dist/C_Markdown.js.map +0 -1
  566. package/dist/C_Markdown2.js.map +0 -1
  567. package/dist/C_Menu.js.map +0 -1
  568. package/dist/C_Menu2.js.map +0 -1
  569. package/dist/C_NotificationCenter-D7GGGWg7.css.map +0 -1
  570. package/dist/C_NotificationCenter-SSmeHA45.css.map +0 -1
  571. package/dist/C_NotificationCenter.js.map +0 -1
  572. package/dist/C_NotificationCenter2.js.map +0 -1
  573. package/dist/C_OrgChart-ChZu346B.css.map +0 -1
  574. package/dist/C_OrgChart-DqBufOv5.css.map +0 -1
  575. package/dist/C_OrgChart.js.map +0 -1
  576. package/dist/C_OrgChart2.js.map +0 -1
  577. package/dist/C_Progress.js.map +0 -1
  578. package/dist/C_Progress2.js.map +0 -1
  579. package/dist/C_QRCode-B_1lHUdx.css.map +0 -1
  580. package/dist/C_QRCode-CuQRYu0s.css.map +0 -1
  581. package/dist/C_QRCode.js.map +0 -1
  582. package/dist/C_QRCode2.js.map +0 -1
  583. package/dist/C_Signature-Bp-RBpAl.css.map +0 -1
  584. package/dist/C_Signature-Cb2VW1ok.css.map +0 -1
  585. package/dist/C_Signature.js.map +0 -1
  586. package/dist/C_Signature2.js.map +0 -1
  587. package/dist/C_Skeleton-BNPbaut7.css.map +0 -1
  588. package/dist/C_Skeleton-Djsjw8XY.css.map +0 -1
  589. package/dist/C_Skeleton.js.map +0 -1
  590. package/dist/C_Skeleton2.js.map +0 -1
  591. package/dist/C_SplitPane-CgGWYsRE.css.map +0 -1
  592. package/dist/C_SplitPane-DGf6WEeR.css.map +0 -1
  593. package/dist/C_SplitPane.js.map +0 -1
  594. package/dist/C_SplitPane2.js.map +0 -1
  595. package/dist/C_Steps-27Exh7PM.css.map +0 -1
  596. package/dist/C_Steps-DU9ZsFrs.css.map +0 -1
  597. package/dist/C_Steps.js.map +0 -1
  598. package/dist/C_Steps2.js.map +0 -1
  599. package/dist/C_Table--kbQaaBv.css.map +0 -1
  600. package/dist/C_Table-D631kdXC.css.map +0 -1
  601. package/dist/C_Table.js.map +0 -1
  602. package/dist/C_Table2.js +0 -4
  603. package/dist/C_Table2.js.map +0 -1
  604. package/dist/C_TagsView-BN8vMRsY.css.map +0 -1
  605. package/dist/C_TagsView-s1dnSJAV.css.map +0 -1
  606. package/dist/C_TagsView.js.map +0 -1
  607. package/dist/C_TagsView2.js.map +0 -1
  608. package/dist/C_Theme.js.map +0 -1
  609. package/dist/C_Theme2.js.map +0 -1
  610. package/dist/C_Time-BQ9PGy8B.css.map +0 -1
  611. package/dist/C_Time-CO73krC6.css.map +0 -1
  612. package/dist/C_Time.js.map +0 -1
  613. package/dist/C_Time2.js.map +0 -1
  614. package/dist/C_Timeline-4rk0Dzgn.css.map +0 -1
  615. package/dist/C_Timeline-DdESmqwL.css.map +0 -1
  616. package/dist/C_Timeline.js.map +0 -1
  617. package/dist/C_Timeline2.js.map +0 -1
  618. package/dist/C_Transfer-B-vjvhjI.css.map +0 -1
  619. package/dist/C_Transfer-EzdHzZNv.css.map +0 -1
  620. package/dist/C_Transfer.js.map +0 -1
  621. package/dist/C_Transfer2.js.map +0 -1
  622. package/dist/C_Tree-CsXgGfhn.css.map +0 -1
  623. package/dist/C_Tree-P7eRpnOa.css.map +0 -1
  624. package/dist/C_Tree.js.map +0 -1
  625. package/dist/C_Tree2.js.map +0 -1
  626. package/dist/C_Upload-CHjiVVh7.css.map +0 -1
  627. package/dist/C_Upload-DE3OLsZD.css.map +0 -1
  628. package/dist/C_Upload.js.map +0 -1
  629. package/dist/C_Upload2.js.map +0 -1
  630. package/dist/C_VideoPlayer-CnaNOFtW.css.map +0 -1
  631. package/dist/C_VideoPlayer-cnP88zNV.css.map +0 -1
  632. package/dist/C_VideoPlayer.js.map +0 -1
  633. package/dist/C_VideoPlayer2.js.map +0 -1
  634. package/dist/C_VtableGantt-CZlJgvpC.css.map +0 -1
  635. package/dist/C_VtableGantt-DKfQkql0.css.map +0 -1
  636. package/dist/C_VtableGantt.js.map +0 -1
  637. package/dist/C_VtableGantt2.js.map +0 -1
  638. package/dist/C_WaterFall-BJ_39ext.css.map +0 -1
  639. package/dist/C_WaterFall-cYc1vntE.css.map +0 -1
  640. package/dist/C_WaterFall.js.map +0 -1
  641. package/dist/C_WaterFall2.js.map +0 -1
  642. package/dist/C_WorkFlow-BFzRGGhJ.css.map +0 -1
  643. package/dist/C_WorkFlow-DSyCOvRp.css.map +0 -1
  644. package/dist/C_WorkFlow.js.map +0 -1
  645. package/dist/C_WorkFlow2.js.map +0 -1
  646. package/dist/_shared.cjs +0 -1
  647. package/dist/_shared.d.cts +0 -2
  648. package/dist/_shared.d.ts +0 -2
  649. package/dist/_shared.js +0 -1
  650. package/dist/city.js.map +0 -1
  651. package/dist/index.cjs.map +0 -1
  652. package/dist/index.js.map +0 -1
  653. package/dist/menuAdapter.js +0 -2
  654. package/dist/menuAdapter.js.map +0 -1
  655. package/dist/resolver.cjs.map +0 -1
  656. package/dist/resolver.js.map +0 -1
  657. package/dist/storage.js.map +0 -1
  658. package/dist/useModalEdit.d.ts +0 -1308
  659. /package/dist/{chunk.js → chunk.cjs} +0 -0
@@ -0,0 +1,749 @@
1
+ import { i as ComponentLocale, r as ComponentFeedback } from "./config.cjs";
2
+ import * as vue from "vue";
3
+ import { CSSProperties, Component, ComputedRef, DeepReadonly, InjectionKey, MaybeRefOrGetter, Ref, Slots, VNode } from "vue";
4
+ import { FormInst, FormItemInst, FormItemRule, FormRules } from "naive-ui";
5
+ import * as naive_ui_es_form_src_interface0 from "naive-ui/es/form/src/interface";
6
+ import * as _vue_shared0 from "@vue/shared";
7
+
8
+ //#region src/components/C_Form/types.d.ts
9
+ type MaybePromise<T> = T | Promise<T>;
10
+ type FormRecord = Record<string, unknown>;
11
+ type AtomicFormValue = string | number | boolean | bigint | symbol | null | undefined | Date | RegExp | File | Blob;
12
+ type NestedFieldPath<T extends object> = { [K in Extract<keyof T, string>]: NonNullable<T[K]> extends AtomicFormValue ? K : NonNullable<T[K]> extends readonly (infer Item)[] ? NonNullable<Item> extends AtomicFormValue ? K | `${K}.${number}` : NonNullable<Item> extends object ? K | `${K}.${number}` | `${K}.${number}.${NestedFieldPath<NonNullable<Item>>}` : K : NonNullable<T[K]> extends object ? K | `${K}.${NestedFieldPath<NonNullable<T[K]>>}` : K }[Extract<keyof T, string>];
13
+ type FieldPath<T extends object = FormRecord> = string extends keyof T ? string : NestedFieldPath<T>;
14
+ type NestedFieldPathValue<T, P extends string> = T extends readonly (infer Item)[] ? P extends `${number}.${infer Rest}` ? NestedFieldPathValue<NonNullable<Item>, Rest> : P extends `${number}` ? Item : unknown : P extends keyof T ? T[P] : P extends `${infer K}.${infer Rest}` ? K extends keyof T ? NestedFieldPathValue<NonNullable<T[K]>, Rest> : unknown : unknown;
15
+ type FieldPathValue<T extends object, P extends string> = NestedFieldPathValue<T, P>;
16
+ /**
17
+ * 表单模式
18
+ * @description create = 新建(空白表单),edit = 编辑(回填已有数据 + 脏检查)
19
+ */
20
+ type FormMode = 'create' | 'edit';
21
+ /**
22
+ * 支持的布局类型
23
+ * @description 定义表单支持的所有布局模式
24
+ */
25
+ type LayoutType = 'default' | 'inline' | 'grid' | 'card' | 'tabs' | 'steps' | 'dynamic' | 'custom';
26
+ /**
27
+ * 标签位置类型
28
+ * @description 表单标签的显示位置
29
+ */
30
+ type LabelPlacement = 'left' | 'top';
31
+ /**
32
+ * 支持的表单控件类型
33
+ * @description 所有支持的表单输入控件类型
34
+ */
35
+ type ComponentType = 'input' | 'textarea' | 'inputNumber' | 'select' | 'checkbox' | 'radio' | 'switch' | 'slider' | 'rate' | 'datePicker' | 'daterange' | 'timePicker' | 'cascader' | 'colorPicker' | 'upload' | 'editor';
36
+ /**
37
+ * 选项项接口
38
+ * @description 用于 select、checkbox、radio 等组件的选项配置
39
+ */
40
+ interface OptionItem {
41
+ value: string | number | boolean;
42
+ label: string;
43
+ disabled?: boolean;
44
+ [key: string]: unknown;
45
+ }
46
+ interface AsyncOptionsContext {
47
+ field: string;
48
+ reason: 'initialize' | 'dependency' | 'manual';
49
+ signal: AbortSignal;
50
+ }
51
+ interface FormErrorContext {
52
+ source: 'initialize' | 'async-options' | 'callback' | 'render' | 'submit';
53
+ field?: string;
54
+ }
55
+ /**
56
+ * 标签页配置接口
57
+ * @description 用于标签页布局的单个标签页配置
58
+ */
59
+ interface TabConfig {
60
+ key: string;
61
+ title: string;
62
+ description?: string;
63
+ disabled?: boolean;
64
+ icon?: string;
65
+ closable?: boolean;
66
+ }
67
+ /**
68
+ * 步骤配置接口
69
+ * @description 用于步骤布局的单个步骤配置
70
+ */
71
+ interface StepConfig {
72
+ key: string;
73
+ title: string;
74
+ description?: string;
75
+ disabled?: boolean;
76
+ icon?: string;
77
+ required?: boolean;
78
+ }
79
+ /**
80
+ * 分组配置接口
81
+ * @description 用于卡片布局和自定义布局的分组配置
82
+ */
83
+ interface GroupConfig {
84
+ key: string;
85
+ title: string;
86
+ description?: string;
87
+ icon?: string;
88
+ color?: string;
89
+ collapsible?: boolean;
90
+ collapsed?: boolean;
91
+ defaultExpanded?: boolean;
92
+ }
93
+ /**
94
+ * 动态字段配置接口
95
+ * @description 用于动态布局的字段配置
96
+ */
97
+ interface DynamicFieldConfig {
98
+ id: string;
99
+ type: ComponentType | string;
100
+ prop: string;
101
+ label: string;
102
+ visible: boolean;
103
+ removable: boolean;
104
+ created: number;
105
+ placeholder?: string;
106
+ layout?: {
107
+ span?: number;
108
+ };
109
+ rules?: FormItemRule[];
110
+ }
111
+ /**
112
+ * 表单项布局配置
113
+ * @description 单个表单项的布局相关配置
114
+ */
115
+ interface ItemLayoutConfig {
116
+ span?: number;
117
+ offset?: number;
118
+ width?: string | number;
119
+ group?: string;
120
+ tab?: string;
121
+ step?: string;
122
+ dynamic?: boolean;
123
+ customRender?: boolean;
124
+ enhanced?: boolean;
125
+ class?: string;
126
+ style?: CSSProperties | Record<string, unknown>;
127
+ hidden?: boolean;
128
+ }
129
+ /**
130
+ * 网格布局配置
131
+ * @description 网格布局的详细配置选项
132
+ */
133
+ interface GridLayoutConfig {
134
+ cols?: number;
135
+ gutter?: number;
136
+ yGutter?: number;
137
+ xGap?: number;
138
+ yGap?: number;
139
+ }
140
+ /**
141
+ * 内联布局配置
142
+ * @description 内联布局的详细配置选项
143
+ */
144
+ interface InlineLayoutConfig {
145
+ gap?: number;
146
+ align?: 'start' | 'center' | 'end' | 'baseline' | 'stretch';
147
+ wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
148
+ }
149
+ /**
150
+ * 卡片布局配置
151
+ * @description 卡片布局的详细配置选项
152
+ */
153
+ interface CardLayoutConfig {
154
+ groups?: GroupConfig[];
155
+ spacing?: number;
156
+ bordered?: boolean;
157
+ }
158
+ /**
159
+ * 标签页布局配置
160
+ * @description 标签页布局的详细配置选项
161
+ */
162
+ interface TabsLayoutConfig {
163
+ tabs?: TabConfig[];
164
+ type?: 'line' | 'card' | 'segment';
165
+ size?: 'small' | 'medium' | 'large';
166
+ placement?: 'top' | 'right' | 'bottom' | 'left';
167
+ defaultTab?: string;
168
+ animated?: boolean;
169
+ closable?: boolean;
170
+ addable?: boolean;
171
+ showTabHeader?: boolean;
172
+ showActions?: boolean;
173
+ showCount?: boolean;
174
+ validateBeforeSwitch?: boolean;
175
+ }
176
+ /**
177
+ * 步骤布局配置
178
+ * @description 步骤布局的详细配置选项
179
+ */
180
+ interface StepsLayoutConfig {
181
+ steps?: StepConfig[];
182
+ vertical?: boolean;
183
+ size?: 'small' | 'medium';
184
+ defaultStep?: number;
185
+ showStepHeader?: boolean;
186
+ validateBeforeNext?: boolean;
187
+ prevButtonText?: string;
188
+ nextButtonText?: string;
189
+ }
190
+ /**
191
+ * 动态布局配置
192
+ * @description 动态布局的详细配置选项
193
+ */
194
+ interface DynamicLayoutConfig {
195
+ grid?: {
196
+ cols?: number;
197
+ gutter?: number;
198
+ };
199
+ controls?: {
200
+ showControls?: boolean;
201
+ showItemControls?: boolean;
202
+ showStats?: boolean;
203
+ };
204
+ dynamic?: {
205
+ allowAdd?: boolean;
206
+ allowRemove?: boolean;
207
+ allowToggle?: boolean;
208
+ maxFields?: number;
209
+ };
210
+ }
211
+ /**
212
+ * 自定义渲染布局配置
213
+ * @description 自定义渲染布局的详细配置选项
214
+ */
215
+ interface CustomLayoutConfig {
216
+ groups?: GroupConfig[];
217
+ rendering?: {
218
+ mode?: 'basic' | 'enhanced';
219
+ animations?: boolean;
220
+ tooltips?: boolean;
221
+ };
222
+ display?: {
223
+ showIntro?: boolean;
224
+ showModeSwitch?: boolean;
225
+ showGroupActions?: boolean;
226
+ showStats?: boolean;
227
+ };
228
+ }
229
+ /**
230
+ * 完整布局配置
231
+ * @description 包含所有布局类型的配置选项
232
+ */
233
+ interface LayoutConfig {
234
+ type?: LayoutType;
235
+ grid?: GridLayoutConfig;
236
+ inline?: InlineLayoutConfig;
237
+ card?: CardLayoutConfig;
238
+ tabs?: TabsLayoutConfig;
239
+ steps?: StepsLayoutConfig;
240
+ dynamic?: DynamicLayoutConfig;
241
+ custom?: CustomLayoutConfig;
242
+ }
243
+ /**
244
+ * 表单配置项接口
245
+ * @description 单个表单项的完整配置
246
+ */
247
+ interface FormOption<T extends object = FormRecord> {
248
+ id?: string;
249
+ type: ComponentType | string;
250
+ prop: FieldPath<T>;
251
+ label?: string;
252
+ value?: unknown;
253
+ placeholder?: string;
254
+ rules?: FormItemRule[];
255
+ attrs?: Record<string, unknown>;
256
+ children?: OptionItem[];
257
+ show?: boolean;
258
+ layout?: ItemLayoutConfig;
259
+ help?: string;
260
+ required?: boolean;
261
+ dependsOn?: FieldPath<T> | FieldPath<T>[];
262
+ showWhen?: (formModel: FormModel<T>) => boolean;
263
+ /** 字段级禁用(优先级高于全局 config.disabled) */
264
+ disabled?: boolean | ((formModel: FormModel<T>) => boolean);
265
+ /** 字段级只读(优先级高于全局 config.readonly) */
266
+ readonly?: boolean | ((formModel: FormModel<T>) => boolean);
267
+ /** 联动赋值:其他字段变化时自动计算本字段的值 */
268
+ valueWhen?: (formModel: FormModel<T>) => unknown;
269
+ /** 异步数据源:select / cascader / checkbox / radio 的远程选项加载 */
270
+ asyncOptions?: (formModel: FormModel<T>, context?: AsyncOptionsContext) => Promise<readonly OptionItem[]>;
271
+ /** 联动校验规则:根据表单数据动态返回校验规则 */
272
+ rulesWhen?: (formModel: FormModel<T>) => FormItemRule[];
273
+ /** 跨字段校验:需要引用多个字段值的验证函数,返回错误消息或 null */
274
+ crossFieldValidator?: (formModel: FormModel<T>) => MaybePromise<string | null>;
275
+ }
276
+ /**
277
+ * 表单提交事件参数
278
+ */
279
+ interface SubmitEventPayload<T extends object = FormRecord> {
280
+ model: FormModel<T>;
281
+ form: FormInst;
282
+ }
283
+ /**
284
+ * C_Form 组件实例暴露的方法
285
+ * @description 表单组件实例对外暴露的所有方法
286
+ */
287
+ interface FormInstance<T extends object = FormRecord> {
288
+ validate(): Promise<void>;
289
+ validateField(field: FieldPath<T> | FieldPath<T>[]): Promise<void>;
290
+ validateStep(stepIndex: number): Promise<boolean>;
291
+ validateTab(tabKey: string): Promise<boolean>;
292
+ validateDynamicFields(): Promise<boolean>;
293
+ validateCustomGroup(groupKey: string): Promise<boolean>;
294
+ clearValidation(field?: FieldPath<T> | FieldPath<T>[]): void;
295
+ getModel(): FormModel<T>;
296
+ setFields(fields: Partial<FormModel<T>>): void;
297
+ resetFields(): void;
298
+ setFieldValue<P extends FieldPath<T>>(field: P, value: FieldPathValue<T, P>, shouldValidate?: boolean): Promise<void>;
299
+ getFieldValue<P extends FieldPath<T>>(field: P): FieldPathValue<T, P>;
300
+ setFieldsValue(fields: Partial<FormModel<T>>, shouldValidate?: boolean): Promise<void>;
301
+ formRef: FormInst | null;
302
+ formModel: FormModel<T>;
303
+ initialize(): void;
304
+ layoutType: ComputedRef<LayoutType>;
305
+ shouldShowDefaultActions: ComputedRef<boolean>;
306
+ /** 表单是否被修改过 */
307
+ isDirty: Ref<boolean>;
308
+ /** 获取被修改的字段列表 */
309
+ getChangedFields(): FieldPath<T>[];
310
+ /** 检查某字段是否被修改 */
311
+ isFieldDirty(field: FieldPath<T>): boolean;
312
+ /** 将当前值设为初始快照(常用于编辑模式加载数据后) */
313
+ markAsClean(): void;
314
+ /** 字段异步选项的 loading 状态 */
315
+ asyncLoadingMap: Ref<Record<string, boolean>>;
316
+ /** 字段异步选项加载错误 */
317
+ asyncErrorMap: Ref<Record<string, unknown>>;
318
+ /** 重新加载全部或指定字段的异步选项 */
319
+ reloadOptions(field?: FieldPath<T>): Promise<void>;
320
+ /** 是否正在提交 */
321
+ isSubmitting: Ref<boolean>;
322
+ /** 验证并提交,成功返回 true */
323
+ submit(): Promise<boolean>;
324
+ }
325
+ /**
326
+ * 表单数据模型类型(泛型)
327
+ */
328
+ type FormModel<T extends object = FormRecord> = T;
329
+ /**
330
+ * 渲染模式类型
331
+ */
332
+ type RenderMode = 'basic' | 'enhanced';
333
+ /**
334
+ * 动态表单配置接口
335
+ */
336
+ interface DynamicFormConfig {
337
+ maxFields: number;
338
+ autoSave: boolean;
339
+ enableSort: boolean;
340
+ showControls: boolean;
341
+ showItemControls: boolean;
342
+ }
343
+ /**
344
+ * 动态表单状态接口
345
+ */
346
+ interface DynamicFormState {
347
+ config: DynamicFormConfig;
348
+ baseFields: FormOption[];
349
+ dynamicFields: DynamicFieldConfig[];
350
+ hiddenFieldIds: Set<string>;
351
+ fieldCounter: number;
352
+ isInitialized: boolean;
353
+ }
354
+ /**
355
+ * 动态表单状态控制器
356
+ * @description 为组合式函数提供稳定的公共返回类型,避免声明文件泄漏依赖库内部类型
357
+ */
358
+ interface DynamicFormController {
359
+ state: DeepReadonly<DynamicFormState>;
360
+ allFields: ComputedRef<FormOption[]>;
361
+ visibleFields: ComputedRef<FormOption[]>;
362
+ dynamicFieldsCount: ComputedRef<number>;
363
+ hiddenFieldsCount: ComputedRef<number>;
364
+ canAddMoreFields: ComputedRef<boolean>;
365
+ allVisible: ComputedRef<boolean>;
366
+ FIELD_TYPE_OPTIONS: ReadonlyArray<{
367
+ label: string;
368
+ value: ComponentType;
369
+ }>;
370
+ addField(config?: Partial<DynamicFieldConfig>): DynamicFieldConfig | null;
371
+ removeField(index?: number): DynamicFieldConfig | null;
372
+ clearDynamicFields(): number;
373
+ toggleFieldVisibility(fieldId: string): boolean;
374
+ toggleAllVisibility(): boolean;
375
+ updateConfig(config: Partial<DynamicFormConfig>): void;
376
+ exportConfig(): string;
377
+ initialize(baseFields: FormOption[], config?: Partial<DynamicFormConfig>): void;
378
+ }
379
+ //#endregion
380
+ //#region src/components/C_Form/composables/useFormConfig.d.ts
381
+ /** 布局回调事件 — 替代原先 16 个 emit 中的纯透传事件 */
382
+ interface LayoutCallbacks<T extends object = FormRecord> {
383
+ onTabChange?: (tabKey: string, tabIndex: number) => void;
384
+ onTabBeforeChange?: (currentTab: string, targetTab: string) => MaybePromise<boolean | void>;
385
+ onTabValidate?: (tabKey: string) => void;
386
+ onStepChange?: (stepIndex: number, stepKey: string) => void;
387
+ onStepBeforeChange?: (currentStep: number, targetStep: number) => MaybePromise<boolean | void>;
388
+ onStepValidate?: (stepIndex: number) => void;
389
+ onFieldAdd?: (fieldConfig: DynamicFieldConfig) => void;
390
+ onFieldRemove?: (fieldId: string) => void;
391
+ onFieldToggle?: (fieldId: string, visible: boolean) => void;
392
+ onFieldsClear?: () => void;
393
+ onRenderModeChange?: (mode: RenderMode) => void;
394
+ onGroupToggle?: (groupKey: string, collapsed: boolean) => void;
395
+ onGroupReset?: (groupKey: string) => void;
396
+ onFieldsChange?: (fields: FormOption<T>[]) => void;
397
+ onSubmit?: (payload: SubmitEventPayload<T>) => MaybePromise<void>;
398
+ onError?: (error: unknown, context: FormErrorContext) => void;
399
+ }
400
+ /**
401
+ * C_Form 统一配置接口
402
+ * @description 收拢原先 13 个分散 Props 为 1 个 config 对象
403
+ * 默认值均在 FORM_DEFAULTS 中集中管理
404
+ */
405
+ interface FormConfig<T extends object = FormRecord> extends LayoutCallbacks<T> {
406
+ feedback?: ComponentFeedback;
407
+ locale?: ComponentLocale;
408
+ /** 布局类型,默认 'default' */
409
+ layout?: LayoutType;
410
+ /** 标签位置,默认 'left' */
411
+ labelPlacement?: LabelPlacement;
412
+ /** 标签宽度,默认 'auto' */
413
+ labelWidth?: string | number;
414
+ /** 尺寸,默认 'medium' */
415
+ size?: 'small' | 'medium' | 'large';
416
+ /** 禁用整个表单,默认 false */
417
+ disabled?: boolean;
418
+ /** 只读,默认 false */
419
+ readonly?: boolean;
420
+ /** 显示默认提交/重置按钮,默认 true */
421
+ showActions?: boolean;
422
+ /** 值变化时自动校验,默认 false */
423
+ validateOnChange?: boolean;
424
+ /** 动态移除配置项后是否保留其模型值,默认 false */
425
+ preserveRemovedFields?: boolean;
426
+ /** 默认提交按钮文案 */
427
+ submitText?: string;
428
+ /** 默认重置按钮文案 */
429
+ resetText?: string;
430
+ /** 表单模式:create = 新建(默认),edit = 编辑(配合 initialValues 实现回填 + 脏检查) */
431
+ mode?: FormMode;
432
+ /** 编辑模式初始值:设置后自动作为脏检查基准 */
433
+ initialValues?: Partial<T>;
434
+ grid?: GridLayoutConfig;
435
+ inline?: InlineLayoutConfig;
436
+ card?: CardLayoutConfig;
437
+ tabs?: TabsLayoutConfig;
438
+ steps?: StepsLayoutConfig;
439
+ dynamic?: DynamicLayoutConfig;
440
+ custom?: CustomLayoutConfig;
441
+ }
442
+ /** Application-level C_Form defaults injection key. */
443
+ declare const FORM_GLOBAL_CONFIG_KEY: InjectionKey<FormConfig>;
444
+ /** Read application-level C_Form defaults without requiring a provider. */
445
+ declare function useFormGlobalConfig(): FormConfig;
446
+ /** Merge nested layout sections while preserving local-over-global precedence. */
447
+ declare function mergeFormConfig(local: FormConfig | undefined, global: FormConfig): FormConfig;
448
+ /** 解析后的配置(所有必填字段均已设置默认值) */
449
+ interface ResolvedFormConfig extends Required<Omit<FormConfig, keyof LayoutCallbacks | 'grid' | 'inline' | 'card' | 'tabs' | 'steps' | 'dynamic' | 'custom' | 'initialValues' | 'feedback' | 'locale'>> {
450
+ grid?: GridLayoutConfig;
451
+ inline?: InlineLayoutConfig;
452
+ card?: CardLayoutConfig;
453
+ tabs?: TabsLayoutConfig;
454
+ steps?: StepsLayoutConfig;
455
+ dynamic?: DynamicLayoutConfig;
456
+ custom?: CustomLayoutConfig;
457
+ onTabChange?: LayoutCallbacks['onTabChange'];
458
+ onTabBeforeChange?: LayoutCallbacks['onTabBeforeChange'];
459
+ onTabValidate?: LayoutCallbacks['onTabValidate'];
460
+ onStepChange?: LayoutCallbacks['onStepChange'];
461
+ onStepBeforeChange?: LayoutCallbacks['onStepBeforeChange'];
462
+ onStepValidate?: LayoutCallbacks['onStepValidate'];
463
+ onFieldAdd?: LayoutCallbacks['onFieldAdd'];
464
+ onFieldRemove?: LayoutCallbacks['onFieldRemove'];
465
+ onFieldToggle?: LayoutCallbacks['onFieldToggle'];
466
+ onFieldsClear?: LayoutCallbacks['onFieldsClear'];
467
+ onRenderModeChange?: LayoutCallbacks['onRenderModeChange'];
468
+ onGroupToggle?: LayoutCallbacks['onGroupToggle'];
469
+ onGroupReset?: LayoutCallbacks['onGroupReset'];
470
+ onFieldsChange?: LayoutCallbacks['onFieldsChange'];
471
+ onSubmit?: LayoutCallbacks['onSubmit'];
472
+ onError?: LayoutCallbacks['onError'];
473
+ initialValues?: Record<string, any>;
474
+ feedback?: ComponentFeedback;
475
+ locale?: ComponentLocale;
476
+ }
477
+ declare const FORM_DEFAULTS: ResolvedFormConfig;
478
+ /** 拥有自身控制按钮的布局(不显示默认操作按钮) */
479
+ declare const LAYOUTS_WITH_OWN_CONTROLS: readonly LayoutType[];
480
+ /**
481
+ * 解析 FormConfig,合并默认值
482
+ * @param config - 用户传入的配置(可选)
483
+ * @returns 具有完整默认值的 ResolvedFormConfig
484
+ */
485
+ declare function resolveFormConfig(config?: FormConfig): ResolvedFormConfig;
486
+ /**
487
+ * 计算是否显示默认操作按钮
488
+ * @param resolved - 已解析的配置
489
+ */
490
+ declare function shouldShowActions(resolved: ResolvedFormConfig): boolean;
491
+ //#endregion
492
+ //#region src/components/C_Form/composables/useFormRenderer.d.ts
493
+ type ComponentMap = Record<string, Component>;
494
+ type RendererProps = Record<string, unknown> & {
495
+ 'onUpdate:value'?: (value: unknown) => void;
496
+ };
497
+ interface FormRendererContext {
498
+ slots?: Readonly<Slots>;
499
+ components: ComponentMap;
500
+ }
501
+ type FormRenderer = (baseProps: RendererProps, item: FormOption, config: ResolvedFormConfig, context: FormRendererContext) => VNode | null;
502
+ interface UseFormRendererOptions {
503
+ formModel: FormModel;
504
+ visibleOptions: ComputedRef<FormOption[]>;
505
+ config: ComputedRef<ResolvedFormConfig>;
506
+ handleFieldChange: (field: string) => void;
507
+ componentMap: ComponentMap;
508
+ instanceSlots?: Readonly<Slots>;
509
+ asyncOptionsCache: Ref<Record<string, OptionItem[]>>;
510
+ asyncLoadingMap: Ref<Record<string, boolean>>;
511
+ renderers?: ComputedRef<Record<string, FormRenderer> | undefined>;
512
+ setFormItemRef?: (field: string, instance: FormItemInst | null) => void;
513
+ onError?: (error: unknown, field: string) => void;
514
+ }
515
+ /**
516
+ * 运行时注册自定义渲染器 — 开闭原则
517
+ */
518
+ declare function registerRenderer(type: string, renderer: FormRenderer): () => boolean;
519
+ /** Remove a global renderer. Passing the renderer prevents deleting a newer registration. */
520
+ declare function unregisterRenderer(type: string, renderer?: FormRenderer): boolean;
521
+ /**
522
+ * 渲染引擎 Composable — 生成 formItems VNode 数组
523
+ *
524
+ * v0.8.0 增强:
525
+ * - 字段级 disabled / readonly
526
+ * - help / tooltip label 渲染
527
+ * - asyncOptions 远程选项合并
528
+ * - loading 占位
529
+ */
530
+ declare function useFormRenderer(opts: UseFormRendererOptions): {
531
+ renderFormItem: (item: FormOption) => VNode | null;
532
+ formItems: ComputedRef<VNode<vue.RendererNode, vue.RendererElement, {
533
+ [key: string]: any;
534
+ }>[]>;
535
+ getBaseProps: (item: FormOption) => RendererProps;
536
+ };
537
+ //#endregion
538
+ //#region src/components/C_Form/index.vue.d.ts
539
+ interface CFormProps {
540
+ /** 字段配置数组 */
541
+ options: FormOption[];
542
+ /** 双向绑定表单数据 */
543
+ modelValue?: FormModel;
544
+ /** 统一配置对象(收拢原先 13 个分散 Props) */
545
+ config?: FormConfig;
546
+ /** 当前表单实例的自定义渲染器,不污染全局注册表 */
547
+ renderers?: Record<string, FormRenderer>;
548
+ }
549
+ declare var __VLS_33: {
550
+ form: {
551
+ validate: naive_ui_es_form_src_interface0.FormValidate;
552
+ restoreValidation: () => void;
553
+ invalidateLabelWidth: () => void;
554
+ } | null;
555
+ model: FormRecord;
556
+ validate: () => Promise<void>;
557
+ validateField: (field: string | string[]) => Promise<void>;
558
+ reset: () => void;
559
+ setFields: (fields: FormModel) => void;
560
+ getModel: () => FormModel;
561
+ clearValidation: (field?: string | string[]) => void;
562
+ submit: () => Promise<boolean>;
563
+ reloadOptions: (field?: string) => Promise<void>;
564
+ submitting: boolean;
565
+ };
566
+ type __VLS_Slots = {} & {
567
+ action?: (props: typeof __VLS_33) => any;
568
+ };
569
+ declare const __VLS_base: vue.DefineComponent<CFormProps, {
570
+ validate: () => Promise<void>;
571
+ validateField: (field: string | string[]) => Promise<void>;
572
+ validateStep: (stepIndex: number) => Promise<boolean>;
573
+ validateTab: (tabKey: string) => Promise<boolean>;
574
+ validateDynamicFields: () => Promise<boolean>;
575
+ validateCustomGroup: (groupKey: string) => Promise<boolean>;
576
+ clearValidation: (field?: string | string[]) => void;
577
+ getModel: () => FormModel;
578
+ setFields: (fields: FormModel) => void;
579
+ resetFields: () => void;
580
+ setFieldValue: (field: string, value: unknown, shouldValidate?: boolean) => Promise<void>;
581
+ getFieldValue: (field: string) => unknown;
582
+ setFieldsValue: (fields: FormModel, shouldValidate?: boolean) => Promise<void>;
583
+ formRef: vue.Ref<{
584
+ validate: naive_ui_es_form_src_interface0.FormValidate;
585
+ restoreValidation: () => void;
586
+ invalidateLabelWidth: () => void;
587
+ } | null, FormInst | {
588
+ validate: naive_ui_es_form_src_interface0.FormValidate;
589
+ restoreValidation: () => void;
590
+ invalidateLabelWidth: () => void;
591
+ } | null>;
592
+ formModel: FormRecord;
593
+ initialize: () => void;
594
+ layoutType: vue.ComputedRef<LayoutType>;
595
+ shouldShowDefaultActions: vue.ComputedRef<boolean>;
596
+ isDirty: vue.Ref<boolean, boolean>;
597
+ getChangedFields: () => string[];
598
+ isFieldDirty: (field: string) => boolean;
599
+ markAsClean: () => void;
600
+ asyncLoadingMap: vue.Ref<Record<string, boolean>, Record<string, boolean>>;
601
+ asyncErrorMap: vue.Ref<Record<string, unknown>, Record<string, unknown>>;
602
+ reloadOptions: (field?: string) => Promise<void>;
603
+ isSubmitting: vue.Ref<boolean, boolean>;
604
+ submit: () => Promise<boolean>;
605
+ }, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
606
+ "update:modelValue": (model: FormRecord) => any;
607
+ submit: (payload: SubmitEventPayload<FormRecord>) => any;
608
+ "validate-success": (model: FormRecord) => any;
609
+ "validate-error": (errors: unknown) => any;
610
+ }, string, vue.PublicProps, Readonly<CFormProps> & Readonly<{
611
+ "onUpdate:modelValue"?: ((model: FormRecord) => any) | undefined;
612
+ onSubmit?: ((payload: SubmitEventPayload<FormRecord>) => any) | undefined;
613
+ "onValidate-success"?: ((model: FormRecord) => any) | undefined;
614
+ "onValidate-error"?: ((errors: unknown) => any) | undefined;
615
+ }>, {
616
+ config: FormConfig;
617
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
618
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
619
+ declare const _default: typeof __VLS_export;
620
+ type __VLS_WithSlots<T, S> = T & {
621
+ new (): {
622
+ $slots: S;
623
+ };
624
+ };
625
+ //#endregion
626
+ //#region src/components/C_Form/helpers.d.ts
627
+ /** Preserve business-model field inference without changing the component API. */
628
+ declare function defineFormOptions<T extends object = FormRecord>(options: FormOption<T>[]): FormOption<T>[];
629
+ /** Type-safe identity helper for reusable form configuration. */
630
+ declare function defineFormConfig<T extends object = FormRecord>(config: FormConfig<T>): FormConfig<T>;
631
+ interface UseCFormOptions<T extends object> {
632
+ initialValues: T;
633
+ options: MaybeRefOrGetter<FormOption<T>[]>;
634
+ config?: MaybeRefOrGetter<FormConfig<T> | undefined>;
635
+ }
636
+ /** Small binding helper for the common controlled C_Form setup. */
637
+ declare function useCForm<T extends object>(setup: UseCFormOptions<T>): {
638
+ model: vue.Ref<any, any> extends T ? T extends T & vue.Ref<any, any> ? _vue_shared0.IfAny<T, vue.ShallowRef<T, T>, T> : vue.ShallowRef<T, T> : vue.ShallowRef<T, T>;
639
+ formRef: vue.ShallowRef<FormInstance<T> | null, FormInstance<T> | null>;
640
+ bindings: vue.ComputedRef<{
641
+ modelValue: any;
642
+ options: FormOption<T>[];
643
+ config: FormConfig<T> | undefined;
644
+ 'onUpdate:modelValue': (value: FormModel<T>) => void;
645
+ }>;
646
+ validate: () => Promise<void>;
647
+ submit: () => Promise<boolean>;
648
+ reset: () => void | undefined;
649
+ };
650
+ //#endregion
651
+ //#region src/components/C_Form/composables/useFormState.d.ts
652
+ type FormEmit = {
653
+ (event: 'update:modelValue', model: FormModel): void;
654
+ (event: 'validate-success', model: FormModel): void;
655
+ (event: 'validate-error', errors: unknown): void;
656
+ (event: 'submit', payload: SubmitEventPayload): void;
657
+ };
658
+ /** C_Form state, validation, async options and model synchronization engine. */
659
+ declare function useFormState(options: ComputedRef<FormOption[]>, config: ComputedRef<ResolvedFormConfig>, formRef: Ref<FormInst | null>, emit: FormEmit, externalModel?: ComputedRef<FormModel | undefined>): {
660
+ formModel: FormRecord;
661
+ formRules: FormRules;
662
+ visibleOptions: ComputedRef<FormOption<FormRecord>[]>;
663
+ initialize: () => void;
664
+ handleFieldChange: (field: string) => void;
665
+ setFormItemRef: (field: string, instance: FormItemInst | null) => void;
666
+ validate: () => Promise<void>;
667
+ validateField: (field: string | string[]) => Promise<void>;
668
+ validateStep: (stepIndex: number) => Promise<boolean>;
669
+ validateTab: (tabKey: string) => Promise<boolean>;
670
+ validateDynamicFields: () => Promise<boolean>;
671
+ validateCustomGroup: (groupKey: string) => Promise<boolean>;
672
+ clearValidation: (field?: string | string[]) => void;
673
+ getModel: () => FormModel;
674
+ setFields: (fields: FormModel) => void;
675
+ resetFields: () => void;
676
+ setFieldValue: (field: string, value: unknown, shouldValidate?: boolean) => Promise<void>;
677
+ getFieldValue: (field: string) => unknown;
678
+ setFieldsValue: (fields: FormModel, shouldValidate?: boolean) => Promise<void>;
679
+ submit: () => Promise<boolean>;
680
+ handleSubmit: () => Promise<boolean>;
681
+ handleReset: () => void;
682
+ isSubmitting: Ref<boolean, boolean>;
683
+ isDirty: Ref<boolean, boolean>;
684
+ getChangedFields: () => string[];
685
+ isFieldDirty: (field: string) => boolean;
686
+ markAsClean: () => void;
687
+ asyncOptionsCache: Ref<Record<string, OptionItem[]>, Record<string, OptionItem[]>>;
688
+ asyncLoadingMap: Ref<Record<string, boolean>, Record<string, boolean>>;
689
+ asyncErrorMap: Ref<Record<string, unknown>, Record<string, unknown>>;
690
+ reloadOptions: (field?: string) => Promise<void>;
691
+ };
692
+ //#endregion
693
+ //#region src/components/C_Form/composables/useFormDirty.d.ts
694
+ interface UseFormDirtyReturn {
695
+ /** 表单是否已修改 */
696
+ isDirty: Ref<boolean>;
697
+ /** 获取发生变化的字段名列表 */
698
+ getChangedFields: () => string[];
699
+ /** 检查指定字段是否脏 */
700
+ isFieldDirty: (field: string) => boolean;
701
+ /** 保存当前值为干净快照 */
702
+ markAsClean: () => void;
703
+ /** 获取干净快照的独立副本 */
704
+ getCleanModel: () => FormModel;
705
+ }
706
+ /**
707
+ * 脏检查 Composable — 追踪 formModel 相对于初始快照的变化
708
+ * @param formModel 响应式表单数据对象(reactive)
709
+ */
710
+ declare function useFormDirty(formModel: FormModel, fields?: MaybeRefOrGetter<readonly string[]>): UseFormDirtyReturn;
711
+ //#endregion
712
+ //#region src/components/C_Form/composables/useDynamicFormState.d.ts
713
+ /**
714
+ * @description 可用的字段类型选项
715
+ */
716
+ declare const FIELD_TYPE_OPTIONS: readonly [{
717
+ readonly label: "文本输入";
718
+ readonly value: ComponentType;
719
+ }, {
720
+ readonly label: "数字输入";
721
+ readonly value: ComponentType;
722
+ }, {
723
+ readonly label: "多行文本";
724
+ readonly value: ComponentType;
725
+ }, {
726
+ readonly label: "下拉选择";
727
+ readonly value: ComponentType;
728
+ }, {
729
+ readonly label: "开关切换";
730
+ readonly value: ComponentType;
731
+ }, {
732
+ readonly label: "评分组件";
733
+ readonly value: ComponentType;
734
+ }];
735
+ /**
736
+ * @description 创建和管理动态表单状态
737
+ * @returns 包含状态和方法的对象
738
+ */
739
+ declare const useDynamicFormState: () => DynamicFormController;
740
+ /**
741
+ * @description 动态表单状态类型
742
+ */
743
+ type DynamicFormStateType = DynamicFormController;
744
+ /**
745
+ * @description 动态表单状态注入键
746
+ */
747
+ declare const DYNAMIC_FORM_STATE_KEY: unique symbol;
748
+ //#endregion
749
+ export { OptionItem as $, useFormGlobalConfig as A, FieldPathValue as B, FormConfig as C, mergeFormConfig as D, ResolvedFormConfig as E, DynamicFieldConfig as F, FormOption as G, FormInstance as H, DynamicFormConfig as I, InlineLayoutConfig as J, FormRecord as K, DynamicFormController as L, CardLayoutConfig as M, ComponentType as N, resolveFormConfig as O, CustomLayoutConfig as P, MaybePromise as Q, DynamicFormState as R, FORM_GLOBAL_CONFIG_KEY as S, LayoutCallbacks as T, FormMode as U, FormErrorContext as V, FormModel as W, LayoutConfig as X, LabelPlacement as Y, LayoutType as Z, UseFormRendererOptions as _, UseFormDirtyReturn as a, useFormRenderer as b, UseCFormOptions as c, useCForm as d, StepsLayoutConfig as et, _default as f, RendererProps as g, FormRendererContext as h, useDynamicFormState as i, AsyncOptionsContext as j, shouldShowActions as k, defineFormConfig as l, FormRenderer as m, DynamicFormStateType as n, TabsLayoutConfig as nt, useFormDirty as o, ComponentMap as p, GridLayoutConfig as q, FIELD_TYPE_OPTIONS as r, useFormState as s, DYNAMIC_FORM_STATE_KEY as t, SubmitEventPayload as tt, defineFormOptions as u, registerRenderer as v, LAYOUTS_WITH_OWN_CONTROLS as w, FORM_DEFAULTS as x, unregisterRenderer as y, FieldPath as z };