@robot-admin/naive-ui-components 0.10.3 → 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 (658) hide show
  1. package/CHANGELOG.md +111 -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 +6 -7
  327. package/dist/constants2.d.cts +177 -0
  328. package/dist/constants2.d.ts +5 -6
  329. package/dist/constants3.d.cts +479 -0
  330. package/dist/constants3.d.ts +17 -13
  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 +13 -13
  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 +49 -45
  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 +1 -2
  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} +5 -6
  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 +3 -4
  389. package/dist/index27.vue.d.cts +80 -0
  390. package/dist/index27.vue.d.ts +3 -4
  391. package/dist/index3.vue.d.cts +87 -0
  392. package/dist/index3.vue.d.ts +2 -3
  393. package/dist/index4.vue.d.cts +37 -0
  394. package/dist/index4.vue.d.ts +5 -6
  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 +3 -4
  418. package/dist/useCollapsePanel.d.cts +133 -0
  419. package/dist/useCollapsePanel.d.ts +1 -2
  420. package/dist/useCropperCore.d.cts +104 -0
  421. package/dist/useCropperCore.d.ts +12 -10
  422. package/dist/useDraggableLayout.d.cts +196 -0
  423. package/dist/useDraggableLayout.d.ts +18 -16
  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 +6 -7
  428. package/dist/useFullscreen.d.cts +165 -0
  429. package/dist/useFullscreen.d.ts +1 -2
  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 +3 -4
  442. package/dist/useTableQuery.cjs +3 -0
  443. package/dist/{useModalEdit.d.ts → useTableQuery.d.cts} +624 -211
  444. package/dist/useTableQuery.d.ts +1721 -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 +14 -12
  450. package/dist/useWorkflowValidation.d.cts +1051 -0
  451. package/dist/useWorkflowValidation.d.ts +66 -67
  452. package/dist/verification.d.cts +58 -0
  453. package/dist/verification.d.ts +58 -0
  454. package/package.json +101 -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/{chunk.js → chunk.cjs} +0 -0
package/package.json CHANGED
@@ -3,8 +3,13 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.10.3",
6
+ "version": "0.11.0",
7
7
  "description": "基于 Naive UI 的 Vue 3 组件库",
8
+ "packageManager": "bun@1.3.14",
9
+ "engines": {
10
+ "node": ">=20.19.0",
11
+ "bun": ">=1.3.14"
12
+ },
8
13
  "type": "module",
9
14
  "main": "dist/index.cjs",
10
15
  "module": "dist/index.js",
@@ -26,16 +31,23 @@
26
31
  "import": "./dist/C_*.js",
27
32
  "require": "./dist/C_*.cjs"
28
33
  },
29
- "./C_*/style.css": "./dist/C_*.css"
34
+ "./C_*/style.css": "./dist/C_*.css",
35
+ "./C_Form/base.css": "./dist/C_Form.base.css",
36
+ "./C_Form/full.css": "./dist/C_Form.css",
37
+ "./C_Table/base.css": "./dist/C_Table.base.css",
38
+ "./C_Table/full.css": "./dist/C_Table.css"
30
39
  },
31
40
  "sideEffects": [
32
41
  "dist/style.css",
33
- "dist/C_*.css"
42
+ "dist/C_*.css",
43
+ "dist/C_*.base.css"
34
44
  ],
35
45
  "files": [
36
46
  "dist",
37
47
  "README.md",
38
- "CHANGELOG.md"
48
+ "README_EN.md",
49
+ "CHANGELOG.md",
50
+ "SECURITY.md"
39
51
  ],
40
52
  "keywords": [
41
53
  "vue",
@@ -60,101 +72,121 @@
60
72
  "build:scss": "node scripts/gen-global-scss.js && sass src/styles/global.scss dist/global-scss.css --style=compressed --no-source-map --load-path=src --silence-deprecation=legacy-js-api",
61
73
  "build:css": "node scripts/merge-css.js",
62
74
  "build:exports": "node scripts/gen-exports.js",
63
- "build": "tsdown && bun run build:scss && bun run build:css && bun run build:exports && bun run check:dist",
75
+ "build": "tsdown && bun run build:scss && bun run build:css && bun run build:exports && bun run check:dist && bun run check:size",
64
76
  "type-check": "tsc --noEmit",
65
- "test": "bun test",
77
+ "test": "bun test tests",
66
78
  "check:exports": "node scripts/check-export-conflicts.js",
67
79
  "check:dist": "node scripts/check-dist-entries.js",
68
- "verify": "bun run type-check && bun run test && bun run check:exports && bun run build",
69
- "prepublishOnly": "bun run build",
80
+ "check:size": "node scripts/check-size-budget.js",
81
+ "check:audit": "bun audit",
82
+ "check:package": "node scripts/check-package-contract.js",
83
+ "check:quality": "node scripts/check-source-quality.js",
84
+ "verify": "bun run lint:check && bun run type-check && bun run test && bun run check:exports && bun run check:package && bun run check:quality && bun run build",
85
+ "prepublishOnly": "bun run verify",
70
86
  "release": "changeset publish",
71
87
  "changeset": "changeset",
72
88
  "version": "changeset version",
73
- "prepare": "husky || true",
89
+ "prepare": "node node_modules/husky/bin.js",
74
90
  "cz": "git-cz",
75
91
  "lint": "oxlint . --fix -D correctness --ignore-path .gitignore && eslint . --fix",
76
- "lint:check": "oxlint . -D correctness --ignore-path .gitignore",
92
+ "lint:check": "oxlint . -D correctness --ignore-path .gitignore && eslint . --no-fix",
77
93
  "lint:eslint": "eslint . --no-fix",
78
94
  "lint:staged": "lint-staged",
79
95
  "commitlint": "commitlint",
80
96
  "format": "prettier --write src/"
81
97
  },
82
98
  "peerDependencies": {
83
- "@robot-admin/form-validate": ">=2.0.0 <4.0.0",
84
99
  "vue": "^3.5.0",
85
100
  "naive-ui": "^2.35.0",
86
- "vue-router": "^4.0.0"
87
- },
88
- "optionalDependencies": {
101
+ "vue-router": "^4.6.4",
89
102
  "sortablejs": "^1.15.7"
90
103
  },
104
+ "peerDependenciesMeta": {
105
+ "vue-router": {
106
+ "optional": true
107
+ },
108
+ "sortablejs": {
109
+ "optional": true
110
+ }
111
+ },
91
112
  "dependencies": {
92
- "@antv/x6": "^2.18.0",
93
- "@chenfengyuan/vue-barcode": "^2.0.0",
94
- "@fullcalendar/core": "^6.1.0",
95
- "@fullcalendar/daygrid": "^6.1.0",
96
- "@fullcalendar/interaction": "^6.1.0",
97
- "@fullcalendar/list": "^6.1.0",
98
- "@fullcalendar/vue3": "^6.1.0",
99
- "@iconify/vue": "^5.0.0",
100
- "@kangc/v-md-editor": "^2.3.0",
101
- "@tato30/vue-pdf": "^1.11.0",
102
- "@visactor/vtable": "^1.0.0",
103
- "@visactor/vtable-gantt": "^1.0.0",
104
- "@vue-flow/core": "^1.45.0",
105
- "@vueuse/core": "^13.6.0",
106
- "driver.js": "^1.3.0",
107
- "expr-eval": "^2.0.0",
108
- "highlight.js": "^11.11.1",
109
- "html2canvas": "^1.4.0",
110
- "leaflet": "^1.9.0",
111
- "mammoth": "^1.9.0",
113
+ "@antv/x6": "^2.19.2",
114
+ "@chenfengyuan/vue-barcode": "^2.0.2",
115
+ "@fullcalendar/core": "^6.1.21",
116
+ "@fullcalendar/daygrid": "^6.1.21",
117
+ "@fullcalendar/interaction": "^6.1.21",
118
+ "@fullcalendar/list": "^6.1.21",
119
+ "@fullcalendar/vue3": "^6.1.21",
120
+ "@iconify/vue": "^5.0.1",
121
+ "@visactor/vtable": "^1.26.7",
122
+ "@visactor/vtable-gantt": "^1.26.7",
123
+ "@vue-flow/core": "^1.48.2",
124
+ "@wangeditor-next/editor": "6.2.0",
125
+ "@wangeditor-next/editor-for-vue": "6.2.0",
126
+ "dompurify": "^3.4.14",
127
+ "driver.js": "^1.8.0",
128
+ "highlight.js": "^11.12.0",
129
+ "html2canvas": "^1.4.1",
130
+ "leaflet": "^1.9.4",
131
+ "mammoth": "^1.12.2",
132
+ "md-editor-v3": "6.5.6",
112
133
  "print-js": "^1.6.0",
113
- "qrcode": "^1.5.0",
134
+ "qrcode": "^1.5.4",
114
135
  "spark-md5": "^3.0.2",
115
- "vue-cropper": "^1.1.0",
116
- "vue-draggable-plus": "^0.6.0",
117
- "vue3-puzzle-vcode": "^1.1.0",
118
- "wangeditor": "^4.7.0",
119
- "xgplayer": "^3.0.23",
120
- "xgplayer-hls": "^3.0.23",
121
- "xlsx": "^0.18.5"
136
+ "vue-cropper": "^1.1.4",
137
+ "vue-draggable-plus": "^0.6.1",
138
+ "vue3-puzzle-vcode": "^1.1.7",
139
+ "xgplayer": "3.0.26",
140
+ "xgplayer-hls": "3.0.26",
141
+ "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz"
122
142
  },
123
143
  "devDependencies": {
124
144
  "@changesets/changelog-github": "^0.7.0",
125
145
  "@changesets/cli": "^2.31.1",
126
- "@commitlint/cli": "^20.4.2",
127
- "@commitlint/config-conventional": "^20.4.2",
146
+ "@commitlint/cli": "^20.5.3",
147
+ "@commitlint/config-conventional": "^20.5.3",
128
148
  "@robot-admin/git-standards": "1.0.3",
129
- "@robot-admin/form-validate": "2.0.0",
130
- "@types/node": "^24.2.1",
149
+ "@types/node": "^24.13.3",
131
150
  "@types/sortablejs": "^1.15.9",
132
- "@typescript-eslint/eslint-plugin": "^8.56.1",
133
- "@typescript-eslint/parser": "^8.56.1",
134
- "@vitejs/plugin-vue": "^6.0.5",
135
- "@vue/compiler-sfc": "^3.5.18",
151
+ "@types/spark-md5": "^3.0.5",
152
+ "@typescript-eslint/eslint-plugin": "^8.69.0",
153
+ "@typescript-eslint/parser": "^8.69.0",
154
+ "@vitejs/plugin-vue": "^6.0.8",
155
+ "@vue/compiler-sfc": "^3.5.42",
136
156
  "@vue/eslint-config-prettier": "^10.2.0",
137
- "@vue/eslint-config-typescript": "^14.7.0",
138
- "@vue/language-core": "^3.2.5",
139
- "commitizen": "^4.3.1",
140
- "cz-customizable": "^7.5.1",
141
- "eslint": "^10.0.2",
142
- "eslint-plugin-jsdoc": "^62.7.1",
143
- "eslint-plugin-oxlint": "^1.50.0",
144
- "eslint-plugin-vue": "^10.8.0",
157
+ "@vue/eslint-config-typescript": "^14.9.0",
158
+ "@vue/language-core": "^3.3.11",
159
+ "commitizen": "^4.3.2",
160
+ "cz-customizable": "^7.5.4",
161
+ "eslint": "^10.9.1",
162
+ "eslint-plugin-jsdoc": "^62.9.0",
163
+ "eslint-plugin-oxlint": "^1.80.0",
164
+ "eslint-plugin-vue": "^10.10.0",
145
165
  "husky": "^9.1.7",
146
- "lint-staged": "^16.2.7",
147
- "naive-ui": "^2.42.0",
148
- "oxlint": "^1.50.0",
149
- "prettier": "^3.8.1",
150
- "sass": "^1.90.0",
166
+ "lint-staged": "^16.4.0",
167
+ "naive-ui": "^2.45.3",
168
+ "oxlint": "^1.80.0",
169
+ "prettier": "^3.9.6",
170
+ "sass": "^1.103.1",
151
171
  "tsdown": "^0.20.3",
152
- "typescript": "^5.9.2",
153
- "unplugin-vue": "^7.1.1",
154
- "unplugin-vue-components": "^31.0.0",
155
- "vite": "^8.0.1",
156
- "vue": "^3.5.18",
157
- "vue-tsc": "^3.2.6"
172
+ "typescript": "^5.9.3",
173
+ "unplugin-vue": "^7.2.0",
174
+ "unplugin-vue-components": "^31.1.0",
175
+ "vite": "^8.2.2",
176
+ "vue": "^3.5.42",
177
+ "vue-tsc": "^3.3.11"
178
+ },
179
+ "overrides": {
180
+ "@xmldom/xmldom": "0.8.13",
181
+ "defu": "6.1.7",
182
+ "fast-uri": "3.1.5",
183
+ "flatted": "3.4.2",
184
+ "lodash": "4.18.1",
185
+ "lodash-es": "4.18.1",
186
+ "minimist": "1.2.8",
187
+ "protocol-buffers-schema": "3.6.1",
188
+ "tmp": "0.2.7",
189
+ "yaml": "2.9.0"
158
190
  },
159
191
  "config": {
160
192
  "commitizen": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_ActionBar-BAcfOfRw.css","names":[],"sources":["../src/components/C_ActionBar/index.vue?vue&type=style&index=0&scoped=10de07f6&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled *//* 通用操作按钮组件样式 */\n/* ================= 主容器 ================= */\n.c-action-bar[data-v-10de07f6] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n margin-bottom: 16px;\n background: var(--c-bg-card);\n border-radius: var(--c-radius);\n border: 1px solid var(--c-border);\n transition: all 0.3s ease;\n}\n.c-action-bar.is-align-left[data-v-10de07f6] {\n justify-content: flex-start;\n}\n.c-action-bar.is-align-center[data-v-10de07f6] {\n justify-content: center;\n}\n.c-action-bar.is-align-right[data-v-10de07f6] {\n justify-content: flex-end;\n}\n.c-action-bar.is-align-space-between[data-v-10de07f6] {\n justify-content: space-between;\n}\n.c-action-bar.is-align-space-around[data-v-10de07f6] {\n justify-content: space-around;\n}\n.c-action-bar.is-compact[data-v-10de07f6] {\n padding: 12px;\n margin-bottom: 12px;\n}\n.c-action-bar.is-inline[data-v-10de07f6] {\n padding: 0;\n margin-bottom: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n box-shadow: none;\n}\n.c-action-bar.is-wrap[data-v-10de07f6] {\n flex-wrap: wrap;\n gap: 12px;\n}\n@media (max-width: 768px) {\n.c-action-bar[data-v-10de07f6] {\n flex-direction: column;\n gap: 12px;\n}\n.c-action-bar .actions-group[data-v-10de07f6] {\n width: 100%;\n justify-content: center;\n}\n}\n\n/* ================= 按钮组 ================= */\n.actions-group[data-v-10de07f6] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: nowrap;\n}\n.actions-group.actions-left[data-v-10de07f6] {\n justify-content: flex-start;\n}\n.actions-group.actions-right[data-v-10de07f6] {\n justify-content: flex-end;\n}\n.c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-10de07f6], .c-action-bar.has-only-right.is-align-center .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: center;\n}\n.c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-10de07f6], .c-action-bar.has-only-right.is-align-space-between .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: space-between;\n}\n.c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-10de07f6], .c-action-bar.has-only-right.is-align-space-around .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: space-around;\n}\n.c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-10de07f6] {\n width: 100%;\n justify-content: flex-end;\n}\n.c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: flex-start;\n}\n.actions-group[data-v-10de07f6] .n-button {\n transition: all 0.3s ease;\n font-weight: 500;\n}\n.actions-group[data-v-10de07f6] .n-button .n-icon {\n transition: transform 0.3s ease;\n}\n.actions-group[data-v-10de07f6] .n-button:hover:not(:disabled) {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n.actions-group[data-v-10de07f6] .n-button:hover:not(:disabled) .n-icon {\n transform: scale(1.1);\n}\n.actions-group[data-v-10de07f6] .n-button:active:not(:disabled) {\n transform: translateY(0);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n.actions-group[data-v-10de07f6] .n-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.actions-group[data-v-10de07f6] .n-button.n-button--loading {\n pointer-events: none;\n}\n.actions-group[data-v-10de07f6] .n-button--primary-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(24, 160, 88, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--info-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(42, 148, 125, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--success-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(99, 226, 183, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--warning-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(240, 138, 0, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--error-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(208, 48, 80, 0.3);\n}\n\n/* ================= 中间插槽区域 ================= */\n.actions-center[data-v-10de07f6] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 0 24px;\n min-width: 0;\n}\n\n/* ================= 分隔线 ================= */\n.action-divider[data-v-10de07f6] {\n margin: 0 8px !important;\n height: 20px;\n opacity: 0.3;\n transition: opacity 0.3s ease;\n}\n.action-divider[data-v-10de07f6]:hover {\n opacity: 0.6;\n}\n\n/* ================= 下拉菜单优化 ================= */\n[data-v-10de07f6] .n-dropdown-option {\n transition: all 0.2s ease;\n}\n[data-v-10de07f6] .n-dropdown-option:hover {\n transform: translateX(4px);\n}\n[data-v-10de07f6] .n-dropdown-option .n-icon {\n transition: transform 0.2s ease;\n}\n[data-v-10de07f6] .n-dropdown-option:hover .n-icon {\n transform: scale(1.15);\n}\n\n/* ================= 加载动画 ================= */\n@keyframes button-loading-10de07f6 {\n0% {\n opacity: 0.6;\n}\n50% {\n opacity: 1;\n}\n100% {\n opacity: 0.6;\n}\n}\n[data-v-10de07f6] .n-button--loading {\n animation: button-loading-10de07f6 1.5s ease-in-out infinite;\n}\n\n/* ================= Tooltip 样式 ================= */\n[data-v-10de07f6] .n-tooltip .n-tooltip__content {\n font-size: 12px;\n padding: 6px 10px;\n border-radius: 4px;\n backdrop-filter: blur(8px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n/* ================= 暗黑模式适配 ================= */\nhtml.dark .c-action-bar[data-v-10de07f6] {\n border-color: rgba(255, 255, 255, 0.09);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n}\nhtml.dark .actions-group[data-v-10de07f6] .n-button:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);\n}\nhtml.dark .action-divider[data-v-10de07f6] {\n opacity: 0.15;\n}\nhtml.dark .action-divider[data-v-10de07f6]:hover {\n opacity: 0.4;\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_ActionBar-DG2HW7t5.css","names":[],"sources":["../src/components/C_ActionBar/index.vue?vue&type=style&index=0&scoped=10de07f6&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled *//* 通用操作按钮组件样式 */\n/* ================= 主容器 ================= */\n.c-action-bar[data-v-10de07f6] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px;\n margin-bottom: 16px;\n background: var(--c-bg-card);\n border-radius: var(--c-radius);\n border: 1px solid var(--c-border);\n transition: all 0.3s ease;\n}\n.c-action-bar.is-align-left[data-v-10de07f6] {\n justify-content: flex-start;\n}\n.c-action-bar.is-align-center[data-v-10de07f6] {\n justify-content: center;\n}\n.c-action-bar.is-align-right[data-v-10de07f6] {\n justify-content: flex-end;\n}\n.c-action-bar.is-align-space-between[data-v-10de07f6] {\n justify-content: space-between;\n}\n.c-action-bar.is-align-space-around[data-v-10de07f6] {\n justify-content: space-around;\n}\n.c-action-bar.is-compact[data-v-10de07f6] {\n padding: 12px;\n margin-bottom: 12px;\n}\n.c-action-bar.is-inline[data-v-10de07f6] {\n padding: 0;\n margin-bottom: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n box-shadow: none;\n}\n.c-action-bar.is-wrap[data-v-10de07f6] {\n flex-wrap: wrap;\n gap: 12px;\n}\n@media (max-width: 768px) {\n.c-action-bar[data-v-10de07f6] {\n flex-direction: column;\n gap: 12px;\n}\n.c-action-bar .actions-group[data-v-10de07f6] {\n width: 100%;\n justify-content: center;\n}\n}\n\n/* ================= 按钮组 ================= */\n.actions-group[data-v-10de07f6] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: nowrap;\n}\n.actions-group.actions-left[data-v-10de07f6] {\n justify-content: flex-start;\n}\n.actions-group.actions-right[data-v-10de07f6] {\n justify-content: flex-end;\n}\n.c-action-bar.has-only-left.is-align-center .actions-group.actions-left[data-v-10de07f6], .c-action-bar.has-only-right.is-align-center .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: center;\n}\n.c-action-bar.has-only-left.is-align-space-between .actions-group.actions-left[data-v-10de07f6], .c-action-bar.has-only-right.is-align-space-between .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: space-between;\n}\n.c-action-bar.has-only-left.is-align-space-around .actions-group.actions-left[data-v-10de07f6], .c-action-bar.has-only-right.is-align-space-around .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: space-around;\n}\n.c-action-bar.has-only-left.is-align-right .actions-group.actions-left[data-v-10de07f6] {\n width: 100%;\n justify-content: flex-end;\n}\n.c-action-bar.has-only-right.is-align-left .actions-group.actions-right[data-v-10de07f6] {\n width: 100%;\n justify-content: flex-start;\n}\n.actions-group[data-v-10de07f6] .n-button {\n transition: all 0.3s ease;\n font-weight: 500;\n}\n.actions-group[data-v-10de07f6] .n-button .n-icon {\n transition: transform 0.3s ease;\n}\n.actions-group[data-v-10de07f6] .n-button:hover:not(:disabled) {\n transform: translateY(-2px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n.actions-group[data-v-10de07f6] .n-button:hover:not(:disabled) .n-icon {\n transform: scale(1.1);\n}\n.actions-group[data-v-10de07f6] .n-button:active:not(:disabled) {\n transform: translateY(0);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n.actions-group[data-v-10de07f6] .n-button:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n.actions-group[data-v-10de07f6] .n-button.n-button--loading {\n pointer-events: none;\n}\n.actions-group[data-v-10de07f6] .n-button--primary-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(24, 160, 88, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--info-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(42, 148, 125, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--success-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(99, 226, 183, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--warning-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(240, 138, 0, 0.3);\n}\n.actions-group[data-v-10de07f6] .n-button--error-type:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(208, 48, 80, 0.3);\n}\n\n/* ================= 中间插槽区域 ================= */\n.actions-center[data-v-10de07f6] {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 1;\n padding: 0 24px;\n min-width: 0;\n}\n\n/* ================= 分隔线 ================= */\n.action-divider[data-v-10de07f6] {\n margin: 0 8px !important;\n height: 20px;\n opacity: 0.3;\n transition: opacity 0.3s ease;\n}\n.action-divider[data-v-10de07f6]:hover {\n opacity: 0.6;\n}\n\n/* ================= 下拉菜单优化 ================= */\n[data-v-10de07f6] .n-dropdown-option {\n transition: all 0.2s ease;\n}\n[data-v-10de07f6] .n-dropdown-option:hover {\n transform: translateX(4px);\n}\n[data-v-10de07f6] .n-dropdown-option .n-icon {\n transition: transform 0.2s ease;\n}\n[data-v-10de07f6] .n-dropdown-option:hover .n-icon {\n transform: scale(1.15);\n}\n\n/* ================= 加载动画 ================= */\n@keyframes button-loading-10de07f6 {\n0% {\n opacity: 0.6;\n}\n50% {\n opacity: 1;\n}\n100% {\n opacity: 0.6;\n}\n}\n[data-v-10de07f6] .n-button--loading {\n animation: button-loading-10de07f6 1.5s ease-in-out infinite;\n}\n\n/* ================= Tooltip 样式 ================= */\n[data-v-10de07f6] .n-tooltip .n-tooltip__content {\n font-size: 12px;\n padding: 6px 10px;\n border-radius: 4px;\n backdrop-filter: blur(8px);\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n}\n\n/* ================= 暗黑模式适配 ================= */\nhtml.dark .c-action-bar[data-v-10de07f6] {\n border-color: rgba(255, 255, 255, 0.09);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n}\nhtml.dark .actions-group[data-v-10de07f6] .n-button:hover:not(:disabled) {\n box-shadow: 0 4px 12px rgba(255, 255, 255, 0.1);\n}\nhtml.dark .action-divider[data-v-10de07f6] {\n opacity: 0.15;\n}\nhtml.dark .action-divider[data-v-10de07f6]:hover {\n opacity: 0.4;\n}"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_ActionBar.js","names":["$slots"],"sources":["../src/components/C_ActionBar/index.vue","../src/components/C_ActionBar/index.vue"],"sourcesContent":["<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n@use \"./index.scss\";\n</style>\n","<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n@use \"./index.scss\";\n</style>\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_ActionBar2.js","names":["$slots"],"sources":["../src/components/C_ActionBar/index.vue","../src/components/C_ActionBar/index.vue"],"sourcesContent":["<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n@use \"./index.scss\";\n</style>\n","<!--\n * @Author: ChenYu ycyplus@gmail.com\n * @Date: 2026-02-14\n * @Description: 通用操作按钮组件 - 配置化管理任何场景的按钮组\n * @Migration: naive-ui-components 组件库迁移版本\n * Copyright (c) 2026 by CHENY, All Rights Reserved.\n-->\n<template>\n <div\n class=\"c-action-bar\"\n :class=\"{\n 'is-compact': finalConfig.compact,\n 'is-inline': finalConfig.inline,\n 'is-wrap': finalConfig.wrap,\n [`is-align-${finalConfig.align}`]: true,\n 'has-only-left':\n leftButtonList.length > 0 &&\n rightButtonList.length === 0 &&\n !$slots.center,\n 'has-only-right':\n rightButtonList.length > 0 &&\n leftButtonList.length === 0 &&\n !$slots.center,\n }\"\n >\n <div\n v-if=\"leftButtonList.length > 0\"\n class=\"actions-group actions-left\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in leftButtonList\"\n :key=\"action.key || `left-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < leftButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n\n <div v-if=\"$slots.center\" class=\"actions-center\">\n <slot name=\"center\" />\n </div>\n\n <div\n v-if=\"rightButtonList.length > 0\"\n class=\"actions-group actions-right\"\n :style=\"{ gap: `${finalConfig.gap}px` }\"\n >\n <template\n v-for=\"(action, index) in rightButtonList\"\n :key=\"action.key || `right-${index}`\"\n >\n <ActionButton\n :action=\"action\"\n @click=\"handleActionClick(action)\"\n @dropdown-select=\"(item) => handleDropdownClick(item, action)\"\n />\n <NDivider\n v-if=\"\n finalConfig.showDivider &&\n index < rightButtonList.length - 1 &&\n finalConfig.dividerType === 'vertical'\n \"\n vertical\n class=\"action-divider\"\n />\n </template>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, unref, h, withDirectives, defineComponent } from \"vue\";\nimport type { PropType } from \"vue\";\nimport { NButton, NTooltip, NDropdown, NDivider } from \"naive-ui\";\nimport C_Icon from \"../C_Icon/index.vue\";\nimport type {\n ActionItem,\n ActionDropdownItem,\n ActionBarConfig,\n TableActionsProps,\n TableActionsEmits,\n} from \"./types\";\n\ndefineOptions({ name: \"C_ActionBar\" });\n\nconst props = withDefaults(defineProps<TableActionsProps>(), {\n actions: () => [],\n leftActions: () => [],\n rightActions: () => [],\n config: () => ({}),\n});\n\nconst emit = defineEmits<TableActionsEmits>();\n\nconst defaultConfig: Required<ActionBarConfig> = {\n align: \"left\",\n size: \"medium\",\n gap: 8,\n wrap: false,\n showDivider: false,\n dividerType: \"vertical\",\n compact: false,\n inline: true,\n};\n\nconst finalConfig = computed<Required<ActionBarConfig>>(() => ({\n ...defaultConfig,\n ...props.config,\n}));\n\nconst leftButtonList = computed<ActionItem[]>(() => {\n if (props.leftActions && props.leftActions.length > 0) {\n return props.leftActions.filter((action) => shouldShowAction(action));\n }\n if (props.actions.length > 0) {\n const hasRightActions = props.rightActions && props.rightActions.length > 0;\n const hasRightGroup = props.actions.some(\n (action) => action.group === \"right\",\n );\n if (!hasRightActions && !hasRightGroup) {\n return props.actions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"left\" && shouldShowAction(action),\n );\n }\n return [];\n});\n\nconst rightButtonList = computed<ActionItem[]>(() => {\n if (props.rightActions && props.rightActions.length > 0) {\n return props.rightActions.filter((action) => shouldShowAction(action));\n }\n return props.actions.filter(\n (action) => action.group === \"right\" && shouldShowAction(action),\n );\n});\n\nconst shouldShowAction = (action: ActionItem): boolean => {\n if (action.show === undefined) return true;\n return unref(action.show);\n};\n\nconst isActionDisabled = (action: ActionItem): boolean => {\n return unref(action.disabled) || false;\n};\n\nconst isActionLoading = (action: ActionItem): boolean => {\n return unref(action.loading) || false;\n};\n\nconst handleActionClick = async (action: ActionItem) => {\n if (action.dropdown && action.dropdown.length > 0) return;\n emit(\"action-click\", action);\n if (action.onClick) {\n await action.onClick();\n }\n};\n\nconst handleDropdownClick = async (\n item: ActionDropdownItem,\n action: ActionItem,\n) => {\n emit(\"dropdown-click\", item, action);\n if (item.onClick) {\n await item.onClick();\n }\n};\n\nconst ActionButton = defineComponent({\n name: \"ActionButton\",\n props: {\n action: {\n type: Object as PropType<ActionItem>,\n required: true,\n },\n },\n emits: [\"click\", \"dropdown-select\"],\n setup(props, { emit }) {\n const action = computed(() => props.action);\n\n const dropdownOptions = computed(() => {\n if (!action.value.dropdown) return [];\n return action.value.dropdown\n .filter((item) => {\n if (item.show === undefined) return true;\n return unref(item.show);\n })\n .map((item) => ({\n key: item.key,\n label: item.label,\n icon: item.icon\n ? () => h(C_Icon, { name: item.icon, size: 14 })\n : undefined,\n disabled: unref(item.disabled),\n }));\n });\n\n const handleDropdownSelect = (key: string) => {\n const item = action.value.dropdown?.find((d) => d.key === key);\n if (item) {\n emit(\"dropdown-select\", item);\n }\n };\n\n const createButtonVNode = (extraProps?: Record<string, any>) => {\n const button = h(\n NButton,\n {\n type: action.value.type || \"default\",\n size: action.value.size || finalConfig.value.size,\n loading: isActionLoading(action.value),\n disabled: isActionDisabled(action.value),\n ...extraProps,\n ...action.value.buttonProps,\n },\n {\n default: () => action.value.label,\n icon: action.value.icon\n ? () => h(C_Icon, { name: action.value.icon, size: 16 })\n : undefined,\n },\n );\n\n return action.value.directives && action.value.directives.length > 0\n ? withDirectives(button, action.value.directives as any)\n : button;\n };\n\n const renderButton = () => {\n const vnode = createButtonVNode({ onClick: () => emit(\"click\") });\n if (action.value.tooltip) {\n return h(\n NTooltip,\n { placement: \"top\" },\n {\n trigger: () => vnode,\n default: () => action.value.tooltip,\n },\n );\n }\n return vnode;\n };\n\n const renderDropdownButton = () => {\n const vnode = createButtonVNode();\n return h(\n NDropdown,\n {\n options: dropdownOptions.value,\n onSelect: handleDropdownSelect,\n },\n {\n default: () => vnode,\n },\n );\n };\n\n return () => {\n if (action.value.dropdown && action.value.dropdown.length > 0) {\n return renderDropdownButton();\n }\n return renderButton();\n };\n },\n});\n</script>\n\n<style scoped lang=\"scss\">\n@use \"./index.scss\";\n</style>\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_AntV-D_jTK8oZ.css","names":[],"sources":["../src/components/C_AntV/layout/ER/index.vue?vue&type=style&index=0&scoped=19cb7526&lang.scss","../src/components/C_AntV/layout/BPMN/index.vue?vue&type=style&index=0&scoped=d588444e&lang.scss","../src/components/C_AntV/layout/UML/components/UMLClassEditor.vue?vue&type=style&index=0&scoped=102d6be6&lang.scss","../src/components/C_AntV/layout/UML/index.vue?vue&type=style&index=0&scoped=e4891a91&lang.scss","../src/components/C_AntV/index.vue?vue&type=style&index=0&scoped=b03826d0&lang.css"],"sourcesContent":["/* unplugin-vue-components disabled *//* ER 图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.er-layout[data-v-19cb7526] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.er-layout .toolbar[data-v-19cb7526] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.er-layout .graph-container[data-v-19cb7526] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.er-layout .graph-container[data-v-19cb7526] .x6-graph,\n.er-layout .graph-container[data-v-19cb7526] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.er-layout .graph-container[data-v-19cb7526] .x6-graph-svg-stage {\n outline: none;\n}\n.er-layout .table-editor[data-v-19cb7526] {\n height: 100%;\n overflow-y: auto;\n padding: 0 4px;\n}\n.er-layout .table-editor[data-v-19cb7526]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor[data-v-19cb7526]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] {\n max-height: calc(100vh - 400px);\n overflow-y: auto;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-19cb7526] {\n margin-bottom: 16px;\n}\n.er-layout .table-editor .fields-container .field-card .field-header[data-v-19cb7526] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-19cb7526] .n-card-header {\n padding: 10px 16px 8px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-19cb7526] .n-card__content {\n padding: 12px 16px 16px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] .n-select {\n min-width: 140px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] .n-select .n-select-menu {\n max-height: 200px;\n z-index: 9999;\n}\n.er-layout .table-editor .fields-container .n-form-item[data-v-19cb7526] {\n margin-bottom: 8px;\n}\n.er-layout .table-editor .fields-container .n-form-item .n-form-item-label[data-v-19cb7526] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] .n-input {\n min-width: 100px;\n}","/* unplugin-vue-components disabled *//* BPMN 布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.bpmn-layout[data-v-d588444e] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background: var(--n-color-embedded);\n border-radius: 6px;\n overflow: hidden;\n}\n.bpmn-layout .top-toolbar[data-v-d588444e] {\n background: var(--c-bg-card);\n border-bottom: 1px solid var(--c-border);\n padding: 10px 16px;\n flex-shrink: 0;\n}\n.bpmn-layout .top-toolbar .toolbar-section[data-v-d588444e] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.bpmn-layout .top-toolbar .toolbar-section .toolbar-group[data-v-d588444e] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.bpmn-layout .main-content[data-v-d588444e] {\n display: flex;\n flex: 1;\n height: 0;\n}\n.bpmn-layout .main-content .left-panel[data-v-d588444e] {\n width: 180px;\n background: var(--c-bg-card);\n border-right: 1px solid var(--c-border);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n.bpmn-layout .main-content .left-panel .panel-title[data-v-d588444e] {\n padding: 16px;\n font-weight: 600;\n font-size: 14px;\n color: var(--c-text-1);\n border-bottom: 1px solid var(--c-border);\n}\n.bpmn-layout .main-content .left-panel .element-grid[data-v-d588444e] {\n padding: 16px 12px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-d588444e] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 16px 8px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: var(--c-text-2);\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-d588444e]:hover {\n background: rgba(24, 144, 255, 0.1);\n border-color: rgba(24, 144, 255, 0.4);\n color: var(--c-primary);\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon[data-v-d588444e] {\n flex-shrink: 0;\n border: 2px solid var(--c-border);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.circle[data-v-d588444e] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.rect[data-v-d588444e] {\n width: 32px;\n height: 20px;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.diamond[data-v-d588444e] {\n width: 24px;\n height: 24px;\n transform: rotate(45deg);\n border-radius: 3px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.start-event[data-v-d588444e] {\n border-color: #52c41a;\n background: #f6ffed;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.end-event[data-v-d588444e] {\n border-color: #ff4d4f;\n background: #fff2f0;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.activity[data-v-d588444e] {\n border-color: #1890ff;\n background: #e6f7ff;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.gateway[data-v-d588444e] {\n border-color: #722ed1;\n background: #f9f0ff;\n}\n.bpmn-layout .main-content .graph-wrapper[data-v-d588444e] {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph,\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph-svg-stage {\n outline: none;\n}\n.n-drawer .property-panel[data-v-d588444e] {\n padding: 16px;\n}\n.n-drawer .property-panel .property-item[data-v-d588444e] {\n margin-bottom: 16px;\n}\n.n-drawer .property-panel .property-item .property-label[data-v-d588444e] {\n font-size: 14px;\n font-weight: 500;\n color: var(--c-text-1);\n margin-bottom: 8px;\n}\n.n-drawer .property-panel .form-actions[data-v-d588444e] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}","/* unplugin-vue-components disabled */.class-editor[data-v-102d6be6] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.section[data-v-102d6be6] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.section[data-v-102d6be6]::-webkit-scrollbar {\n width: 6px;\n}\n.section[data-v-102d6be6]::-webkit-scrollbar-thumb {\n background: #d4d4d4;\n border-radius: 3px;\n}\n.section-header[data-v-102d6be6] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.item[data-v-102d6be6] {\n margin-bottom: 8px;\n}\n.section .n-card[data-v-102d6be6] {\n border: 1px solid #e8e8e8;\n}\n.section .n-card-header[data-v-102d6be6] {\n padding: 8px 12px;\n background: #fafafa;\n border-bottom: 1px solid #e8e8e8;\n}\n.section .n-card__content[data-v-102d6be6] {\n padding: 12px;\n}\n.section .n-form-item[data-v-102d6be6] {\n margin-bottom: 0;\n}\n.section .n-form-item-label[data-v-102d6be6] {\n font-size: 12px;\n margin-bottom: 4px;\n color: #666;\n}","/* unplugin-vue-components disabled *//* UML 类图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.uml-layout[data-v-e4891a91] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.uml-layout .toolbar[data-v-e4891a91] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.uml-layout .graph-container[data-v-e4891a91] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.uml-layout .graph-container[data-v-e4891a91] .x6-graph,\n.uml-layout .graph-container[data-v-e4891a91] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.uml-layout .graph-container[data-v-e4891a91] .x6-graph-svg-stage {\n outline: none;\n}\n\n/* 抽屉编辑器样式 - 使用单独的样式块避免 scoped 问题 */\n.class-editor[data-v-e4891a91] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.class-editor[data-v-e4891a91]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor[data-v-e4891a91]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section[data-v-e4891a91] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.class-editor .section[data-v-e4891a91]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor .section[data-v-e4891a91]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section .item[data-v-e4891a91] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-card[data-v-e4891a91] {\n border: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card-header[data-v-e4891a91] {\n padding: 8px 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card__content[data-v-e4891a91] {\n padding: 12px;\n}\n.class-editor .section .n-form-item[data-v-e4891a91] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-form-item .n-form-item-label[data-v-e4891a91] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}","/* unplugin-vue-components disabled */\n.c-antv-container[data-v-b03826d0] {\r\n width: 100%;\r\n height: 100%;\n}\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"C_AntV-DanTAq22.css","names":[],"sources":["../src/components/C_AntV/layout/ER/index.vue?vue&type=style&index=0&scoped=19cb7526&lang.scss","../src/components/C_AntV/layout/BPMN/index.vue?vue&type=style&index=0&scoped=d588444e&lang.scss","../src/components/C_AntV/layout/UML/components/UMLClassEditor.vue?vue&type=style&index=0&scoped=102d6be6&lang.scss","../src/components/C_AntV/layout/UML/index.vue?vue&type=style&index=0&scoped=e4891a91&lang.scss","../src/components/C_AntV/index.vue?vue&type=style&index=0&scoped=b03826d0&lang.css"],"sourcesContent":["/* unplugin-vue-components disabled *//* ER 图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.er-layout[data-v-19cb7526] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.er-layout .toolbar[data-v-19cb7526] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.er-layout .graph-container[data-v-19cb7526] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.er-layout .graph-container[data-v-19cb7526] .x6-graph,\n.er-layout .graph-container[data-v-19cb7526] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.er-layout .graph-container[data-v-19cb7526] .x6-graph-svg-stage {\n outline: none;\n}\n.er-layout .table-editor[data-v-19cb7526] {\n height: 100%;\n overflow-y: auto;\n padding: 0 4px;\n}\n.er-layout .table-editor[data-v-19cb7526]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor[data-v-19cb7526]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] {\n max-height: calc(100vh - 400px);\n overflow-y: auto;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526]::-webkit-scrollbar {\n width: 6px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-19cb7526] {\n margin-bottom: 16px;\n}\n.er-layout .table-editor .fields-container .field-card .field-header[data-v-19cb7526] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 13px;\n font-weight: 500;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-19cb7526] .n-card-header {\n padding: 10px 16px 8px;\n}\n.er-layout .table-editor .fields-container .field-card[data-v-19cb7526] .n-card__content {\n padding: 12px 16px 16px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] .n-select {\n min-width: 140px;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] .n-select .n-select-menu {\n max-height: 200px;\n z-index: 9999;\n}\n.er-layout .table-editor .fields-container .n-form-item[data-v-19cb7526] {\n margin-bottom: 8px;\n}\n.er-layout .table-editor .fields-container .n-form-item .n-form-item-label[data-v-19cb7526] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}\n.er-layout .table-editor .fields-container[data-v-19cb7526] .n-input {\n min-width: 100px;\n}","/* unplugin-vue-components disabled *//* BPMN 布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.bpmn-layout[data-v-d588444e] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n background: var(--n-color-embedded);\n border-radius: 6px;\n overflow: hidden;\n}\n.bpmn-layout .top-toolbar[data-v-d588444e] {\n background: var(--c-bg-card);\n border-bottom: 1px solid var(--c-border);\n padding: 10px 16px;\n flex-shrink: 0;\n}\n.bpmn-layout .top-toolbar .toolbar-section[data-v-d588444e] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n.bpmn-layout .top-toolbar .toolbar-section .toolbar-group[data-v-d588444e] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.bpmn-layout .main-content[data-v-d588444e] {\n display: flex;\n flex: 1;\n height: 0;\n}\n.bpmn-layout .main-content .left-panel[data-v-d588444e] {\n width: 180px;\n background: var(--c-bg-card);\n border-right: 1px solid var(--c-border);\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n}\n.bpmn-layout .main-content .left-panel .panel-title[data-v-d588444e] {\n padding: 16px;\n font-weight: 600;\n font-size: 14px;\n color: var(--c-text-1);\n border-bottom: 1px solid var(--c-border);\n}\n.bpmn-layout .main-content .left-panel .element-grid[data-v-d588444e] {\n padding: 16px 12px;\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-d588444e] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 16px 8px;\n border-radius: 6px;\n cursor: pointer;\n font-size: 12px;\n color: var(--c-text-2);\n transition: all 0.2s ease;\n border: 1px solid transparent;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item[data-v-d588444e]:hover {\n background: rgba(24, 144, 255, 0.1);\n border-color: rgba(24, 144, 255, 0.4);\n color: var(--c-primary);\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon[data-v-d588444e] {\n flex-shrink: 0;\n border: 2px solid var(--c-border);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.circle[data-v-d588444e] {\n width: 24px;\n height: 24px;\n border-radius: 50%;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.rect[data-v-d588444e] {\n width: 32px;\n height: 20px;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.diamond[data-v-d588444e] {\n width: 24px;\n height: 24px;\n transform: rotate(45deg);\n border-radius: 3px;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.start-event[data-v-d588444e] {\n border-color: #52c41a;\n background: #f6ffed;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.end-event[data-v-d588444e] {\n border-color: #ff4d4f;\n background: #fff2f0;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.activity[data-v-d588444e] {\n border-color: #1890ff;\n background: #e6f7ff;\n}\n.bpmn-layout .main-content .left-panel .element-grid .element-item .element-icon.gateway[data-v-d588444e] {\n border-color: #722ed1;\n background: #f9f0ff;\n}\n.bpmn-layout .main-content .graph-wrapper[data-v-d588444e] {\n flex: 1;\n display: flex;\n flex-direction: column;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n border-radius: 4px;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph,\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.bpmn-layout .main-content .graph-wrapper .graph-container[data-v-d588444e] .x6-graph-svg-stage {\n outline: none;\n}\n.n-drawer .property-panel[data-v-d588444e] {\n padding: 16px;\n}\n.n-drawer .property-panel .property-item[data-v-d588444e] {\n margin-bottom: 16px;\n}\n.n-drawer .property-panel .property-item .property-label[data-v-d588444e] {\n font-size: 14px;\n font-weight: 500;\n color: var(--c-text-1);\n margin-bottom: 8px;\n}\n.n-drawer .property-panel .form-actions[data-v-d588444e] {\n margin-top: 24px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}","/* unplugin-vue-components disabled */.class-editor[data-v-102d6be6] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.section[data-v-102d6be6] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.section[data-v-102d6be6]::-webkit-scrollbar {\n width: 6px;\n}\n.section[data-v-102d6be6]::-webkit-scrollbar-thumb {\n background: #d4d4d4;\n border-radius: 3px;\n}\n.section-header[data-v-102d6be6] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.item[data-v-102d6be6] {\n margin-bottom: 8px;\n}\n.section .n-card[data-v-102d6be6] {\n border: 1px solid #e8e8e8;\n}\n.section .n-card-header[data-v-102d6be6] {\n padding: 8px 12px;\n background: #fafafa;\n border-bottom: 1px solid #e8e8e8;\n}\n.section .n-card__content[data-v-102d6be6] {\n padding: 12px;\n}\n.section .n-form-item[data-v-102d6be6] {\n margin-bottom: 0;\n}\n.section .n-form-item-label[data-v-102d6be6] {\n font-size: 12px;\n margin-bottom: 4px;\n color: #666;\n}","/* unplugin-vue-components disabled *//* UML 类图布局样式 */\n/* AntV X6 图形编辑器公共样式 */\n/* 用于 ER、UML、BPMN 等布局的共享样式 */\n/* 通用布局容器 */\n/* 工具栏样式 */\n/* 图形容器样式 */\n/* 表单项样式 */\n/* 卡片样式 */\n/* 滚动条样式 */\n/* 编辑器容器样式 */\n.uml-layout[data-v-e4891a91] {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 400px;\n}\n.uml-layout .toolbar[data-v-e4891a91] {\n padding: 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n flex-shrink: 0;\n}\n.uml-layout .graph-container[data-v-e4891a91] {\n flex: 1;\n position: relative;\n min-height: 300px;\n width: 100%;\n border: 1px solid var(--c-border);\n overflow: hidden;\n}\n.uml-layout .graph-container[data-v-e4891a91] .x6-graph,\n.uml-layout .graph-container[data-v-e4891a91] .x6-graph-svg {\n width: 100% !important;\n height: 100% !important;\n display: block;\n}\n.uml-layout .graph-container[data-v-e4891a91] .x6-graph-svg-stage {\n outline: none;\n}\n\n/* 抽屉编辑器样式 - 使用单独的样式块避免 scoped 问题 */\n.class-editor[data-v-e4891a91] {\n padding: 20px;\n height: calc(100vh - 60px);\n overflow-y: auto;\n}\n.class-editor[data-v-e4891a91]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor[data-v-e4891a91]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section[data-v-e4891a91] {\n max-height: 300px;\n overflow-y: auto;\n padding-right: 4px;\n}\n.class-editor .section[data-v-e4891a91]::-webkit-scrollbar {\n width: 6px;\n}\n.class-editor .section[data-v-e4891a91]::-webkit-scrollbar-thumb {\n background: var(--n-scrollbar-color);\n border-radius: 3px;\n}\n.class-editor .section .item[data-v-e4891a91] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-card[data-v-e4891a91] {\n border: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card-header[data-v-e4891a91] {\n padding: 8px 12px;\n background: var(--n-color-embedded);\n border-bottom: 1px solid var(--c-border);\n}\n.class-editor .section .n-card .n-card__content[data-v-e4891a91] {\n padding: 12px;\n}\n.class-editor .section .n-form-item[data-v-e4891a91] {\n margin-bottom: 8px;\n}\n.class-editor .section .n-form-item .n-form-item-label[data-v-e4891a91] {\n font-size: 12px;\n color: #666;\n margin-bottom: 4px;\n white-space: nowrap;\n}","/* unplugin-vue-components disabled */\n.c-antv-container[data-v-b03826d0] {\r\n width: 100%;\r\n height: 100%;\n}\r\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACjGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxFA;AACA;AACA;AACA;AACA"}