@robot-admin/naive-ui-components 0.8.1 → 0.8.2

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 (375) hide show
  1. package/README.md +279 -279
  2. package/dist/C_ActionBar-DYG0Yf3A.css.map +1 -0
  3. package/dist/C_ActionBar-MAjRhqcI.css.map +1 -0
  4. package/dist/C_ActionBar.cjs +1 -1
  5. package/dist/C_ActionBar.css +47 -47
  6. package/dist/C_ActionBar.js +1 -1
  7. package/dist/C_ActionBar.js.map +1 -1
  8. package/dist/C_ActionBar2.js +1 -1
  9. package/dist/C_ActionBar2.js.map +1 -1
  10. package/dist/{C_AntV-A3NXx_sF.css.map → C_AntV-BY8jqqmi.css.map} +1 -1
  11. package/dist/{C_AntV-D2Zp2qQF.css.map → C_AntV-BbkHc-_a.css.map} +1 -1
  12. package/dist/C_AntV.cjs +1 -1
  13. package/dist/C_AntV.css +78 -78
  14. package/dist/C_AntV.js +1 -1
  15. package/dist/C_AntV.js.map +1 -1
  16. package/dist/C_AntV2.js +3 -3
  17. package/dist/C_AntV2.js.map +1 -1
  18. package/dist/{C_AudioPlayer-CXl4yP_m.css.map → C_AudioPlayer-DKRIGhi7.css.map} +1 -1
  19. package/dist/{C_AudioPlayer-CcBtt71m.css.map → C_AudioPlayer-DlB6eNsa.css.map} +1 -1
  20. package/dist/C_AudioPlayer.cjs +1 -1
  21. package/dist/C_AudioPlayer.css +47 -47
  22. package/dist/C_AudioPlayer.js +1 -1
  23. package/dist/C_AudioPlayer.js.map +1 -1
  24. package/dist/C_AudioPlayer2.js +1 -1
  25. package/dist/C_AudioPlayer2.js.map +1 -1
  26. package/dist/{C_AvatarGroup-CtPhfH9h.css.map → C_AvatarGroup-D02zci-i.css.map} +1 -1
  27. package/dist/{C_AvatarGroup-M1dNPH3E.css.map → C_AvatarGroup-DatHaUlY.css.map} +1 -1
  28. package/dist/C_AvatarGroup.css +21 -21
  29. package/dist/C_AvatarGroup.js.map +1 -1
  30. package/dist/C_AvatarGroup2.js +1 -1
  31. package/dist/C_AvatarGroup2.js.map +1 -1
  32. package/dist/{C_Barcode-DjTmDkbQ.css.map → C_Barcode-DYDRDe2O.css.map} +1 -1
  33. package/dist/{C_Barcode-Do1Ozsmh.css.map → C_Barcode-muJdc_O4.css.map} +1 -1
  34. package/dist/C_Barcode.css +7 -7
  35. package/dist/C_Barcode.js.map +1 -1
  36. package/dist/C_Barcode2.js +1 -1
  37. package/dist/C_Barcode2.js.map +1 -1
  38. package/dist/C_Breadcrumb.cjs +1 -1
  39. package/dist/C_Breadcrumb.js +1 -1
  40. package/dist/C_Breadcrumb.js.map +1 -1
  41. package/dist/C_Breadcrumb2.js +1 -1
  42. package/dist/C_Breadcrumb2.js.map +1 -1
  43. package/dist/{C_Captcha-CZmAETly.css.map → C_Captcha-9_hk6VmY.css.map} +1 -1
  44. package/dist/{C_Captcha-Ccq3DMrR.css.map → C_Captcha-MtASlJ0f.css.map} +1 -1
  45. package/dist/C_Captcha.css +19 -19
  46. package/dist/C_Captcha.js.map +1 -1
  47. package/dist/C_Captcha2.js +1 -1
  48. package/dist/C_Captcha2.js.map +1 -1
  49. package/dist/C_Cascade.js.map +1 -1
  50. package/dist/C_Cascade2.js +1 -1
  51. package/dist/C_Cascade2.js.map +1 -1
  52. package/dist/{C_Chat-CJ8KESTM.css.map → C_Chat-Csjz_BFw.css.map} +1 -1
  53. package/dist/{C_Chat-DzV4AFLd.css.map → C_Chat-DO1ZBA_0.css.map} +1 -1
  54. package/dist/C_Chat.cjs +1 -1
  55. package/dist/C_Chat.css +65 -65
  56. package/dist/C_Chat.js +1 -1
  57. package/dist/C_Chat.js.map +1 -1
  58. package/dist/C_Chat2.js +1 -1
  59. package/dist/C_Chat2.js.map +1 -1
  60. package/dist/{C_City-Cv5BESaN.css.map → C_City-Bam08Qv3.css.map} +1 -1
  61. package/dist/{C_City-DNKv4MpH.css.map → C_City-Bb3W-KaN.css.map} +1 -1
  62. package/dist/C_City.css +29 -29
  63. package/dist/C_City.js.map +1 -1
  64. package/dist/C_City2.js +1 -1
  65. package/dist/C_City2.js.map +1 -1
  66. package/dist/C_Code-BFi5xxnM.css.map +1 -0
  67. package/dist/C_Code-CZ7yfnri.css.map +1 -0
  68. package/dist/C_Code.cjs +1 -1
  69. package/dist/C_Code.css +3 -3
  70. package/dist/C_Code.js +1 -1
  71. package/dist/C_Code.js.map +1 -1
  72. package/dist/C_Code2.js +1 -1
  73. package/dist/C_Code2.js.map +1 -1
  74. package/dist/{C_CollapsePanel-CedsEM0N.css.map → C_CollapsePanel-CWkFCqNQ.css.map} +1 -1
  75. package/dist/{C_CollapsePanel-BkOivqn3.css.map → C_CollapsePanel-pcVJA_4z.css.map} +1 -1
  76. package/dist/C_CollapsePanel.cjs +1 -1
  77. package/dist/C_CollapsePanel.css +35 -35
  78. package/dist/C_CollapsePanel.js +1 -1
  79. package/dist/C_CollapsePanel.js.map +1 -1
  80. package/dist/C_CollapsePanel2.js +1 -1
  81. package/dist/C_CollapsePanel2.js.map +1 -1
  82. package/dist/{C_ContextMenu-CCsCeI39.css.map → C_ContextMenu-B3Cgz_wJ.css.map} +1 -1
  83. package/dist/{C_ContextMenu-DOTBeltf.css.map → C_ContextMenu-u1LixF3_.css.map} +1 -1
  84. package/dist/C_ContextMenu.cjs +1 -1
  85. package/dist/C_ContextMenu.css +17 -17
  86. package/dist/C_ContextMenu.js +1 -1
  87. package/dist/C_ContextMenu.js.map +1 -1
  88. package/dist/C_ContextMenu2.js +1 -1
  89. package/dist/C_ContextMenu2.js.map +1 -1
  90. package/dist/{C_Cron-C0-8b5af.css.map → C_Cron-Civir5-I.css.map} +1 -1
  91. package/dist/{C_Cron-DqHQ92LN.css.map → C_Cron-iw3qpMsy.css.map} +1 -1
  92. package/dist/C_Cron.cjs +1 -1
  93. package/dist/C_Cron.css +37 -37
  94. package/dist/C_Cron.js +1 -1
  95. package/dist/C_Cron.js.map +1 -1
  96. package/dist/C_Cron2.js +1 -1
  97. package/dist/C_Cron2.js.map +1 -1
  98. package/dist/C_Date.js.map +1 -1
  99. package/dist/C_Date2.js +1 -1
  100. package/dist/C_Date2.js.map +1 -1
  101. package/dist/{C_Draggable-Bq6o0qXn.css.map → C_Draggable-BCjIvIwT.css.map} +1 -1
  102. package/dist/{C_Draggable-r6nhx3yM.css.map → C_Draggable-DwkSlCOS.css.map} +1 -1
  103. package/dist/C_Draggable.css +46 -46
  104. package/dist/C_Draggable.js.map +1 -1
  105. package/dist/C_Draggable2.js +1 -1
  106. package/dist/C_Draggable2.js.map +1 -1
  107. package/dist/C_Editor-BfjjYQ9B.css.map +1 -0
  108. package/dist/C_Editor-Do2StvoJ.css.map +1 -0
  109. package/dist/C_Editor.css +55 -55
  110. package/dist/C_Editor.js.map +1 -1
  111. package/dist/C_Editor2.js +1 -1
  112. package/dist/C_Editor2.js.map +1 -1
  113. package/dist/{C_FilePreview-BVarVvnD.css.map → C_FilePreview-BhcbiXsV.css.map} +1 -1
  114. package/dist/{C_FilePreview-DHGlV4OR.css.map → C_FilePreview-DJudcIbW.css.map} +1 -1
  115. package/dist/C_FilePreview.cjs +1 -1
  116. package/dist/C_FilePreview.css +91 -91
  117. package/dist/C_FilePreview.js +1 -1
  118. package/dist/C_FilePreview.js.map +1 -1
  119. package/dist/C_FilePreview2.js +1 -1
  120. package/dist/C_FilePreview2.js.map +1 -1
  121. package/dist/{C_Form-BciQUPpS.css.map → C_Form-BtcAPIRi.css.map} +1 -1
  122. package/dist/{C_Form-CKHvXL3O.css.map → C_Form-D_gwQ7hC.css.map} +1 -1
  123. package/dist/C_Form.cjs +1 -1
  124. package/dist/C_Form.css +222 -222
  125. package/dist/C_Form.js +1 -1
  126. package/dist/C_Form.js.map +1 -1
  127. package/dist/C_Form2.js +1 -1
  128. package/dist/C_Form2.js.map +1 -1
  129. package/dist/{C_FormSearch-Bmd2CmG6.css.map → C_FormSearch-Bi4XYjjk.css.map} +1 -1
  130. package/dist/{C_FormSearch-DBNtnjaL.css.map → C_FormSearch-DUGOoX0u.css.map} +1 -1
  131. package/dist/C_FormSearch.css +45 -45
  132. package/dist/C_FormSearch.js.map +1 -1
  133. package/dist/C_FormSearch2.js +1 -1
  134. package/dist/C_FormSearch2.js.map +1 -1
  135. package/dist/{C_FormulaEditor-3WG2vtQl.css.map → C_FormulaEditor-CJk3SSUJ.css.map} +1 -1
  136. package/dist/{C_FormulaEditor-Cm0CokN5.css.map → C_FormulaEditor-Cy7mjfVO.css.map} +1 -1
  137. package/dist/C_FormulaEditor.cjs +1 -1
  138. package/dist/C_FormulaEditor.css +78 -78
  139. package/dist/C_FormulaEditor.js +1 -1
  140. package/dist/C_FormulaEditor.js.map +1 -1
  141. package/dist/C_FormulaEditor2.js +1 -1
  142. package/dist/C_FormulaEditor2.js.map +1 -1
  143. package/dist/C_FullCalendar-BQA0OjGB.css.map +1 -0
  144. package/dist/C_FullCalendar-ChJUosAi.css.map +1 -0
  145. package/dist/C_FullCalendar.css +3 -3
  146. package/dist/C_FullCalendar.js.map +1 -1
  147. package/dist/C_FullCalendar2.js +1 -1
  148. package/dist/C_FullCalendar2.js.map +1 -1
  149. package/dist/C_GlobalSearch.js.map +1 -1
  150. package/dist/C_GlobalSearch2.js.map +1 -1
  151. package/dist/C_Guide.cjs +1 -1
  152. package/dist/C_Guide.js +1 -1
  153. package/dist/C_Guide.js.map +1 -1
  154. package/dist/C_Guide2.js +1 -1
  155. package/dist/C_Guide2.js.map +1 -1
  156. package/dist/C_Icon.js.map +1 -1
  157. package/dist/C_Icon2.js +1 -1
  158. package/dist/C_Icon2.js.map +1 -1
  159. package/dist/{C_ImageCropper-D3L2-J_J.css.map → C_ImageCropper-BqZpkZfU.css.map} +1 -1
  160. package/dist/{C_ImageCropper-DrmUlaLi.css.map → C_ImageCropper-CylwGuzS.css.map} +1 -1
  161. package/dist/C_ImageCropper.cjs +1 -1
  162. package/dist/C_ImageCropper.css +10 -10
  163. package/dist/C_ImageCropper.js +1 -1
  164. package/dist/C_ImageCropper.js.map +1 -1
  165. package/dist/C_ImageCropper2.js +1 -1
  166. package/dist/C_ImageCropper2.js.map +1 -1
  167. package/dist/C_Language.cjs +1 -1
  168. package/dist/C_Language.js +1 -1
  169. package/dist/C_Language.js.map +1 -1
  170. package/dist/C_Language2.js +1 -1
  171. package/dist/C_Language2.js.map +1 -1
  172. package/dist/{C_Login-Cst_W1XC.css.map → C_Login-BkdnkBKX.css.map} +1 -1
  173. package/dist/{C_Login-DWZ_6K1x.css.map → C_Login-VkMM6OJ2.css.map} +1 -1
  174. package/dist/C_Login.cjs +1 -1
  175. package/dist/C_Login.css +72 -72
  176. package/dist/C_Login.js +1 -1
  177. package/dist/C_Login.js.map +1 -1
  178. package/dist/C_Login2.js +1 -1
  179. package/dist/C_Login2.js.map +1 -1
  180. package/dist/{C_Map-BCJmDnJT.css.map → C_Map-DNnBcY70.css.map} +1 -1
  181. package/dist/{C_Map-WUMXSAfy.css.map → C_Map-LEXIx6zM.css.map} +1 -1
  182. package/dist/C_Map.css +4 -4
  183. package/dist/C_Map.js.map +1 -1
  184. package/dist/C_Map2.js +1 -1
  185. package/dist/C_Map2.js.map +1 -1
  186. package/dist/{C_Markdown-7J0uPEuk.css.map → C_Markdown-DwmI0_0Q.css.map} +1 -1
  187. package/dist/{C_Markdown-C7Lg0_9z.css.map → C_Markdown-k0794RW0.css.map} +1 -1
  188. package/dist/C_Markdown.css +33 -33
  189. package/dist/C_Markdown.js.map +1 -1
  190. package/dist/C_Markdown2.js +1 -1
  191. package/dist/C_Markdown2.js.map +1 -1
  192. package/dist/C_Menu.js.map +1 -1
  193. package/dist/C_Menu2.js +1 -1
  194. package/dist/C_Menu2.js.map +1 -1
  195. package/dist/C_NotificationCenter.cjs +1 -1
  196. package/dist/C_NotificationCenter.js +1 -1
  197. package/dist/C_NotificationCenter.js.map +1 -1
  198. package/dist/C_NotificationCenter2.js +1 -1
  199. package/dist/C_NotificationCenter2.js.map +1 -1
  200. package/dist/C_OrgChart.js.map +1 -1
  201. package/dist/C_OrgChart2.js +1 -1
  202. package/dist/C_OrgChart2.js.map +1 -1
  203. package/dist/C_Progress.js.map +1 -1
  204. package/dist/C_Progress2.js +1 -1
  205. package/dist/C_Progress2.js.map +1 -1
  206. package/dist/{C_QRCode-DMxSyogU.css.map → C_QRCode-CFNTda_1.css.map} +1 -1
  207. package/dist/{C_QRCode-G7fiAkm4.css.map → C_QRCode-CmWr9lK-.css.map} +1 -1
  208. package/dist/C_QRCode.css +9 -9
  209. package/dist/C_QRCode.js.map +1 -1
  210. package/dist/C_QRCode2.js +1 -1
  211. package/dist/C_QRCode2.js.map +1 -1
  212. package/dist/{C_Signature-BJMvVPWT.css.map → C_Signature-BDx4ctsE.css.map} +1 -1
  213. package/dist/{C_Signature-BJUHx2BF.css.map → C_Signature-Bz_uNbwv.css.map} +1 -1
  214. package/dist/C_Signature.cjs +1 -1
  215. package/dist/C_Signature.css +15 -15
  216. package/dist/C_Signature.js +1 -1
  217. package/dist/C_Signature.js.map +1 -1
  218. package/dist/C_Signature2.js +1 -1
  219. package/dist/C_Signature2.js.map +1 -1
  220. package/dist/C_Skeleton.js.map +1 -1
  221. package/dist/C_Skeleton2.js +1 -1
  222. package/dist/C_Skeleton2.js.map +1 -1
  223. package/dist/{C_SplitPane-Br2eK8IG.css.map → C_SplitPane-BOwr1C7K.css.map} +1 -1
  224. package/dist/{C_SplitPane-DuyzUhKB.css.map → C_SplitPane-N-a_D-7F.css.map} +1 -1
  225. package/dist/C_SplitPane.cjs +1 -1
  226. package/dist/C_SplitPane.css +31 -31
  227. package/dist/C_SplitPane.js +1 -1
  228. package/dist/C_SplitPane.js.map +1 -1
  229. package/dist/C_SplitPane2.js +1 -1
  230. package/dist/C_SplitPane2.js.map +1 -1
  231. package/dist/C_Steps-Bk1krgiR.css.map +1 -0
  232. package/dist/C_Steps-Dn2CMpy1.css.map +1 -0
  233. package/dist/C_Steps.css +38 -38
  234. package/dist/C_Steps.js.map +1 -1
  235. package/dist/C_Steps2.js +1 -1
  236. package/dist/C_Steps2.js.map +1 -1
  237. package/dist/C_Table.cjs +1 -1
  238. package/dist/C_Table.js +1 -1
  239. package/dist/C_Table.js.map +1 -1
  240. package/dist/C_Table2.js +2 -2
  241. package/dist/C_Table2.js.map +1 -1
  242. package/dist/{C_TagsView-BsutyC3U.css.map → C_TagsView-DX3LecK1.css.map} +1 -1
  243. package/dist/{C_TagsView-Crm7yWg9.css.map → C_TagsView-DqOTa8bL.css.map} +1 -1
  244. package/dist/C_TagsView.cjs +1 -1
  245. package/dist/C_TagsView.css +36 -36
  246. package/dist/C_TagsView.js +1 -1
  247. package/dist/C_TagsView.js.map +1 -1
  248. package/dist/C_TagsView2.js +1 -1
  249. package/dist/C_TagsView2.js.map +1 -1
  250. package/dist/C_Theme.cjs +1 -1
  251. package/dist/C_Theme.js +1 -1
  252. package/dist/C_Theme.js.map +1 -1
  253. package/dist/C_Theme2.js +1 -1
  254. package/dist/C_Theme2.js.map +1 -1
  255. package/dist/C_Time-BzyQVvTS.css.map +1 -0
  256. package/dist/C_Time-DmpKLQHc.css.map +1 -0
  257. package/dist/C_Time.css +5 -5
  258. package/dist/C_Time.js.map +1 -1
  259. package/dist/C_Time2.js +1 -1
  260. package/dist/C_Time2.js.map +1 -1
  261. package/dist/{C_Timeline-DG70WtJP.css.map → C_Timeline-BKkimrZx.css.map} +1 -1
  262. package/dist/{C_Timeline-Dzxmmdjg.css.map → C_Timeline-DTuSCX6p.css.map} +1 -1
  263. package/dist/C_Timeline.cjs +1 -1
  264. package/dist/C_Timeline.css +45 -45
  265. package/dist/C_Timeline.js +1 -1
  266. package/dist/C_Timeline.js.map +1 -1
  267. package/dist/C_Timeline2.js +1 -1
  268. package/dist/C_Timeline2.js.map +1 -1
  269. package/dist/{C_Transfer-CCEqnC-v.css.map → C_Transfer-BOB6OBqS.css.map} +1 -1
  270. package/dist/{C_Transfer-CStPm4NP.css.map → C_Transfer-Dpq7ezWC.css.map} +1 -1
  271. package/dist/C_Transfer.cjs +1 -1
  272. package/dist/C_Transfer.css +31 -31
  273. package/dist/C_Transfer.js +1 -1
  274. package/dist/C_Transfer.js.map +1 -1
  275. package/dist/C_Transfer2.js +1 -1
  276. package/dist/C_Transfer2.js.map +1 -1
  277. package/dist/{C_Tree-B-Le4hjQ.css.map → C_Tree-D98nX9qT.css.map} +1 -1
  278. package/dist/{C_Tree-DnGc_MPb.css.map → C_Tree-ulfm7b-P.css.map} +1 -1
  279. package/dist/C_Tree.cjs +1 -1
  280. package/dist/C_Tree.css +33 -33
  281. package/dist/C_Tree.js +1 -1
  282. package/dist/C_Tree.js.map +1 -1
  283. package/dist/C_Tree2.js +1 -1
  284. package/dist/C_Tree2.js.map +1 -1
  285. package/dist/{C_Upload-CFAxVGVz.css.map → C_Upload-BR9fg5r4.css.map} +1 -1
  286. package/dist/{C_Upload-D8_QeSV0.css.map → C_Upload-CPqf74Ea.css.map} +1 -1
  287. package/dist/C_Upload.cjs +1 -1
  288. package/dist/C_Upload.css +4 -4
  289. package/dist/C_Upload.js +1 -1
  290. package/dist/C_Upload.js.map +1 -1
  291. package/dist/C_Upload2.js +2 -2
  292. package/dist/C_Upload2.js.map +1 -1
  293. package/dist/{C_VideoPlayer-Cdgv4Zq0.css.map → C_VideoPlayer-4J96tKfK.css.map} +1 -1
  294. package/dist/{C_VideoPlayer-rm0MODUv.css.map → C_VideoPlayer-D35seHkm.css.map} +1 -1
  295. package/dist/C_VideoPlayer.css +13 -13
  296. package/dist/C_VideoPlayer.js.map +1 -1
  297. package/dist/C_VideoPlayer2.js +3 -3
  298. package/dist/C_VideoPlayer2.js.map +1 -1
  299. package/dist/{C_VtableGantt-BpY-Rng3.css.map → C_VtableGantt-C2lxFmWg.css.map} +1 -1
  300. package/dist/{C_VtableGantt-DB87-jdS.css.map → C_VtableGantt-Dwnkw_WL.css.map} +1 -1
  301. package/dist/C_VtableGantt.cjs +1 -1
  302. package/dist/C_VtableGantt.css +15 -15
  303. package/dist/C_VtableGantt.js +1 -1
  304. package/dist/C_VtableGantt.js.map +1 -1
  305. package/dist/C_VtableGantt2.js +1 -1
  306. package/dist/C_VtableGantt2.js.map +1 -1
  307. package/dist/C_WaterFall.js.map +1 -1
  308. package/dist/C_WaterFall2.js +1 -1
  309. package/dist/C_WaterFall2.js.map +1 -1
  310. package/dist/{C_WorkFlow-7F6op6qN.css.map → C_WorkFlow-2hJfvvTK.css.map} +1 -1
  311. package/dist/{C_WorkFlow-Cy3HWA6A.css.map → C_WorkFlow-DHoNjl8-.css.map} +1 -1
  312. package/dist/C_WorkFlow.cjs +1 -1
  313. package/dist/C_WorkFlow.css +108 -108
  314. package/dist/C_WorkFlow.js +1 -1
  315. package/dist/C_WorkFlow.js.map +1 -1
  316. package/dist/C_WorkFlow2.js +1 -1
  317. package/dist/C_WorkFlow2.js.map +1 -1
  318. package/dist/constants.d.ts +2 -2
  319. package/dist/constants2.d.ts +4 -4
  320. package/dist/constants3.d.ts +2 -2
  321. package/dist/constants4.d.ts +6 -6
  322. package/dist/constants5.d.ts +4 -4
  323. package/dist/index.cjs.map +1 -1
  324. package/dist/index.js.map +1 -1
  325. package/dist/index.vue.d.ts +2 -2
  326. package/dist/index10.vue.d.ts +1 -1
  327. package/dist/index12.vue.d.ts +2 -2
  328. package/dist/index13.vue.d.ts +3 -3
  329. package/dist/index14.vue.d.ts +3 -3
  330. package/dist/index15.vue.d.ts +7 -7
  331. package/dist/index17.vue.d.ts +1 -1
  332. package/dist/index18.vue.d.ts +5 -5
  333. package/dist/index2.vue.d.ts +2 -2
  334. package/dist/index20.vue.d.ts +1 -1
  335. package/dist/index21.vue.d.ts +3 -3
  336. package/dist/index22.vue.d.ts +1 -1
  337. package/dist/index26.vue.d.ts +4 -4
  338. package/dist/index27.vue.d.ts +2 -2
  339. package/dist/index28.vue.d.ts +3 -3
  340. package/dist/index4.vue.d.ts +7 -7
  341. package/dist/index6.vue.d.ts +3 -3
  342. package/dist/index8.vue.d.ts +4 -4
  343. package/dist/menuAdapter.js.map +1 -1
  344. package/dist/resolver.cjs.map +1 -1
  345. package/dist/resolver.js.map +1 -1
  346. package/dist/style.css +1483 -1483
  347. package/dist/useCalendarEvents.d.ts +1 -1
  348. package/dist/useCollapsePanel.d.ts +3 -3
  349. package/dist/useCropperCore.d.ts +5 -5
  350. package/dist/useDraggableLayout.d.ts +5 -5
  351. package/dist/useDynamicFormState.d.ts +21 -21
  352. package/dist/useEdgeInteraction.d.ts +3 -3
  353. package/dist/useFullscreen.d.ts +2 -2
  354. package/dist/useInfiniteScroll.d.ts +3 -3
  355. package/dist/useModalEdit.d.ts +1 -1
  356. package/dist/useQRCode.d.ts +5 -5
  357. package/dist/useSearchState.d.ts +2 -2
  358. package/dist/useSignatureHistory.d.ts +5 -5
  359. package/dist/useSplitResize.d.ts +4 -4
  360. package/dist/useTimeSelection.d.ts +2 -2
  361. package/dist/useTreeOperations.d.ts +3 -3
  362. package/dist/useWorkflowValidation.d.ts +2 -2
  363. package/package.json +5 -5
  364. package/dist/C_ActionBar-jZPsiXtT.css.map +0 -1
  365. package/dist/C_ActionBar-nnfbZCea.css.map +0 -1
  366. package/dist/C_Code-DPZlNSxL.css.map +0 -1
  367. package/dist/C_Code-avZjAnHD.css.map +0 -1
  368. package/dist/C_Editor-C49qURgb.css.map +0 -1
  369. package/dist/C_Editor-DuxBD9Qg.css.map +0 -1
  370. package/dist/C_FullCalendar-1U4VlG7X.css.map +0 -1
  371. package/dist/C_FullCalendar-DLUdCtqf.css.map +0 -1
  372. package/dist/C_Steps-BHYNJI1l.css.map +0 -1
  373. package/dist/C_Steps-DY7vl-4I.css.map +0 -1
  374. package/dist/C_Time-Bd_e1YDN.css.map +0 -1
  375. package/dist/C_Time-CKb_fwdm.css.map +0 -1
@@ -1,2 +1,2 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,Teleport as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createVNode as l,defineComponent as u,nextTick as d,normalizeClass as f,normalizeStyle as p,openBlock as m,ref as h,renderList as g,toDisplayString as _,withKeys as v,withModifiers as y}from"vue";const b={minWidth:180,maxWidth:280,subMenuPlacement:`right`,autoClose:!0,disabled:!1,zIndex:9999},x={key:0,class:`c-context-menu__divider`,role:`separator`},S=[`aria-disabled`,`onClick`,`onMouseenter`],C={key:0,class:`c-context-menu__icon`},w={class:`c-context-menu__label`},T={key:1,class:`c-context-menu__shortcut`},E={key:2,class:`c-context-menu__arrow`};var D=t(u({name:`C_ContextMenu`,__name:`index`,props:{items:{default:()=>[]},minWidth:{default:b.minWidth},maxWidth:{default:b.maxWidth},subMenuPlacement:{default:b.subMenuPlacement},autoClose:{type:Boolean,default:b.autoClose},disabled:{type:Boolean,default:b.disabled},zIndex:{default:b.zIndex}},emits:[`select`,`open`,`close`],setup(t,{expose:u,emit:b}){let O=t,k=b,A=h(!1),j=h({x:0,y:0}),M=h(),N=h(null),P=null,F=i(()=>O.items.filter(e=>!e.hidden)),I=i(()=>({left:`${j.value.x}px`,top:`${j.value.y}px`,minWidth:`${O.minWidth}px`,maxWidth:`${O.maxWidth}px`,zIndex:O.zIndex})),L=()=>{d(()=>{let e=M.value;if(!e)return;let t=e.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window;t.right>n&&(j.value.x=n-t.width-8),t.bottom>r&&(j.value.y=r-t.height-8),j.value.x<0&&(j.value.x=8),j.value.y<0&&(j.value.y=8)})},R=(e,t)=>{O.disabled||(j.value={x:e,y:t},A.value=!0,k(`open`,{x:e,y:t}),L(),d(()=>M.value?.focus()))},z=()=>{A.value=!1,N.value=null,k(`close`)},B=e=>{e.disabled||e.children?.length||(k(`select`,e),O.autoClose&&z())},V=e=>{P&&=(clearTimeout(P),null),e.children?.length&&!e.disabled?P=setTimeout(()=>{N.value=e.key},150):N.value=null},H=()=>{P&&=(clearTimeout(P),null),P=setTimeout(()=>{N.value=null},300)},U=e=>{k(`select`,e),O.autoClose&&z()};return u({open:R,close:z,visible:i(()=>A.value)}),(t,i)=>{let u=D;return m(),s(n,null,[o(` 遮罩层 `),(m(),a(r,{to:`body`},[A.value?(m(),s(`div`,{key:0,class:`c-context-menu-overlay`,style:p({zIndex:O.zIndex-1}),onClick:z,onContextmenu:y(z,[`prevent`])},null,36)):o(`v-if`,!0),o(` 菜单面板 `),A.value?(m(),s(`div`,{key:1,ref_key:`menuRef`,ref:M,class:`c-context-menu`,style:p(I.value),role:`menu`,tabindex:`-1`,onKeydown:v(z,[`escape`])},[(m(!0),s(n,null,g(F.value,t=>(m(),s(n,{key:t.key},[o(` 分割线 `),t.divider?(m(),s(`div`,x)):(m(),s(n,{key:1},[o(` 普通菜单项 `),c(`div`,{class:f([`c-context-menu__item`,{"is-disabled":t.disabled,"is-danger":t.danger}]),role:`menuitem`,"aria-disabled":t.disabled,onClick:e=>B(t),onMouseenter:e=>V(t),onMouseleave:H},[o(` 图标 `),t.icon?(m(),s(`span`,C,[l(e,{name:t.icon},null,8,[`name`])])):o(`v-if`,!0),o(` 文本 `),c(`span`,w,_(t.label),1),o(` 快捷键 `),t.shortcut?(m(),s(`span`,T,_(t.shortcut),1)):o(`v-if`,!0),o(` 子菜单箭头 `),t.children?.length?(m(),s(`span`,E,[l(e,{name:`mdi:chevron-right`})])):o(`v-if`,!0),o(` 子菜单(递归) `),t.children?.length&&N.value===t.key?(m(),a(u,{key:3,items:t.children,"min-width":O.minWidth,"max-width":O.maxWidth,"sub-menu-placement":O.subMenuPlacement,"auto-close":O.autoClose,"z-index":O.zIndex+1,class:f([`c-context-menu__submenu`,`is-${O.subMenuPlacement}`]),style:{position:`absolute`},onSelect:U},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`auto-close`,`z-index`,`class`])):o(`v-if`,!0)],42,S)],2112))],64))),128))],36)):o(`v-if`,!0)]))],2112)}}}),[[`__scopeId`,`data-v-e1eeee51`]]);export{b as n,D as t};
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,Teleport as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createVNode as l,defineComponent as u,nextTick as d,normalizeClass as f,normalizeStyle as p,openBlock as m,ref as h,renderList as g,resolveComponent as _,toDisplayString as v,withKeys as y,withModifiers as b}from"vue";const x={minWidth:180,maxWidth:280,subMenuPlacement:`right`,autoClose:!0,disabled:!1,zIndex:9999},S={key:0,class:`c-context-menu__divider`,role:`separator`},C=[`aria-disabled`,`onClick`,`onMouseenter`],w={key:0,class:`c-context-menu__icon`},T={class:`c-context-menu__label`},E={key:1,class:`c-context-menu__shortcut`},D={key:2,class:`c-context-menu__arrow`};var O=t(u({name:`C_ContextMenu`,__name:`index`,props:{items:{default:()=>[]},minWidth:{default:x.minWidth},maxWidth:{default:x.maxWidth},subMenuPlacement:{default:x.subMenuPlacement},autoClose:{type:Boolean,default:x.autoClose},disabled:{type:Boolean,default:x.disabled},zIndex:{default:x.zIndex}},emits:[`select`,`open`,`close`],setup(t,{expose:u,emit:x}){let O=t,k=x,A=h(!1),j=h({x:0,y:0}),M=h(),N=h(null),P=null,F=i(()=>O.items.filter(e=>!e.hidden)),I=i(()=>({left:`${j.value.x}px`,top:`${j.value.y}px`,minWidth:`${O.minWidth}px`,maxWidth:`${O.maxWidth}px`,zIndex:O.zIndex})),L=()=>{d(()=>{let e=M.value;if(!e)return;let t=e.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window;t.right>n&&(j.value.x=n-t.width-8),t.bottom>r&&(j.value.y=r-t.height-8),j.value.x<0&&(j.value.x=8),j.value.y<0&&(j.value.y=8)})},R=(e,t)=>{O.disabled||(j.value={x:e,y:t},A.value=!0,k(`open`,{x:e,y:t}),L(),d(()=>M.value?.focus()))},z=()=>{A.value=!1,N.value=null,k(`close`)},B=e=>{e.disabled||e.children?.length||(k(`select`,e),O.autoClose&&z())},V=e=>{P&&=(clearTimeout(P),null),e.children?.length&&!e.disabled?P=setTimeout(()=>{N.value=e.key},150):N.value=null},H=()=>{P&&=(clearTimeout(P),null),P=setTimeout(()=>{N.value=null},300)},U=e=>{k(`select`,e),O.autoClose&&z()};return u({open:R,close:z,visible:i(()=>A.value)}),(t,i)=>{let u=_(`C_ContextMenu`);return m(),s(n,null,[o(` 遮罩层 `),(m(),a(r,{to:`body`},[A.value?(m(),s(`div`,{key:0,class:`c-context-menu-overlay`,style:p({zIndex:O.zIndex-1}),onClick:z,onContextmenu:b(z,[`prevent`])},null,36)):o(`v-if`,!0),o(` 菜单面板 `),A.value?(m(),s(`div`,{key:1,ref_key:`menuRef`,ref:M,class:`c-context-menu`,style:p(I.value),role:`menu`,tabindex:`-1`,onKeydown:y(z,[`escape`])},[(m(!0),s(n,null,g(F.value,t=>(m(),s(n,{key:t.key},[o(` 分割线 `),t.divider?(m(),s(`div`,S)):(m(),s(n,{key:1},[o(` 普通菜单项 `),c(`div`,{class:f([`c-context-menu__item`,{"is-disabled":t.disabled,"is-danger":t.danger}]),role:`menuitem`,"aria-disabled":t.disabled,onClick:e=>B(t),onMouseenter:e=>V(t),onMouseleave:H},[o(` 图标 `),t.icon?(m(),s(`span`,w,[l(e,{name:t.icon},null,8,[`name`])])):o(`v-if`,!0),o(` 文本 `),c(`span`,T,v(t.label),1),o(` 快捷键 `),t.shortcut?(m(),s(`span`,E,v(t.shortcut),1)):o(`v-if`,!0),o(` 子菜单箭头 `),t.children?.length?(m(),s(`span`,D,[l(e,{name:`mdi:chevron-right`})])):o(`v-if`,!0),o(` 子菜单(递归) `),t.children?.length&&N.value===t.key?(m(),a(u,{key:3,items:t.children,"min-width":O.minWidth,"max-width":O.maxWidth,"sub-menu-placement":O.subMenuPlacement,"auto-close":O.autoClose,"z-index":O.zIndex+1,class:f([`c-context-menu__submenu`,`is-${O.subMenuPlacement}`]),style:{position:`absolute`},onSelect:U},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`auto-close`,`z-index`,`class`])):o(`v-if`,!0)],42,C)],2112))],64))),128))],36)):o(`v-if`,!0)]))],2112)}}}),[[`__scopeId`,`data-v-cdd4d8bb`]]);export{x as n,O as t};
2
2
  //# sourceMappingURL=C_ContextMenu2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"C_ContextMenu2.js","names":[],"sources":["../src/components/C_ContextMenu/types.ts","../src/components/C_ContextMenu/index.vue","../src/components/C_ContextMenu/index.vue","../src/components/C_ContextMenu/index.vue"],"sourcesContent":["/**\r\n * @Description: 右键菜单组件类型定义\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.\r\n */\r\n\r\n/** 菜单项 */\r\nexport interface ContextMenuItem {\r\n /** 唯一标识 */\r\n key: string\r\n /** 菜单文字 */\r\n label: string\r\n /** 图标(Iconify 图标名) */\r\n icon?: string\r\n /** 快捷键标注文字(仅展示,不绑定) */\r\n shortcut?: string\r\n /** 是否禁用 */\r\n disabled?: boolean\r\n /** 是否隐藏 */\r\n hidden?: boolean\r\n /** 分割线(此项渲染为分割线,label 被忽略) */\r\n divider?: boolean\r\n /** 子菜单(支持无限嵌套) */\r\n children?: ContextMenuItem[]\r\n /** 自定义样式类 */\r\n className?: string\r\n /** 危险操作(红色高亮) */\r\n danger?: boolean\r\n}\r\n\r\n/** 组件 Props */\r\nexport interface ContextMenuProps {\r\n /** 菜单项列表 */\r\n items: ContextMenuItem[]\r\n /** 菜单最小宽度 */\r\n minWidth?: number\r\n /** 菜单最大宽度 */\r\n maxWidth?: number\r\n /** 子菜单展开方向 */\r\n subMenuPlacement?: 'right' | 'left'\r\n /** 点击菜单项后是否自动关闭 */\r\n autoClose?: boolean\r\n /** 是否禁用整个菜单 */\r\n disabled?: boolean\r\n /** 自定义 z-index */\r\n zIndex?: number\r\n}\r\n\r\n/** 默认 Props */\r\nexport const DEFAULT_CONTEXT_MENU_PROPS = {\r\n minWidth: 180,\r\n maxWidth: 280,\r\n subMenuPlacement: 'right' as const,\r\n autoClose: true,\r\n disabled: false,\r\n zIndex: 9999,\r\n}\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Description: 右键菜单组件 — 声明式配置、快捷键标注、嵌套子菜单\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.\r\n-->\r\n<template>\r\n <!-- 遮罩层 -->\r\n <Teleport to=\"body\">\r\n <div\r\n v-if=\"visible\"\r\n class=\"c-context-menu-overlay\"\r\n :style=\"{ zIndex: props.zIndex - 1 }\"\r\n @click=\"close\"\r\n @contextmenu.prevent=\"close\"\r\n />\r\n\r\n <!-- 菜单面板 -->\r\n <div\r\n v-if=\"visible\"\r\n ref=\"menuRef\"\r\n class=\"c-context-menu\"\r\n :style=\"menuStyle\"\r\n role=\"menu\"\r\n tabindex=\"-1\"\r\n @keydown.escape=\"close\"\r\n >\r\n <template\r\n v-for=\"item in visibleItems\"\r\n :key=\"item.key\"\r\n >\r\n <!-- 分割线 -->\r\n <div\r\n v-if=\"item.divider\"\r\n class=\"c-context-menu__divider\"\r\n role=\"separator\"\r\n />\r\n\r\n <!-- 普通菜单项 -->\r\n <div\r\n v-else\r\n :class=\"[\r\n 'c-context-menu__item',\r\n {\r\n 'is-disabled': item.disabled,\r\n 'is-danger': item.danger,\r\n },\r\n ]\"\r\n role=\"menuitem\"\r\n :aria-disabled=\"item.disabled\"\r\n @click=\"handleItemClick(item)\"\r\n @mouseenter=\"handleMouseEnter(item)\"\r\n @mouseleave=\"handleMouseLeave\"\r\n >\r\n <!-- 图标 -->\r\n <span\r\n v-if=\"item.icon\"\r\n class=\"c-context-menu__icon\"\r\n >\r\n <C_Icon :name=\"item.icon\" />\r\n </span>\r\n\r\n <!-- 文本 -->\r\n <span class=\"c-context-menu__label\">{{ item.label }}</span>\r\n\r\n <!-- 快捷键 -->\r\n <span\r\n v-if=\"item.shortcut\"\r\n class=\"c-context-menu__shortcut\"\r\n >\r\n {{ item.shortcut }}\r\n </span>\r\n\r\n <!-- 子菜单箭头 -->\r\n <span\r\n v-if=\"item.children?.length\"\r\n class=\"c-context-menu__arrow\"\r\n >\r\n <C_Icon name=\"mdi:chevron-right\" />\r\n </span>\r\n\r\n <!-- 子菜单(递归) -->\r\n <C_ContextMenu\r\n v-if=\"item.children?.length && activeSubKey === item.key\"\r\n :items=\"item.children\"\r\n :min-width=\"props.minWidth\"\r\n :max-width=\"props.maxWidth\"\r\n :sub-menu-placement=\"props.subMenuPlacement\"\r\n :auto-close=\"props.autoClose\"\r\n :z-index=\"props.zIndex + 1\"\r\n class=\"c-context-menu__submenu\"\r\n :class=\"`is-${props.subMenuPlacement}`\"\r\n :style=\"{ position: 'absolute' }\"\r\n @select=\"handleSubSelect\"\r\n />\r\n </div>\r\n </template>\r\n </div>\r\n </Teleport>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n import { computed, nextTick, ref } from 'vue'\r\n import C_Icon from '../C_Icon/index.vue'\r\n import {\r\n DEFAULT_CONTEXT_MENU_PROPS,\r\n type ContextMenuItem,\r\n type ContextMenuProps,\r\n } from './types'\r\n\r\n defineOptions({ name: 'C_ContextMenu' })\r\n\r\n const props = withDefaults(defineProps<ContextMenuProps>(), {\r\n items: () => [],\r\n minWidth: DEFAULT_CONTEXT_MENU_PROPS.minWidth,\r\n maxWidth: DEFAULT_CONTEXT_MENU_PROPS.maxWidth,\r\n subMenuPlacement: DEFAULT_CONTEXT_MENU_PROPS.subMenuPlacement,\r\n autoClose: DEFAULT_CONTEXT_MENU_PROPS.autoClose,\r\n disabled: DEFAULT_CONTEXT_MENU_PROPS.disabled,\r\n zIndex: DEFAULT_CONTEXT_MENU_PROPS.zIndex,\r\n })\r\n\r\n const emit = defineEmits<{\r\n (e: 'select', item: ContextMenuItem): void\r\n (e: 'open', position: { x: number; y: number }): void\r\n (e: 'close'): void\r\n }>()\r\n\r\n // ===== 状态 =====\r\n const visible = ref(false)\r\n const position = ref({ x: 0, y: 0 })\r\n const menuRef = ref<HTMLElement>()\r\n const activeSubKey = ref<string | null>(null)\r\n\r\n let subTimer: ReturnType<typeof setTimeout> | null = null\r\n\r\n // ===== 可见项 =====\r\n const visibleItems = computed(() => props.items.filter(item => !item.hidden))\r\n\r\n // ===== 菜单定位样式 =====\r\n const menuStyle = computed(() => ({\r\n left: `${position.value.x}px`,\r\n top: `${position.value.y}px`,\r\n minWidth: `${props.minWidth}px`,\r\n maxWidth: `${props.maxWidth}px`,\r\n zIndex: props.zIndex,\r\n }))\r\n\r\n // ===== 边界校正 =====\r\n const adjustPosition = () => {\r\n nextTick(() => {\r\n const el = menuRef.value\r\n if (!el) return\r\n const rect = el.getBoundingClientRect()\r\n const { innerWidth, innerHeight } = window\r\n\r\n if (rect.right > innerWidth) {\r\n position.value.x = innerWidth - rect.width - 8\r\n }\r\n if (rect.bottom > innerHeight) {\r\n position.value.y = innerHeight - rect.height - 8\r\n }\r\n if (position.value.x < 0) position.value.x = 8\r\n if (position.value.y < 0) position.value.y = 8\r\n })\r\n }\r\n\r\n // ===== 打开/关闭 =====\r\n const open = (x: number, y: number) => {\r\n if (props.disabled) return\r\n position.value = { x, y }\r\n visible.value = true\r\n emit('open', { x, y })\r\n adjustPosition()\r\n\r\n // 聚焦以支持 Escape 关闭\r\n nextTick(() => menuRef.value?.focus())\r\n }\r\n\r\n const close = () => {\r\n visible.value = false\r\n activeSubKey.value = null\r\n emit('close')\r\n }\r\n\r\n // ===== 菜单项点击 =====\r\n const handleItemClick = (item: ContextMenuItem) => {\r\n if (item.disabled) return\r\n if (item.children?.length) return // 有子菜单不触发\r\n\r\n emit('select', item)\r\n if (props.autoClose) close()\r\n }\r\n\r\n // ===== 子菜单悬停 =====\r\n const handleMouseEnter = (item: ContextMenuItem) => {\r\n if (subTimer) {\r\n clearTimeout(subTimer)\r\n subTimer = null\r\n }\r\n if (item.children?.length && !item.disabled) {\r\n subTimer = setTimeout(() => {\r\n activeSubKey.value = item.key\r\n }, 150)\r\n } else {\r\n activeSubKey.value = null\r\n }\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n if (subTimer) {\r\n clearTimeout(subTimer)\r\n subTimer = null\r\n }\r\n subTimer = setTimeout(() => {\r\n activeSubKey.value = null\r\n }, 300)\r\n }\r\n\r\n // ===== 子菜单选择向上冒泡 =====\r\n const handleSubSelect = (item: ContextMenuItem) => {\r\n emit('select', item)\r\n if (props.autoClose) close()\r\n }\r\n\r\n // ===== 暴露 API =====\r\n defineExpose({\r\n /** 在指定坐标打开菜单 */\r\n open,\r\n /** 关闭菜单 */\r\n close,\r\n /** 当前是否可见 */\r\n visible: computed(() => visible.value),\r\n })\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n","/* unplugin-vue-components disabled */<!--\r\n * @Description: 右键菜单组件 — 声明式配置、快捷键标注、嵌套子菜单\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.\r\n-->\r\n<template>\r\n <!-- 遮罩层 -->\r\n <Teleport to=\"body\">\r\n <div\r\n v-if=\"visible\"\r\n class=\"c-context-menu-overlay\"\r\n :style=\"{ zIndex: props.zIndex - 1 }\"\r\n @click=\"close\"\r\n @contextmenu.prevent=\"close\"\r\n />\r\n\r\n <!-- 菜单面板 -->\r\n <div\r\n v-if=\"visible\"\r\n ref=\"menuRef\"\r\n class=\"c-context-menu\"\r\n :style=\"menuStyle\"\r\n role=\"menu\"\r\n tabindex=\"-1\"\r\n @keydown.escape=\"close\"\r\n >\r\n <template\r\n v-for=\"item in visibleItems\"\r\n :key=\"item.key\"\r\n >\r\n <!-- 分割线 -->\r\n <div\r\n v-if=\"item.divider\"\r\n class=\"c-context-menu__divider\"\r\n role=\"separator\"\r\n />\r\n\r\n <!-- 普通菜单项 -->\r\n <div\r\n v-else\r\n :class=\"[\r\n 'c-context-menu__item',\r\n {\r\n 'is-disabled': item.disabled,\r\n 'is-danger': item.danger,\r\n },\r\n ]\"\r\n role=\"menuitem\"\r\n :aria-disabled=\"item.disabled\"\r\n @click=\"handleItemClick(item)\"\r\n @mouseenter=\"handleMouseEnter(item)\"\r\n @mouseleave=\"handleMouseLeave\"\r\n >\r\n <!-- 图标 -->\r\n <span\r\n v-if=\"item.icon\"\r\n class=\"c-context-menu__icon\"\r\n >\r\n <C_Icon :name=\"item.icon\" />\r\n </span>\r\n\r\n <!-- 文本 -->\r\n <span class=\"c-context-menu__label\">{{ item.label }}</span>\r\n\r\n <!-- 快捷键 -->\r\n <span\r\n v-if=\"item.shortcut\"\r\n class=\"c-context-menu__shortcut\"\r\n >\r\n {{ item.shortcut }}\r\n </span>\r\n\r\n <!-- 子菜单箭头 -->\r\n <span\r\n v-if=\"item.children?.length\"\r\n class=\"c-context-menu__arrow\"\r\n >\r\n <C_Icon name=\"mdi:chevron-right\" />\r\n </span>\r\n\r\n <!-- 子菜单(递归) -->\r\n <C_ContextMenu\r\n v-if=\"item.children?.length && activeSubKey === item.key\"\r\n :items=\"item.children\"\r\n :min-width=\"props.minWidth\"\r\n :max-width=\"props.maxWidth\"\r\n :sub-menu-placement=\"props.subMenuPlacement\"\r\n :auto-close=\"props.autoClose\"\r\n :z-index=\"props.zIndex + 1\"\r\n class=\"c-context-menu__submenu\"\r\n :class=\"`is-${props.subMenuPlacement}`\"\r\n :style=\"{ position: 'absolute' }\"\r\n @select=\"handleSubSelect\"\r\n />\r\n </div>\r\n </template>\r\n </div>\r\n </Teleport>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n import { computed, nextTick, ref } from 'vue'\r\n import C_Icon from '../C_Icon/index.vue'\r\n import {\r\n DEFAULT_CONTEXT_MENU_PROPS,\r\n type ContextMenuItem,\r\n type ContextMenuProps,\r\n } from './types'\r\n\r\n defineOptions({ name: 'C_ContextMenu' })\r\n\r\n const props = withDefaults(defineProps<ContextMenuProps>(), {\r\n items: () => [],\r\n minWidth: DEFAULT_CONTEXT_MENU_PROPS.minWidth,\r\n maxWidth: DEFAULT_CONTEXT_MENU_PROPS.maxWidth,\r\n subMenuPlacement: DEFAULT_CONTEXT_MENU_PROPS.subMenuPlacement,\r\n autoClose: DEFAULT_CONTEXT_MENU_PROPS.autoClose,\r\n disabled: DEFAULT_CONTEXT_MENU_PROPS.disabled,\r\n zIndex: DEFAULT_CONTEXT_MENU_PROPS.zIndex,\r\n })\r\n\r\n const emit = defineEmits<{\r\n (e: 'select', item: ContextMenuItem): void\r\n (e: 'open', position: { x: number; y: number }): void\r\n (e: 'close'): void\r\n }>()\r\n\r\n // ===== 状态 =====\r\n const visible = ref(false)\r\n const position = ref({ x: 0, y: 0 })\r\n const menuRef = ref<HTMLElement>()\r\n const activeSubKey = ref<string | null>(null)\r\n\r\n let subTimer: ReturnType<typeof setTimeout> | null = null\r\n\r\n // ===== 可见项 =====\r\n const visibleItems = computed(() => props.items.filter(item => !item.hidden))\r\n\r\n // ===== 菜单定位样式 =====\r\n const menuStyle = computed(() => ({\r\n left: `${position.value.x}px`,\r\n top: `${position.value.y}px`,\r\n minWidth: `${props.minWidth}px`,\r\n maxWidth: `${props.maxWidth}px`,\r\n zIndex: props.zIndex,\r\n }))\r\n\r\n // ===== 边界校正 =====\r\n const adjustPosition = () => {\r\n nextTick(() => {\r\n const el = menuRef.value\r\n if (!el) return\r\n const rect = el.getBoundingClientRect()\r\n const { innerWidth, innerHeight } = window\r\n\r\n if (rect.right > innerWidth) {\r\n position.value.x = innerWidth - rect.width - 8\r\n }\r\n if (rect.bottom > innerHeight) {\r\n position.value.y = innerHeight - rect.height - 8\r\n }\r\n if (position.value.x < 0) position.value.x = 8\r\n if (position.value.y < 0) position.value.y = 8\r\n })\r\n }\r\n\r\n // ===== 打开/关闭 =====\r\n const open = (x: number, y: number) => {\r\n if (props.disabled) return\r\n position.value = { x, y }\r\n visible.value = true\r\n emit('open', { x, y })\r\n adjustPosition()\r\n\r\n // 聚焦以支持 Escape 关闭\r\n nextTick(() => menuRef.value?.focus())\r\n }\r\n\r\n const close = () => {\r\n visible.value = false\r\n activeSubKey.value = null\r\n emit('close')\r\n }\r\n\r\n // ===== 菜单项点击 =====\r\n const handleItemClick = (item: ContextMenuItem) => {\r\n if (item.disabled) return\r\n if (item.children?.length) return // 有子菜单不触发\r\n\r\n emit('select', item)\r\n if (props.autoClose) close()\r\n }\r\n\r\n // ===== 子菜单悬停 =====\r\n const handleMouseEnter = (item: ContextMenuItem) => {\r\n if (subTimer) {\r\n clearTimeout(subTimer)\r\n subTimer = null\r\n }\r\n if (item.children?.length && !item.disabled) {\r\n subTimer = setTimeout(() => {\r\n activeSubKey.value = item.key\r\n }, 150)\r\n } else {\r\n activeSubKey.value = null\r\n }\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n if (subTimer) {\r\n clearTimeout(subTimer)\r\n subTimer = null\r\n }\r\n subTimer = setTimeout(() => {\r\n activeSubKey.value = null\r\n }, 300)\r\n }\r\n\r\n // ===== 子菜单选择向上冒泡 =====\r\n const handleSubSelect = (item: ContextMenuItem) => {\r\n emit('select', item)\r\n if (props.autoClose) close()\r\n }\r\n\r\n // ===== 暴露 API =====\r\n defineExpose({\r\n /** 在指定坐标打开菜单 */\r\n open,\r\n /** 关闭菜单 */\r\n close,\r\n /** 当前是否可见 */\r\n visible: computed(() => visible.value),\r\n })\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n","<!--\r\n * @Description: 右键菜单组件 — 声明式配置、快捷键标注、嵌套子菜单\r\n * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.\r\n-->\r\n<template>\r\n <!-- 遮罩层 -->\r\n <Teleport to=\"body\">\r\n <div\r\n v-if=\"visible\"\r\n class=\"c-context-menu-overlay\"\r\n :style=\"{ zIndex: props.zIndex - 1 }\"\r\n @click=\"close\"\r\n @contextmenu.prevent=\"close\"\r\n />\r\n\r\n <!-- 菜单面板 -->\r\n <div\r\n v-if=\"visible\"\r\n ref=\"menuRef\"\r\n class=\"c-context-menu\"\r\n :style=\"menuStyle\"\r\n role=\"menu\"\r\n tabindex=\"-1\"\r\n @keydown.escape=\"close\"\r\n >\r\n <template\r\n v-for=\"item in visibleItems\"\r\n :key=\"item.key\"\r\n >\r\n <!-- 分割线 -->\r\n <div\r\n v-if=\"item.divider\"\r\n class=\"c-context-menu__divider\"\r\n role=\"separator\"\r\n />\r\n\r\n <!-- 普通菜单项 -->\r\n <div\r\n v-else\r\n :class=\"[\r\n 'c-context-menu__item',\r\n {\r\n 'is-disabled': item.disabled,\r\n 'is-danger': item.danger,\r\n },\r\n ]\"\r\n role=\"menuitem\"\r\n :aria-disabled=\"item.disabled\"\r\n @click=\"handleItemClick(item)\"\r\n @mouseenter=\"handleMouseEnter(item)\"\r\n @mouseleave=\"handleMouseLeave\"\r\n >\r\n <!-- 图标 -->\r\n <span\r\n v-if=\"item.icon\"\r\n class=\"c-context-menu__icon\"\r\n >\r\n <C_Icon :name=\"item.icon\" />\r\n </span>\r\n\r\n <!-- 文本 -->\r\n <span class=\"c-context-menu__label\">{{ item.label }}</span>\r\n\r\n <!-- 快捷键 -->\r\n <span\r\n v-if=\"item.shortcut\"\r\n class=\"c-context-menu__shortcut\"\r\n >\r\n {{ item.shortcut }}\r\n </span>\r\n\r\n <!-- 子菜单箭头 -->\r\n <span\r\n v-if=\"item.children?.length\"\r\n class=\"c-context-menu__arrow\"\r\n >\r\n <C_Icon name=\"mdi:chevron-right\" />\r\n </span>\r\n\r\n <!-- 子菜单(递归) -->\r\n <C_ContextMenu\r\n v-if=\"item.children?.length && activeSubKey === item.key\"\r\n :items=\"item.children\"\r\n :min-width=\"props.minWidth\"\r\n :max-width=\"props.maxWidth\"\r\n :sub-menu-placement=\"props.subMenuPlacement\"\r\n :auto-close=\"props.autoClose\"\r\n :z-index=\"props.zIndex + 1\"\r\n class=\"c-context-menu__submenu\"\r\n :class=\"`is-${props.subMenuPlacement}`\"\r\n :style=\"{ position: 'absolute' }\"\r\n @select=\"handleSubSelect\"\r\n />\r\n </div>\r\n </template>\r\n </div>\r\n </Teleport>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\n import { computed, nextTick, ref } from 'vue'\r\n import C_Icon from '../C_Icon/index.vue'\r\n import {\r\n DEFAULT_CONTEXT_MENU_PROPS,\r\n type ContextMenuItem,\r\n type ContextMenuProps,\r\n } from './types'\r\n\r\n defineOptions({ name: 'C_ContextMenu' })\r\n\r\n const props = withDefaults(defineProps<ContextMenuProps>(), {\r\n items: () => [],\r\n minWidth: DEFAULT_CONTEXT_MENU_PROPS.minWidth,\r\n maxWidth: DEFAULT_CONTEXT_MENU_PROPS.maxWidth,\r\n subMenuPlacement: DEFAULT_CONTEXT_MENU_PROPS.subMenuPlacement,\r\n autoClose: DEFAULT_CONTEXT_MENU_PROPS.autoClose,\r\n disabled: DEFAULT_CONTEXT_MENU_PROPS.disabled,\r\n zIndex: DEFAULT_CONTEXT_MENU_PROPS.zIndex,\r\n })\r\n\r\n const emit = defineEmits<{\r\n (e: 'select', item: ContextMenuItem): void\r\n (e: 'open', position: { x: number; y: number }): void\r\n (e: 'close'): void\r\n }>()\r\n\r\n // ===== 状态 =====\r\n const visible = ref(false)\r\n const position = ref({ x: 0, y: 0 })\r\n const menuRef = ref<HTMLElement>()\r\n const activeSubKey = ref<string | null>(null)\r\n\r\n let subTimer: ReturnType<typeof setTimeout> | null = null\r\n\r\n // ===== 可见项 =====\r\n const visibleItems = computed(() => props.items.filter(item => !item.hidden))\r\n\r\n // ===== 菜单定位样式 =====\r\n const menuStyle = computed(() => ({\r\n left: `${position.value.x}px`,\r\n top: `${position.value.y}px`,\r\n minWidth: `${props.minWidth}px`,\r\n maxWidth: `${props.maxWidth}px`,\r\n zIndex: props.zIndex,\r\n }))\r\n\r\n // ===== 边界校正 =====\r\n const adjustPosition = () => {\r\n nextTick(() => {\r\n const el = menuRef.value\r\n if (!el) return\r\n const rect = el.getBoundingClientRect()\r\n const { innerWidth, innerHeight } = window\r\n\r\n if (rect.right > innerWidth) {\r\n position.value.x = innerWidth - rect.width - 8\r\n }\r\n if (rect.bottom > innerHeight) {\r\n position.value.y = innerHeight - rect.height - 8\r\n }\r\n if (position.value.x < 0) position.value.x = 8\r\n if (position.value.y < 0) position.value.y = 8\r\n })\r\n }\r\n\r\n // ===== 打开/关闭 =====\r\n const open = (x: number, y: number) => {\r\n if (props.disabled) return\r\n position.value = { x, y }\r\n visible.value = true\r\n emit('open', { x, y })\r\n adjustPosition()\r\n\r\n // 聚焦以支持 Escape 关闭\r\n nextTick(() => menuRef.value?.focus())\r\n }\r\n\r\n const close = () => {\r\n visible.value = false\r\n activeSubKey.value = null\r\n emit('close')\r\n }\r\n\r\n // ===== 菜单项点击 =====\r\n const handleItemClick = (item: ContextMenuItem) => {\r\n if (item.disabled) return\r\n if (item.children?.length) return // 有子菜单不触发\r\n\r\n emit('select', item)\r\n if (props.autoClose) close()\r\n }\r\n\r\n // ===== 子菜单悬停 =====\r\n const handleMouseEnter = (item: ContextMenuItem) => {\r\n if (subTimer) {\r\n clearTimeout(subTimer)\r\n subTimer = null\r\n }\r\n if (item.children?.length && !item.disabled) {\r\n subTimer = setTimeout(() => {\r\n activeSubKey.value = item.key\r\n }, 150)\r\n } else {\r\n activeSubKey.value = null\r\n }\r\n }\r\n\r\n const handleMouseLeave = () => {\r\n if (subTimer) {\r\n clearTimeout(subTimer)\r\n subTimer = null\r\n }\r\n subTimer = setTimeout(() => {\r\n activeSubKey.value = null\r\n }, 300)\r\n }\r\n\r\n // ===== 子菜单选择向上冒泡 =====\r\n const handleSubSelect = (item: ContextMenuItem) => {\r\n emit('select', item)\r\n if (props.autoClose) close()\r\n }\r\n\r\n // ===== 暴露 API =====\r\n defineExpose({\r\n /** 在指定坐标打开菜单 */\r\n open,\r\n /** 关闭菜单 */\r\n close,\r\n /** 当前是否可见 */\r\n visible: computed(() => visible.value),\r\n })\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n @use './index.scss';\r\n</style>\r\n"],"mappings":"iZAgDA,MAAa,EAA6B,CACxC,SAAU,IACV,SAAU,IACV,iBAAkB,QAClB,UAAW,GACX,SAAU,GACV,OAAQ,KACT,0mBGuDC,IAAM,EAAQ,EAUR,EAAO,EAOP,EAAU,EAAI,GAAM,CACpB,EAAW,EAAI,CAAE,EAAG,EAAG,EAAG,EAAG,CAAC,CAC9B,EAAU,GAAkB,CAC5B,EAAe,EAAmB,KAAK,CAEzC,EAAiD,KAG/C,EAAe,MAAe,EAAM,MAAM,OAAO,GAAQ,CAAC,EAAK,OAAO,CAAC,CAGvE,EAAY,OAAgB,CAChC,KAAM,GAAG,EAAS,MAAM,EAAE,IAC1B,IAAK,GAAG,EAAS,MAAM,EAAE,IACzB,SAAU,GAAG,EAAM,SAAS,IAC5B,SAAU,GAAG,EAAM,SAAS,IAC5B,OAAQ,EAAM,OACf,EAAE,CAGG,MAAuB,CAC3B,MAAe,CACb,IAAM,EAAK,EAAQ,MACnB,GAAI,CAAC,EAAI,OACT,IAAM,EAAO,EAAG,uBAAuB,CACjC,CAAE,aAAY,eAAgB,OAEhC,EAAK,MAAQ,IACf,EAAS,MAAM,EAAI,EAAa,EAAK,MAAQ,GAE3C,EAAK,OAAS,IAChB,EAAS,MAAM,EAAI,EAAc,EAAK,OAAS,GAE7C,EAAS,MAAM,EAAI,IAAG,EAAS,MAAM,EAAI,GACzC,EAAS,MAAM,EAAI,IAAG,EAAS,MAAM,EAAI,IAC7C,EAIE,GAAQ,EAAW,IAAc,CACjC,EAAM,WACV,EAAS,MAAQ,CAAE,IAAG,IAAG,CACzB,EAAQ,MAAQ,GAChB,EAAK,OAAQ,CAAE,IAAG,IAAG,CAAC,CACtB,GAAgB,CAGhB,MAAe,EAAQ,OAAO,OAAO,CAAC,GAGlC,MAAc,CAClB,EAAQ,MAAQ,GAChB,EAAa,MAAQ,KACrB,EAAK,QAAQ,EAIT,EAAmB,GAA0B,CAC7C,EAAK,UACL,EAAK,UAAU,SAEnB,EAAK,SAAU,EAAK,CAChB,EAAM,WAAW,GAAO,GAIxB,EAAoB,GAA0B,CAClD,AAEE,KADA,aAAa,EAAS,CACX,MAET,EAAK,UAAU,QAAU,CAAC,EAAK,SACjC,EAAW,eAAiB,CAC1B,EAAa,MAAQ,EAAK,KACzB,IAAI,CAEP,EAAa,MAAQ,MAInB,MAAyB,CAC7B,AAEE,KADA,aAAa,EAAS,CACX,MAEb,EAAW,eAAiB,CAC1B,EAAa,MAAQ,MACpB,IAAI,EAIH,EAAmB,GAA0B,CACjD,EAAK,SAAU,EAAK,CAChB,EAAM,WAAW,GAAO,SAI9B,EAAa,CAEX,OAEA,QAEA,QAAS,MAAe,EAAQ,MAAM,CACvC,CAAC,sCAlOF,EAAA,QAAY,EAAA,GAAA,CACZ,EA0FW,EAAA,CA1FD,GAAG,OAAM,CAAA,CAET,EAAA,OAAA,GAAA,CADR,EAME,MAAA,OAJA,MAAM,yBACL,MAAK,EAAA,CAAA,OAAY,EAAM,OAAM,EAAA,CAAA,CAC7B,QAAO,EACP,cAAW,EAAU,EAAK,CAAA,UAAA,CAAA,yBAG7B,EAAA,SAAa,CAEL,EAAA,OAAA,GAAA,CADR,EA+EM,MAAA,eA7EA,UAAJ,IAAI,EACJ,MAAM,iBACL,MAAK,EAAE,EAAA,MAAS,CACjB,KAAK,OACL,SAAS,KACR,UAAO,EAAS,EAAK,CAAA,SAAA,CAAA,UAEtB,EAqEW,EAAA,KAAA,EApEM,EAAA,MAAR,iBACD,EAAK,IAAA,CAAA,CAEX,EAAA,QAAY,CAEJ,EAAK,SAAA,GAAA,CADb,EAIE,MAJF,EAIE,GAAA,GAAA,CAGF,EAwDM,EAAA,CAAA,IAAA,EAAA,CAAA,CAzDN,EAAA,UAAc,CACd,EAwDM,MAAA,CAtDH,MAAK,EAAA,CAAA,uBAAA,eAAsF,EAAK,qBAAsC,EAAK,UAO5I,KAAK,WACJ,gBAAe,EAAK,SACpB,QAAK,GAAE,EAAgB,EAAI,CAC3B,aAAU,GAAE,EAAiB,EAAI,CACjC,aAAY,IAEb,EAAA,OAAW,CAEH,EAAK,MAAA,GAAA,CADb,EAKO,OALP,EAKO,CADL,EAA4B,EAAA,CAAnB,KAAM,EAAK,KAAA,CAAA,KAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA,EAAA,EAAA,OAAA,GAAA,CAGtB,EAAA,OAAW,CACX,EAA2D,OAA3D,EAA2D,EAApB,EAAK,MAAK,CAAA,EAAA,CAEjD,EAAA,QAAY,CAEJ,EAAK,UAAA,GAAA,CADb,EAKO,OALP,EAKO,EADF,EAAK,SAAQ,CAAA,EAAA,EAAA,EAAA,OAAA,GAAA,CAGlB,EAAA,UAAc,CAEN,EAAK,UAAU,QAAA,GAAA,CADvB,EAKO,OALP,EAKO,CADL,EAAmC,EAAA,CAA3B,KAAK,oBAAmB,CAAA,CAAA,CAAA,EAAA,EAAA,OAAA,GAAA,CAGlC,EAAA,YAAgB,CAER,EAAK,UAAU,QAAU,EAAA,QAAiB,EAAK,KAAA,GAAA,CADvD,EAYE,EAAA,OAVC,MAAO,EAAK,SACZ,YAAW,EAAM,SACjB,YAAW,EAAM,SACjB,qBAAoB,EAAM,iBAC1B,aAAY,EAAM,UAClB,UAAS,EAAM,OAAM,EACtB,MAAK,EAAA,CAAC,0BAAyB,MACjB,EAAM,mBAAgB,CAAA,CACnC,MAAO,CAAA,SAAA,WAAwB,CAC/B,SAAQ"}
1
+ {"version":3,"file":"C_ContextMenu2.js","names":[],"sources":["../src/components/C_ContextMenu/types.ts","../src/components/C_ContextMenu/index.vue"],"sourcesContent":["/**\n * @Description: 右键菜单组件类型定义\n * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.\n */\n\n/** 菜单项 */\nexport interface ContextMenuItem {\n /** 唯一标识 */\n key: string\n /** 菜单文字 */\n label: string\n /** 图标(Iconify 图标名) */\n icon?: string\n /** 快捷键标注文字(仅展示,不绑定) */\n shortcut?: string\n /** 是否禁用 */\n disabled?: boolean\n /** 是否隐藏 */\n hidden?: boolean\n /** 分割线(此项渲染为分割线,label 被忽略) */\n divider?: boolean\n /** 子菜单(支持无限嵌套) */\n children?: ContextMenuItem[]\n /** 自定义样式类 */\n className?: string\n /** 危险操作(红色高亮) */\n danger?: boolean\n}\n\n/** 组件 Props */\nexport interface ContextMenuProps {\n /** 菜单项列表 */\n items: ContextMenuItem[]\n /** 菜单最小宽度 */\n minWidth?: number\n /** 菜单最大宽度 */\n maxWidth?: number\n /** 子菜单展开方向 */\n subMenuPlacement?: 'right' | 'left'\n /** 点击菜单项后是否自动关闭 */\n autoClose?: boolean\n /** 是否禁用整个菜单 */\n disabled?: boolean\n /** 自定义 z-index */\n zIndex?: number\n}\n\n/** 默认 Props */\nexport const DEFAULT_CONTEXT_MENU_PROPS = {\n minWidth: 180,\n maxWidth: 280,\n subMenuPlacement: 'right' as const,\n autoClose: true,\n disabled: false,\n zIndex: 9999,\n}\n","<!--\n * @Description: 右键菜单组件 — 声明式配置、快捷键标注、嵌套子菜单\n * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.\n-->\n<template>\n <!-- 遮罩层 -->\n <Teleport to=\"body\">\n <div\n v-if=\"visible\"\n class=\"c-context-menu-overlay\"\n :style=\"{ zIndex: props.zIndex - 1 }\"\n @click=\"close\"\n @contextmenu.prevent=\"close\"\n />\n\n <!-- 菜单面板 -->\n <div\n v-if=\"visible\"\n ref=\"menuRef\"\n class=\"c-context-menu\"\n :style=\"menuStyle\"\n role=\"menu\"\n tabindex=\"-1\"\n @keydown.escape=\"close\"\n >\n <template\n v-for=\"item in visibleItems\"\n :key=\"item.key\"\n >\n <!-- 分割线 -->\n <div\n v-if=\"item.divider\"\n class=\"c-context-menu__divider\"\n role=\"separator\"\n />\n\n <!-- 普通菜单项 -->\n <div\n v-else\n :class=\"[\n 'c-context-menu__item',\n {\n 'is-disabled': item.disabled,\n 'is-danger': item.danger,\n },\n ]\"\n role=\"menuitem\"\n :aria-disabled=\"item.disabled\"\n @click=\"handleItemClick(item)\"\n @mouseenter=\"handleMouseEnter(item)\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- 图标 -->\n <span\n v-if=\"item.icon\"\n class=\"c-context-menu__icon\"\n >\n <C_Icon :name=\"item.icon\" />\n </span>\n\n <!-- 文本 -->\n <span class=\"c-context-menu__label\">{{ item.label }}</span>\n\n <!-- 快捷键 -->\n <span\n v-if=\"item.shortcut\"\n class=\"c-context-menu__shortcut\"\n >\n {{ item.shortcut }}\n </span>\n\n <!-- 子菜单箭头 -->\n <span\n v-if=\"item.children?.length\"\n class=\"c-context-menu__arrow\"\n >\n <C_Icon name=\"mdi:chevron-right\" />\n </span>\n\n <!-- 子菜单(递归) -->\n <C_ContextMenu\n v-if=\"item.children?.length && activeSubKey === item.key\"\n :items=\"item.children\"\n :min-width=\"props.minWidth\"\n :max-width=\"props.maxWidth\"\n :sub-menu-placement=\"props.subMenuPlacement\"\n :auto-close=\"props.autoClose\"\n :z-index=\"props.zIndex + 1\"\n class=\"c-context-menu__submenu\"\n :class=\"`is-${props.subMenuPlacement}`\"\n :style=\"{ position: 'absolute' }\"\n @select=\"handleSubSelect\"\n />\n </div>\n </template>\n </div>\n </Teleport>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, ref } from 'vue'\n import C_Icon from '../C_Icon/index.vue'\n import {\n DEFAULT_CONTEXT_MENU_PROPS,\n type ContextMenuItem,\n type ContextMenuProps,\n } from './types'\n\n defineOptions({ name: 'C_ContextMenu' })\n\n const props = withDefaults(defineProps<ContextMenuProps>(), {\n items: () => [],\n minWidth: DEFAULT_CONTEXT_MENU_PROPS.minWidth,\n maxWidth: DEFAULT_CONTEXT_MENU_PROPS.maxWidth,\n subMenuPlacement: DEFAULT_CONTEXT_MENU_PROPS.subMenuPlacement,\n autoClose: DEFAULT_CONTEXT_MENU_PROPS.autoClose,\n disabled: DEFAULT_CONTEXT_MENU_PROPS.disabled,\n zIndex: DEFAULT_CONTEXT_MENU_PROPS.zIndex,\n })\n\n const emit = defineEmits<{\n (e: 'select', item: ContextMenuItem): void\n (e: 'open', position: { x: number; y: number }): void\n (e: 'close'): void\n }>()\n\n // ===== 状态 =====\n const visible = ref(false)\n const position = ref({ x: 0, y: 0 })\n const menuRef = ref<HTMLElement>()\n const activeSubKey = ref<string | null>(null)\n\n let subTimer: ReturnType<typeof setTimeout> | null = null\n\n // ===== 可见项 =====\n const visibleItems = computed(() => props.items.filter(item => !item.hidden))\n\n // ===== 菜单定位样式 =====\n const menuStyle = computed(() => ({\n left: `${position.value.x}px`,\n top: `${position.value.y}px`,\n minWidth: `${props.minWidth}px`,\n maxWidth: `${props.maxWidth}px`,\n zIndex: props.zIndex,\n }))\n\n // ===== 边界校正 =====\n const adjustPosition = () => {\n nextTick(() => {\n const el = menuRef.value\n if (!el) return\n const rect = el.getBoundingClientRect()\n const { innerWidth, innerHeight } = window\n\n if (rect.right > innerWidth) {\n position.value.x = innerWidth - rect.width - 8\n }\n if (rect.bottom > innerHeight) {\n position.value.y = innerHeight - rect.height - 8\n }\n if (position.value.x < 0) position.value.x = 8\n if (position.value.y < 0) position.value.y = 8\n })\n }\n\n // ===== 打开/关闭 =====\n const open = (x: number, y: number) => {\n if (props.disabled) return\n position.value = { x, y }\n visible.value = true\n emit('open', { x, y })\n adjustPosition()\n\n // 聚焦以支持 Escape 关闭\n nextTick(() => menuRef.value?.focus())\n }\n\n const close = () => {\n visible.value = false\n activeSubKey.value = null\n emit('close')\n }\n\n // ===== 菜单项点击 =====\n const handleItemClick = (item: ContextMenuItem) => {\n if (item.disabled) return\n if (item.children?.length) return // 有子菜单不触发\n\n emit('select', item)\n if (props.autoClose) close()\n }\n\n // ===== 子菜单悬停 =====\n const handleMouseEnter = (item: ContextMenuItem) => {\n if (subTimer) {\n clearTimeout(subTimer)\n subTimer = null\n }\n if (item.children?.length && !item.disabled) {\n subTimer = setTimeout(() => {\n activeSubKey.value = item.key\n }, 150)\n } else {\n activeSubKey.value = null\n }\n }\n\n const handleMouseLeave = () => {\n if (subTimer) {\n clearTimeout(subTimer)\n subTimer = null\n }\n subTimer = setTimeout(() => {\n activeSubKey.value = null\n }, 300)\n }\n\n // ===== 子菜单选择向上冒泡 =====\n const handleSubSelect = (item: ContextMenuItem) => {\n emit('select', item)\n if (props.autoClose) close()\n }\n\n // ===== 暴露 API =====\n defineExpose({\n /** 在指定坐标打开菜单 */\n open,\n /** 关闭菜单 */\n close,\n /** 当前是否可见 */\n visible: computed(() => visible.value),\n })\n</script>\n\n<style scoped lang=\"scss\">\n @use './index.scss';\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"C_Cron-C0-8b5af.css","names":[],"sources":["../src/components/C_Cron/components/CronFieldEditor.vue?vue&type=style&index=0&scoped=769c51fe&lang.scss","../src/components/C_Cron/components/CronPreview.vue?vue&type=style&index=0&scoped=570ad3fb&lang.scss","../src/components/C_Cron/components/CronTemplates.vue?vue&type=style&index=0&scoped=5190cefc&lang.scss","../src/components/C_Cron/index.vue?vue&type=style&index=0&scoped=b3efef0a&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.cron-field-editor__grid[data-v-769c51fe] {\n display: grid;\n grid-template-columns: repeat(var(--cols, 10), 1fr);\n gap: 4px;\n}\n.cron-field-editor__cell[data-v-769c51fe] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 34px;\n border-radius: 6px;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n color: var(--c-text-2);\n /* 非交互高亮(every / range / step 的视觉反馈) */\n /* 可交互模式(specific) */\n}\n.cron-field-editor__cell--on[data-v-769c51fe]:not(.cron-field-editor__cell--pick) {\n background: color-mix(in srgb, var(--c-primary) 12%, transparent);\n color: var(--c-primary);\n}\n.cron-field-editor__cell--pick[data-v-769c51fe] {\n cursor: pointer;\n}\n.cron-field-editor__cell--pick[data-v-769c51fe]:hover:not(.cron-field-editor__cell--on) {\n background: var(--c-bg-card);\n}\n.cron-field-editor__cell--pick.cron-field-editor__cell--on[data-v-769c51fe] {\n background: var(--c-primary);\n color: #fff;\n font-weight: 600;\n}","/* unplugin-vue-components disabled */.cron-preview__header[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 6px;\n color: var(--c-text-1);\n}\n.cron-preview__list[data-v-570ad3fb] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.cron-preview__item[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 3px 4px;\n border-radius: 4px;\n font-size: 12px;\n transition: background var(--c-transition, 0.2s ease);\n}\n.cron-preview__item[data-v-570ad3fb]:hover {\n background: var(--c-bg-card);\n}\n.cron-preview__idx[data-v-570ad3fb] {\n width: 16px;\n text-align: center;\n color: var(--c-text-4);\n flex-shrink: 0;\n font-size: 11px;\n}\n.cron-preview__date[data-v-570ad3fb] {\n font-family: \"Courier New\", Courier, monospace;\n flex: 1;\n font-size: 12px;\n}\n.cron-preview__week[data-v-570ad3fb] {\n color: var(--c-text-4);\n font-size: 12px;\n flex-shrink: 0;\n}","/* unplugin-vue-components disabled */.cron-templates__header[data-v-5190cefc] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 10px;\n color: var(--c-text-1);\n}\n.cron-templates__cards[data-v-5190cefc] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 8px;\n}\n.cron-templates__card[data-v-5190cefc] {\n padding: 10px 12px;\n border-radius: 8px;\n border: 1px solid var(--c-border);\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n}\n.cron-templates__card[data-v-5190cefc]:hover {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 4%, transparent);\n}\n.cron-templates__card--active[data-v-5190cefc] {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 8%, transparent);\n}\n.cron-templates__card-name[data-v-5190cefc] {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.4;\n}\n.cron-templates__card-expr[data-v-5190cefc] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}","/* unplugin-vue-components disabled *//* Cron 表达式编辑器 - 组件级全局样式 */\n.c-cron[data-v-b3efef0a] {\n padding: 20px;\n border-radius: 10px;\n border: 1px solid var(--c-border);\n background: var(--c-bg-card);\n /* ═══════ 顶部 ═══════ */\n /* ─── 分段式字段选择器 ──────────────────── */\n /* ─── 表达式行 ─────────────────────────── */\n /* ═══════ 主内容 ═══════ */\n /* ─── 右侧控制面板 ────────────────────── */\n /* ═══════ 底部模板 ═══════ */\n}\n.c-cron__header[data-v-b3efef0a] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--c-border);\n margin-bottom: 16px;\n}\n.c-cron__title-row[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.c-cron__title[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 15px;\n}\n.c-cron__segments[data-v-b3efef0a] {\n display: flex;\n gap: 2px;\n padding: 3px;\n border-radius: 10px;\n background: var(--c-bg);\n}\n.c-cron__segment[data-v-b3efef0a] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 6px 5px;\n border-radius: 8px;\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n min-width: 0;\n}\n.c-cron__segment[data-v-b3efef0a]:not(.c-cron__segment--active):hover {\n background: color-mix(in srgb, var(--c-bg-card) 60%, transparent);\n}\n.c-cron__segment--active[data-v-b3efef0a] {\n background: var(--c-bg-card);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n}\n.c-cron__segment--active .c-cron__segment-value[data-v-b3efef0a] {\n color: var(--c-primary);\n}\n.c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-b3efef0a] {\n opacity: 0.35;\n}\n.c-cron__segment-value[data-v-b3efef0a] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 15px;\n font-weight: 700;\n line-height: 1.3;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n}\n.c-cron__segment-label[data-v-b3efef0a] {\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}\n.c-cron__expr-row[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.c-cron__expr-input[data-v-b3efef0a] {\n width: 240px;\n flex-shrink: 0;\n}\n.c-cron__expr-desc[data-v-b3efef0a] {\n flex: 1;\n font-size: 13px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.c-cron__description[data-v-b3efef0a] {\n color: var(--c-text-2);\n}\n.c-cron__error[data-v-b3efef0a] {\n color: var(--error-color);\n}\n.c-cron__body[data-v-b3efef0a] {\n display: flex;\n gap: 24px;\n}\n.c-cron__main[data-v-b3efef0a] {\n flex: 1;\n min-width: 0;\n}\n.c-cron__panel[data-v-b3efef0a] {\n width: 260px;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.c-cron__config[data-v-b3efef0a] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.c-cron__config-row[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--c-text-2);\n flex-wrap: wrap;\n}\n.c-cron__config-num[data-v-b3efef0a] {\n width: 68px;\n}\n.c-cron__quick[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n}\n.c-cron__quick a[data-v-b3efef0a] {\n color: var(--c-primary);\n cursor: pointer;\n user-select: none;\n}\n.c-cron__quick a[data-v-b3efef0a]:hover {\n text-decoration: underline;\n}\n.c-cron__quick-sep[data-v-b3efef0a] {\n color: var(--c-text-4);\n}\n.c-cron__quick-count[data-v-b3efef0a] {\n margin-left: 4px;\n font-size: 12px;\n color: var(--c-text-4);\n}\n.c-cron__panel-line[data-v-b3efef0a] {\n height: 1px;\n background: var(--c-border);\n}\n.c-cron__footer[data-v-b3efef0a] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}\n\n/* ─── 响应式 ────────────────────────────────── */\n@media (max-width: 768px) {\n.c-cron__body[data-v-b3efef0a] {\n flex-direction: column;\n}\n.c-cron__panel[data-v-b3efef0a] {\n width: 100%;\n}\n.c-cron__segments[data-v-b3efef0a] {\n flex-wrap: wrap;\n}\n.c-cron__segment[data-v-b3efef0a] {\n min-width: calc(33% - 4px);\n}\n.c-cron__expr-row[data-v-b3efef0a] {\n flex-wrap: wrap;\n}\n.c-cron__expr-input[data-v-b3efef0a] {\n width: 100%;\n}\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;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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"}
1
+ {"version":3,"file":"C_Cron-Civir5-I.css","names":[],"sources":["../src/components/C_Cron/components/CronFieldEditor.vue?vue&type=style&index=0&scoped=769c51fe&lang.scss","../src/components/C_Cron/components/CronPreview.vue?vue&type=style&index=0&scoped=570ad3fb&lang.scss","../src/components/C_Cron/components/CronTemplates.vue?vue&type=style&index=0&scoped=5190cefc&lang.scss","../src/components/C_Cron/index.vue?vue&type=style&index=0&scoped=e9b95547&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.cron-field-editor__grid[data-v-769c51fe] {\n display: grid;\n grid-template-columns: repeat(var(--cols, 10), 1fr);\n gap: 4px;\n}\n.cron-field-editor__cell[data-v-769c51fe] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 34px;\n border-radius: 6px;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n color: var(--c-text-2);\n /* 非交互高亮(every / range / step 的视觉反馈) */\n /* 可交互模式(specific) */\n}\n.cron-field-editor__cell--on[data-v-769c51fe]:not(.cron-field-editor__cell--pick) {\n background: color-mix(in srgb, var(--c-primary) 12%, transparent);\n color: var(--c-primary);\n}\n.cron-field-editor__cell--pick[data-v-769c51fe] {\n cursor: pointer;\n}\n.cron-field-editor__cell--pick[data-v-769c51fe]:hover:not(.cron-field-editor__cell--on) {\n background: var(--c-bg-card);\n}\n.cron-field-editor__cell--pick.cron-field-editor__cell--on[data-v-769c51fe] {\n background: var(--c-primary);\n color: #fff;\n font-weight: 600;\n}","/* unplugin-vue-components disabled */.cron-preview__header[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 6px;\n color: var(--c-text-1);\n}\n.cron-preview__list[data-v-570ad3fb] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.cron-preview__item[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 3px 4px;\n border-radius: 4px;\n font-size: 12px;\n transition: background var(--c-transition, 0.2s ease);\n}\n.cron-preview__item[data-v-570ad3fb]:hover {\n background: var(--c-bg-card);\n}\n.cron-preview__idx[data-v-570ad3fb] {\n width: 16px;\n text-align: center;\n color: var(--c-text-4);\n flex-shrink: 0;\n font-size: 11px;\n}\n.cron-preview__date[data-v-570ad3fb] {\n font-family: \"Courier New\", Courier, monospace;\n flex: 1;\n font-size: 12px;\n}\n.cron-preview__week[data-v-570ad3fb] {\n color: var(--c-text-4);\n font-size: 12px;\n flex-shrink: 0;\n}","/* unplugin-vue-components disabled */.cron-templates__header[data-v-5190cefc] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 10px;\n color: var(--c-text-1);\n}\n.cron-templates__cards[data-v-5190cefc] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 8px;\n}\n.cron-templates__card[data-v-5190cefc] {\n padding: 10px 12px;\n border-radius: 8px;\n border: 1px solid var(--c-border);\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n}\n.cron-templates__card[data-v-5190cefc]:hover {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 4%, transparent);\n}\n.cron-templates__card--active[data-v-5190cefc] {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 8%, transparent);\n}\n.cron-templates__card-name[data-v-5190cefc] {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.4;\n}\n.cron-templates__card-expr[data-v-5190cefc] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}","/* unplugin-vue-components disabled *//* Cron 表达式编辑器 - 组件级全局样式 */\n.c-cron[data-v-e9b95547] {\n padding: 20px;\n border-radius: 10px;\n border: 1px solid var(--c-border);\n background: var(--c-bg-card);\n /* ═══════ 顶部 ═══════ */\n /* ─── 分段式字段选择器 ──────────────────── */\n /* ─── 表达式行 ─────────────────────────── */\n /* ═══════ 主内容 ═══════ */\n /* ─── 右侧控制面板 ────────────────────── */\n /* ═══════ 底部模板 ═══════ */\n}\n.c-cron__header[data-v-e9b95547] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--c-border);\n margin-bottom: 16px;\n}\n.c-cron__title-row[data-v-e9b95547] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.c-cron__title[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 15px;\n}\n.c-cron__segments[data-v-e9b95547] {\n display: flex;\n gap: 2px;\n padding: 3px;\n border-radius: 10px;\n background: var(--c-bg);\n}\n.c-cron__segment[data-v-e9b95547] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 6px 5px;\n border-radius: 8px;\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n min-width: 0;\n}\n.c-cron__segment[data-v-e9b95547]:not(.c-cron__segment--active):hover {\n background: color-mix(in srgb, var(--c-bg-card) 60%, transparent);\n}\n.c-cron__segment--active[data-v-e9b95547] {\n background: var(--c-bg-card);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n}\n.c-cron__segment--active .c-cron__segment-value[data-v-e9b95547] {\n color: var(--c-primary);\n}\n.c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-e9b95547] {\n opacity: 0.35;\n}\n.c-cron__segment-value[data-v-e9b95547] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 15px;\n font-weight: 700;\n line-height: 1.3;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n}\n.c-cron__segment-label[data-v-e9b95547] {\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}\n.c-cron__expr-row[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.c-cron__expr-input[data-v-e9b95547] {\n width: 240px;\n flex-shrink: 0;\n}\n.c-cron__expr-desc[data-v-e9b95547] {\n flex: 1;\n font-size: 13px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.c-cron__description[data-v-e9b95547] {\n color: var(--c-text-2);\n}\n.c-cron__error[data-v-e9b95547] {\n color: var(--error-color);\n}\n.c-cron__body[data-v-e9b95547] {\n display: flex;\n gap: 24px;\n}\n.c-cron__main[data-v-e9b95547] {\n flex: 1;\n min-width: 0;\n}\n.c-cron__panel[data-v-e9b95547] {\n width: 260px;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.c-cron__config[data-v-e9b95547] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.c-cron__config-row[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--c-text-2);\n flex-wrap: wrap;\n}\n.c-cron__config-num[data-v-e9b95547] {\n width: 68px;\n}\n.c-cron__quick[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n}\n.c-cron__quick a[data-v-e9b95547] {\n color: var(--c-primary);\n cursor: pointer;\n user-select: none;\n}\n.c-cron__quick a[data-v-e9b95547]:hover {\n text-decoration: underline;\n}\n.c-cron__quick-sep[data-v-e9b95547] {\n color: var(--c-text-4);\n}\n.c-cron__quick-count[data-v-e9b95547] {\n margin-left: 4px;\n font-size: 12px;\n color: var(--c-text-4);\n}\n.c-cron__panel-line[data-v-e9b95547] {\n height: 1px;\n background: var(--c-border);\n}\n.c-cron__footer[data-v-e9b95547] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}\n\n/* ─── 响应式 ────────────────────────────────── */\n@media (max-width: 768px) {\n.c-cron__body[data-v-e9b95547] {\n flex-direction: column;\n}\n.c-cron__panel[data-v-e9b95547] {\n width: 100%;\n}\n.c-cron__segments[data-v-e9b95547] {\n flex-wrap: wrap;\n}\n.c-cron__segment[data-v-e9b95547] {\n min-width: calc(33% - 4px);\n}\n.c-cron__expr-row[data-v-e9b95547] {\n flex-wrap: wrap;\n}\n.c-cron__expr-input[data-v-e9b95547] {\n width: 100%;\n}\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;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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"}
@@ -1 +1 @@
1
- {"version":3,"file":"C_Cron-DqHQ92LN.css","names":[],"sources":["../src/components/C_Cron/components/CronFieldEditor.vue?vue&type=style&index=0&scoped=769c51fe&lang.scss","../src/components/C_Cron/components/CronPreview.vue?vue&type=style&index=0&scoped=570ad3fb&lang.scss","../src/components/C_Cron/components/CronTemplates.vue?vue&type=style&index=0&scoped=5190cefc&lang.scss","../src/components/C_Cron/index.vue?vue&type=style&index=0&scoped=b3efef0a&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.cron-field-editor__grid[data-v-769c51fe] {\n display: grid;\n grid-template-columns: repeat(var(--cols, 10), 1fr);\n gap: 4px;\n}\n.cron-field-editor__cell[data-v-769c51fe] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 34px;\n border-radius: 6px;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n color: var(--c-text-2);\n /* 非交互高亮(every / range / step 的视觉反馈) */\n /* 可交互模式(specific) */\n}\n.cron-field-editor__cell--on[data-v-769c51fe]:not(.cron-field-editor__cell--pick) {\n background: color-mix(in srgb, var(--c-primary) 12%, transparent);\n color: var(--c-primary);\n}\n.cron-field-editor__cell--pick[data-v-769c51fe] {\n cursor: pointer;\n}\n.cron-field-editor__cell--pick[data-v-769c51fe]:hover:not(.cron-field-editor__cell--on) {\n background: var(--c-bg-card);\n}\n.cron-field-editor__cell--pick.cron-field-editor__cell--on[data-v-769c51fe] {\n background: var(--c-primary);\n color: #fff;\n font-weight: 600;\n}","/* unplugin-vue-components disabled */.cron-preview__header[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 6px;\n color: var(--c-text-1);\n}\n.cron-preview__list[data-v-570ad3fb] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.cron-preview__item[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 3px 4px;\n border-radius: 4px;\n font-size: 12px;\n transition: background var(--c-transition, 0.2s ease);\n}\n.cron-preview__item[data-v-570ad3fb]:hover {\n background: var(--c-bg-card);\n}\n.cron-preview__idx[data-v-570ad3fb] {\n width: 16px;\n text-align: center;\n color: var(--c-text-4);\n flex-shrink: 0;\n font-size: 11px;\n}\n.cron-preview__date[data-v-570ad3fb] {\n font-family: \"Courier New\", Courier, monospace;\n flex: 1;\n font-size: 12px;\n}\n.cron-preview__week[data-v-570ad3fb] {\n color: var(--c-text-4);\n font-size: 12px;\n flex-shrink: 0;\n}","/* unplugin-vue-components disabled */.cron-templates__header[data-v-5190cefc] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 10px;\n color: var(--c-text-1);\n}\n.cron-templates__cards[data-v-5190cefc] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 8px;\n}\n.cron-templates__card[data-v-5190cefc] {\n padding: 10px 12px;\n border-radius: 8px;\n border: 1px solid var(--c-border);\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n}\n.cron-templates__card[data-v-5190cefc]:hover {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 4%, transparent);\n}\n.cron-templates__card--active[data-v-5190cefc] {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 8%, transparent);\n}\n.cron-templates__card-name[data-v-5190cefc] {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.4;\n}\n.cron-templates__card-expr[data-v-5190cefc] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}","/* unplugin-vue-components disabled *//* Cron 表达式编辑器 - 组件级全局样式 */\n.c-cron[data-v-b3efef0a] {\n padding: 20px;\n border-radius: 10px;\n border: 1px solid var(--c-border);\n background: var(--c-bg-card);\n /* ═══════ 顶部 ═══════ */\n /* ─── 分段式字段选择器 ──────────────────── */\n /* ─── 表达式行 ─────────────────────────── */\n /* ═══════ 主内容 ═══════ */\n /* ─── 右侧控制面板 ────────────────────── */\n /* ═══════ 底部模板 ═══════ */\n}\n.c-cron__header[data-v-b3efef0a] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--c-border);\n margin-bottom: 16px;\n}\n.c-cron__title-row[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.c-cron__title[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 15px;\n}\n.c-cron__segments[data-v-b3efef0a] {\n display: flex;\n gap: 2px;\n padding: 3px;\n border-radius: 10px;\n background: var(--c-bg);\n}\n.c-cron__segment[data-v-b3efef0a] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 6px 5px;\n border-radius: 8px;\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n min-width: 0;\n}\n.c-cron__segment[data-v-b3efef0a]:not(.c-cron__segment--active):hover {\n background: color-mix(in srgb, var(--c-bg-card) 60%, transparent);\n}\n.c-cron__segment--active[data-v-b3efef0a] {\n background: var(--c-bg-card);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n}\n.c-cron__segment--active .c-cron__segment-value[data-v-b3efef0a] {\n color: var(--c-primary);\n}\n.c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-b3efef0a] {\n opacity: 0.35;\n}\n.c-cron__segment-value[data-v-b3efef0a] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 15px;\n font-weight: 700;\n line-height: 1.3;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n}\n.c-cron__segment-label[data-v-b3efef0a] {\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}\n.c-cron__expr-row[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.c-cron__expr-input[data-v-b3efef0a] {\n width: 240px;\n flex-shrink: 0;\n}\n.c-cron__expr-desc[data-v-b3efef0a] {\n flex: 1;\n font-size: 13px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.c-cron__description[data-v-b3efef0a] {\n color: var(--c-text-2);\n}\n.c-cron__error[data-v-b3efef0a] {\n color: var(--error-color);\n}\n.c-cron__body[data-v-b3efef0a] {\n display: flex;\n gap: 24px;\n}\n.c-cron__main[data-v-b3efef0a] {\n flex: 1;\n min-width: 0;\n}\n.c-cron__panel[data-v-b3efef0a] {\n width: 260px;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.c-cron__config[data-v-b3efef0a] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.c-cron__config-row[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--c-text-2);\n flex-wrap: wrap;\n}\n.c-cron__config-num[data-v-b3efef0a] {\n width: 68px;\n}\n.c-cron__quick[data-v-b3efef0a] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n}\n.c-cron__quick a[data-v-b3efef0a] {\n color: var(--c-primary);\n cursor: pointer;\n user-select: none;\n}\n.c-cron__quick a[data-v-b3efef0a]:hover {\n text-decoration: underline;\n}\n.c-cron__quick-sep[data-v-b3efef0a] {\n color: var(--c-text-4);\n}\n.c-cron__quick-count[data-v-b3efef0a] {\n margin-left: 4px;\n font-size: 12px;\n color: var(--c-text-4);\n}\n.c-cron__panel-line[data-v-b3efef0a] {\n height: 1px;\n background: var(--c-border);\n}\n.c-cron__footer[data-v-b3efef0a] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}\n\n/* ─── 响应式 ────────────────────────────────── */\n@media (max-width: 768px) {\n.c-cron__body[data-v-b3efef0a] {\n flex-direction: column;\n}\n.c-cron__panel[data-v-b3efef0a] {\n width: 100%;\n}\n.c-cron__segments[data-v-b3efef0a] {\n flex-wrap: wrap;\n}\n.c-cron__segment[data-v-b3efef0a] {\n min-width: calc(33% - 4px);\n}\n.c-cron__expr-row[data-v-b3efef0a] {\n flex-wrap: wrap;\n}\n.c-cron__expr-input[data-v-b3efef0a] {\n width: 100%;\n}\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;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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"}
1
+ {"version":3,"file":"C_Cron-iw3qpMsy.css","names":[],"sources":["../src/components/C_Cron/components/CronFieldEditor.vue?vue&type=style&index=0&scoped=769c51fe&lang.scss","../src/components/C_Cron/components/CronPreview.vue?vue&type=style&index=0&scoped=570ad3fb&lang.scss","../src/components/C_Cron/components/CronTemplates.vue?vue&type=style&index=0&scoped=5190cefc&lang.scss","../src/components/C_Cron/index.vue?vue&type=style&index=0&scoped=e9b95547&lang.scss"],"sourcesContent":["/* unplugin-vue-components disabled */.cron-field-editor__grid[data-v-769c51fe] {\n display: grid;\n grid-template-columns: repeat(var(--cols, 10), 1fr);\n gap: 4px;\n}\n.cron-field-editor__cell[data-v-769c51fe] {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 34px;\n border-radius: 6px;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n color: var(--c-text-2);\n /* 非交互高亮(every / range / step 的视觉反馈) */\n /* 可交互模式(specific) */\n}\n.cron-field-editor__cell--on[data-v-769c51fe]:not(.cron-field-editor__cell--pick) {\n background: color-mix(in srgb, var(--c-primary) 12%, transparent);\n color: var(--c-primary);\n}\n.cron-field-editor__cell--pick[data-v-769c51fe] {\n cursor: pointer;\n}\n.cron-field-editor__cell--pick[data-v-769c51fe]:hover:not(.cron-field-editor__cell--on) {\n background: var(--c-bg-card);\n}\n.cron-field-editor__cell--pick.cron-field-editor__cell--on[data-v-769c51fe] {\n background: var(--c-primary);\n color: #fff;\n font-weight: 600;\n}","/* unplugin-vue-components disabled */.cron-preview__header[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 6px;\n color: var(--c-text-1);\n}\n.cron-preview__list[data-v-570ad3fb] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n.cron-preview__item[data-v-570ad3fb] {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 3px 4px;\n border-radius: 4px;\n font-size: 12px;\n transition: background var(--c-transition, 0.2s ease);\n}\n.cron-preview__item[data-v-570ad3fb]:hover {\n background: var(--c-bg-card);\n}\n.cron-preview__idx[data-v-570ad3fb] {\n width: 16px;\n text-align: center;\n color: var(--c-text-4);\n flex-shrink: 0;\n font-size: 11px;\n}\n.cron-preview__date[data-v-570ad3fb] {\n font-family: \"Courier New\", Courier, monospace;\n flex: 1;\n font-size: 12px;\n}\n.cron-preview__week[data-v-570ad3fb] {\n color: var(--c-text-4);\n font-size: 12px;\n flex-shrink: 0;\n}","/* unplugin-vue-components disabled */.cron-templates__header[data-v-5190cefc] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 13px;\n margin-bottom: 10px;\n color: var(--c-text-1);\n}\n.cron-templates__cards[data-v-5190cefc] {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));\n gap: 8px;\n}\n.cron-templates__card[data-v-5190cefc] {\n padding: 10px 12px;\n border-radius: 8px;\n border: 1px solid var(--c-border);\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n}\n.cron-templates__card[data-v-5190cefc]:hover {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 4%, transparent);\n}\n.cron-templates__card--active[data-v-5190cefc] {\n border-color: var(--c-primary);\n background: color-mix(in srgb, var(--c-primary) 8%, transparent);\n}\n.cron-templates__card-name[data-v-5190cefc] {\n font-size: 13px;\n font-weight: 500;\n line-height: 1.4;\n}\n.cron-templates__card-expr[data-v-5190cefc] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}","/* unplugin-vue-components disabled *//* Cron 表达式编辑器 - 组件级全局样式 */\n.c-cron[data-v-e9b95547] {\n padding: 20px;\n border-radius: 10px;\n border: 1px solid var(--c-border);\n background: var(--c-bg-card);\n /* ═══════ 顶部 ═══════ */\n /* ─── 分段式字段选择器 ──────────────────── */\n /* ─── 表达式行 ─────────────────────────── */\n /* ═══════ 主内容 ═══════ */\n /* ─── 右侧控制面板 ────────────────────── */\n /* ═══════ 底部模板 ═══════ */\n}\n.c-cron__header[data-v-e9b95547] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding-bottom: 16px;\n border-bottom: 1px solid var(--c-border);\n margin-bottom: 16px;\n}\n.c-cron__title-row[data-v-e9b95547] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.c-cron__title[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 600;\n font-size: 15px;\n}\n.c-cron__segments[data-v-e9b95547] {\n display: flex;\n gap: 2px;\n padding: 3px;\n border-radius: 10px;\n background: var(--c-bg);\n}\n.c-cron__segment[data-v-e9b95547] {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 6px 5px;\n border-radius: 8px;\n cursor: pointer;\n transition: all var(--c-transition, 0.2s ease);\n user-select: none;\n min-width: 0;\n}\n.c-cron__segment[data-v-e9b95547]:not(.c-cron__segment--active):hover {\n background: color-mix(in srgb, var(--c-bg-card) 60%, transparent);\n}\n.c-cron__segment--active[data-v-e9b95547] {\n background: var(--c-bg-card);\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);\n}\n.c-cron__segment--active .c-cron__segment-value[data-v-e9b95547] {\n color: var(--c-primary);\n}\n.c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-e9b95547] {\n opacity: 0.35;\n}\n.c-cron__segment-value[data-v-e9b95547] {\n font-family: \"Courier New\", Courier, monospace;\n font-size: 15px;\n font-weight: 700;\n line-height: 1.3;\n max-width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n text-align: center;\n}\n.c-cron__segment-label[data-v-e9b95547] {\n font-size: 11px;\n color: var(--c-text-4);\n margin-top: 2px;\n}\n.c-cron__expr-row[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.c-cron__expr-input[data-v-e9b95547] {\n width: 240px;\n flex-shrink: 0;\n}\n.c-cron__expr-desc[data-v-e9b95547] {\n flex: 1;\n font-size: 13px;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.c-cron__description[data-v-e9b95547] {\n color: var(--c-text-2);\n}\n.c-cron__error[data-v-e9b95547] {\n color: var(--error-color);\n}\n.c-cron__body[data-v-e9b95547] {\n display: flex;\n gap: 24px;\n}\n.c-cron__main[data-v-e9b95547] {\n flex: 1;\n min-width: 0;\n}\n.c-cron__panel[data-v-e9b95547] {\n width: 260px;\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.c-cron__config[data-v-e9b95547] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.c-cron__config-row[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n color: var(--c-text-2);\n flex-wrap: wrap;\n}\n.c-cron__config-num[data-v-e9b95547] {\n width: 68px;\n}\n.c-cron__quick[data-v-e9b95547] {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 13px;\n}\n.c-cron__quick a[data-v-e9b95547] {\n color: var(--c-primary);\n cursor: pointer;\n user-select: none;\n}\n.c-cron__quick a[data-v-e9b95547]:hover {\n text-decoration: underline;\n}\n.c-cron__quick-sep[data-v-e9b95547] {\n color: var(--c-text-4);\n}\n.c-cron__quick-count[data-v-e9b95547] {\n margin-left: 4px;\n font-size: 12px;\n color: var(--c-text-4);\n}\n.c-cron__panel-line[data-v-e9b95547] {\n height: 1px;\n background: var(--c-border);\n}\n.c-cron__footer[data-v-e9b95547] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid var(--c-border);\n}\n\n/* ─── 响应式 ────────────────────────────────── */\n@media (max-width: 768px) {\n.c-cron__body[data-v-e9b95547] {\n flex-direction: column;\n}\n.c-cron__panel[data-v-e9b95547] {\n width: 100%;\n}\n.c-cron__segments[data-v-e9b95547] {\n flex-wrap: wrap;\n}\n.c-cron__segment[data-v-e9b95547] {\n min-width: calc(33% - 4px);\n}\n.c-cron__expr-row[data-v-e9b95547] {\n flex-wrap: wrap;\n}\n.c-cron__expr-input[data-v-e9b95547] {\n width: 100%;\n}\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;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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"}
package/dist/C_Cron.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./C_Icon.js`);const e=require(`./C_Cron.js`);exports.CRON_FIELD_META=e.a,exports.CRON_TEMPLATES=e.o,exports.C_Cron=e.t,exports.DEFAULT_CRON_EXPRESSION=e.s,exports.DEFAULT_CRON_VALUE=e.c,exports.DEFAULT_FIELD_VALUE=e.l,exports.MONTH_LABELS=e.u,exports.WEEK_LABELS=e.d,exports.useCronDescription=e.n,exports.useCronParser=e.i,exports.useCronPreview=e.r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./C_Cron.js`);exports.CRON_FIELD_META=e.a,exports.CRON_TEMPLATES=e.o,exports.C_Cron=e.t,exports.DEFAULT_CRON_EXPRESSION=e.s,exports.DEFAULT_CRON_VALUE=e.c,exports.DEFAULT_FIELD_VALUE=e.l,exports.MONTH_LABELS=e.u,exports.WEEK_LABELS=e.d,exports.useCronDescription=e.n,exports.useCronParser=e.i,exports.useCronPreview=e.r;
package/dist/C_Cron.css CHANGED
@@ -116,7 +116,7 @@
116
116
  margin-top: 2px;
117
117
  }
118
118
  /* unplugin-vue-components disabled *//* Cron 表达式编辑器 - 组件级全局样式 */
119
- .c-cron[data-v-b3efef0a] {
119
+ .c-cron[data-v-e9b95547] {
120
120
  padding: 20px;
121
121
  border-radius: 10px;
122
122
  border: 1px solid var(--c-border);
@@ -128,7 +128,7 @@
128
128
  /* ─── 右侧控制面板 ────────────────────── */
129
129
  /* ═══════ 底部模板 ═══════ */
130
130
  }
131
- .c-cron__header[data-v-b3efef0a] {
131
+ .c-cron__header[data-v-e9b95547] {
132
132
  display: flex;
133
133
  flex-direction: column;
134
134
  gap: 12px;
@@ -136,26 +136,26 @@
136
136
  border-bottom: 1px solid var(--c-border);
137
137
  margin-bottom: 16px;
138
138
  }
139
- .c-cron__title-row[data-v-b3efef0a] {
139
+ .c-cron__title-row[data-v-e9b95547] {
140
140
  display: flex;
141
141
  align-items: center;
142
142
  justify-content: space-between;
143
143
  }
144
- .c-cron__title[data-v-b3efef0a] {
144
+ .c-cron__title[data-v-e9b95547] {
145
145
  display: flex;
146
146
  align-items: center;
147
147
  gap: 6px;
148
148
  font-weight: 600;
149
149
  font-size: 15px;
150
150
  }
151
- .c-cron__segments[data-v-b3efef0a] {
151
+ .c-cron__segments[data-v-e9b95547] {
152
152
  display: flex;
153
153
  gap: 2px;
154
154
  padding: 3px;
155
155
  border-radius: 10px;
156
156
  background: var(--c-bg);
157
157
  }
158
- .c-cron__segment[data-v-b3efef0a] {
158
+ .c-cron__segment[data-v-e9b95547] {
159
159
  flex: 1;
160
160
  display: flex;
161
161
  flex-direction: column;
@@ -167,20 +167,20 @@
167
167
  user-select: none;
168
168
  min-width: 0;
169
169
  }
170
- .c-cron__segment[data-v-b3efef0a]:not(.c-cron__segment--active):hover {
170
+ .c-cron__segment[data-v-e9b95547]:not(.c-cron__segment--active):hover {
171
171
  background: color-mix(in srgb, var(--c-bg-card) 60%, transparent);
172
172
  }
173
- .c-cron__segment--active[data-v-b3efef0a] {
173
+ .c-cron__segment--active[data-v-e9b95547] {
174
174
  background: var(--c-bg-card);
175
175
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
176
176
  }
177
- .c-cron__segment--active .c-cron__segment-value[data-v-b3efef0a] {
177
+ .c-cron__segment--active .c-cron__segment-value[data-v-e9b95547] {
178
178
  color: var(--c-primary);
179
179
  }
180
- .c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-b3efef0a] {
180
+ .c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-e9b95547] {
181
181
  opacity: 0.35;
182
182
  }
183
- .c-cron__segment-value[data-v-b3efef0a] {
183
+ .c-cron__segment-value[data-v-e9b95547] {
184
184
  font-family: "Courier New", Courier, monospace;
185
185
  font-size: 15px;
186
186
  font-weight: 700;
@@ -191,21 +191,21 @@
191
191
  white-space: nowrap;
192
192
  text-align: center;
193
193
  }
194
- .c-cron__segment-label[data-v-b3efef0a] {
194
+ .c-cron__segment-label[data-v-e9b95547] {
195
195
  font-size: 11px;
196
196
  color: var(--c-text-4);
197
197
  margin-top: 2px;
198
198
  }
199
- .c-cron__expr-row[data-v-b3efef0a] {
199
+ .c-cron__expr-row[data-v-e9b95547] {
200
200
  display: flex;
201
201
  align-items: center;
202
202
  gap: 8px;
203
203
  }
204
- .c-cron__expr-input[data-v-b3efef0a] {
204
+ .c-cron__expr-input[data-v-e9b95547] {
205
205
  width: 240px;
206
206
  flex-shrink: 0;
207
207
  }
208
- .c-cron__expr-desc[data-v-b3efef0a] {
208
+ .c-cron__expr-desc[data-v-e9b95547] {
209
209
  flex: 1;
210
210
  font-size: 13px;
211
211
  min-width: 0;
@@ -213,33 +213,33 @@
213
213
  text-overflow: ellipsis;
214
214
  white-space: nowrap;
215
215
  }
216
- .c-cron__description[data-v-b3efef0a] {
216
+ .c-cron__description[data-v-e9b95547] {
217
217
  color: var(--c-text-2);
218
218
  }
219
- .c-cron__error[data-v-b3efef0a] {
219
+ .c-cron__error[data-v-e9b95547] {
220
220
  color: var(--error-color);
221
221
  }
222
- .c-cron__body[data-v-b3efef0a] {
222
+ .c-cron__body[data-v-e9b95547] {
223
223
  display: flex;
224
224
  gap: 24px;
225
225
  }
226
- .c-cron__main[data-v-b3efef0a] {
226
+ .c-cron__main[data-v-e9b95547] {
227
227
  flex: 1;
228
228
  min-width: 0;
229
229
  }
230
- .c-cron__panel[data-v-b3efef0a] {
230
+ .c-cron__panel[data-v-e9b95547] {
231
231
  width: 260px;
232
232
  flex-shrink: 0;
233
233
  display: flex;
234
234
  flex-direction: column;
235
235
  gap: 12px;
236
236
  }
237
- .c-cron__config[data-v-b3efef0a] {
237
+ .c-cron__config[data-v-e9b95547] {
238
238
  display: flex;
239
239
  flex-direction: column;
240
240
  gap: 8px;
241
241
  }
242
- .c-cron__config-row[data-v-b3efef0a] {
242
+ .c-cron__config-row[data-v-e9b95547] {
243
243
  display: flex;
244
244
  align-items: center;
245
245
  gap: 6px;
@@ -247,36 +247,36 @@
247
247
  color: var(--c-text-2);
248
248
  flex-wrap: wrap;
249
249
  }
250
- .c-cron__config-num[data-v-b3efef0a] {
250
+ .c-cron__config-num[data-v-e9b95547] {
251
251
  width: 68px;
252
252
  }
253
- .c-cron__quick[data-v-b3efef0a] {
253
+ .c-cron__quick[data-v-e9b95547] {
254
254
  display: flex;
255
255
  align-items: center;
256
256
  gap: 4px;
257
257
  font-size: 13px;
258
258
  }
259
- .c-cron__quick a[data-v-b3efef0a] {
259
+ .c-cron__quick a[data-v-e9b95547] {
260
260
  color: var(--c-primary);
261
261
  cursor: pointer;
262
262
  user-select: none;
263
263
  }
264
- .c-cron__quick a[data-v-b3efef0a]:hover {
264
+ .c-cron__quick a[data-v-e9b95547]:hover {
265
265
  text-decoration: underline;
266
266
  }
267
- .c-cron__quick-sep[data-v-b3efef0a] {
267
+ .c-cron__quick-sep[data-v-e9b95547] {
268
268
  color: var(--c-text-4);
269
269
  }
270
- .c-cron__quick-count[data-v-b3efef0a] {
270
+ .c-cron__quick-count[data-v-e9b95547] {
271
271
  margin-left: 4px;
272
272
  font-size: 12px;
273
273
  color: var(--c-text-4);
274
274
  }
275
- .c-cron__panel-line[data-v-b3efef0a] {
275
+ .c-cron__panel-line[data-v-e9b95547] {
276
276
  height: 1px;
277
277
  background: var(--c-border);
278
278
  }
279
- .c-cron__footer[data-v-b3efef0a] {
279
+ .c-cron__footer[data-v-e9b95547] {
280
280
  margin-top: 16px;
281
281
  padding-top: 16px;
282
282
  border-top: 1px solid var(--c-border);
@@ -284,24 +284,24 @@
284
284
 
285
285
  /* ─── 响应式 ────────────────────────────────── */
286
286
  @media (max-width: 768px) {
287
- .c-cron__body[data-v-b3efef0a] {
287
+ .c-cron__body[data-v-e9b95547] {
288
288
  flex-direction: column;
289
289
  }
290
- .c-cron__panel[data-v-b3efef0a] {
290
+ .c-cron__panel[data-v-e9b95547] {
291
291
  width: 100%;
292
292
  }
293
- .c-cron__segments[data-v-b3efef0a] {
293
+ .c-cron__segments[data-v-e9b95547] {
294
294
  flex-wrap: wrap;
295
295
  }
296
- .c-cron__segment[data-v-b3efef0a] {
296
+ .c-cron__segment[data-v-e9b95547] {
297
297
  min-width: calc(33% - 4px);
298
298
  }
299
- .c-cron__expr-row[data-v-b3efef0a] {
299
+ .c-cron__expr-row[data-v-e9b95547] {
300
300
  flex-wrap: wrap;
301
301
  }
302
- .c-cron__expr-input[data-v-b3efef0a] {
302
+ .c-cron__expr-input[data-v-e9b95547] {
303
303
  width: 100%;
304
304
  }
305
305
  }
306
306
 
307
- /*# sourceMappingURL=C_Cron-C0-8b5af.css.map*/
307
+ /*# sourceMappingURL=C_Cron-Civir5-I.css.map*/
package/dist/C_Cron.js CHANGED
@@ -1 +1 @@
1
- import"./C_Icon2.js";import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,s as c,t as l,u}from"./C_Cron2.js";export{e as CRON_FIELD_META,o as CRON_TEMPLATES,l as C_Cron,c as DEFAULT_CRON_EXPRESSION,t as DEFAULT_CRON_VALUE,i as DEFAULT_FIELD_VALUE,u as MONTH_LABELS,n as WEEK_LABELS,a as useCronDescription,r as useCronParser,s as useCronPreview};
1
+ import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,s as c,t as l,u}from"./C_Cron2.js";export{e as CRON_FIELD_META,o as CRON_TEMPLATES,l as C_Cron,c as DEFAULT_CRON_EXPRESSION,t as DEFAULT_CRON_VALUE,i as DEFAULT_FIELD_VALUE,u as MONTH_LABELS,n as WEEK_LABELS,a as useCronDescription,r as useCronParser,s as useCronPreview};