@robot-admin/naive-ui-components 0.11.8 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (310) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +172 -29
  3. package/README_EN.md +171 -28
  4. package/SECURITY.md +1 -0
  5. package/dist/C_ActionBar.cjs +1 -1
  6. package/dist/C_ActionBar.css +67 -67
  7. package/dist/C_ActionBar.d.cts +2 -2
  8. package/dist/C_ActionBar.d.ts +2 -2
  9. package/dist/C_ActionBar.js +1 -1
  10. package/dist/C_ActionBar2.cjs +1 -1
  11. package/dist/C_ActionBar2.js +1 -1
  12. package/dist/C_AntV.css +70 -70
  13. package/dist/C_AntV2.cjs +3 -3
  14. package/dist/C_AntV2.js +3 -3
  15. package/dist/C_AudioPlayer.css +81 -66
  16. package/dist/C_AudioPlayer.d.cts +1 -1
  17. package/dist/C_AudioPlayer.d.ts +1 -1
  18. package/dist/C_AudioPlayer2.cjs +1 -1
  19. package/dist/C_AudioPlayer2.js +1 -1
  20. package/dist/C_AvatarGroup.css +40 -25
  21. package/dist/C_AvatarGroup.d.cts +1 -1
  22. package/dist/C_AvatarGroup.d.ts +1 -1
  23. package/dist/C_AvatarGroup2.cjs +1 -1
  24. package/dist/C_AvatarGroup2.js +1 -1
  25. package/dist/C_Barcode.css +6 -6
  26. package/dist/C_Barcode.d.cts +1 -1
  27. package/dist/C_Barcode.d.ts +1 -1
  28. package/dist/C_Barcode2.cjs +1 -1
  29. package/dist/C_Barcode2.js +1 -1
  30. package/dist/C_Breadcrumb.css +14 -14
  31. package/dist/C_Breadcrumb.d.cts +1 -1
  32. package/dist/C_Breadcrumb.d.ts +1 -1
  33. package/dist/C_Breadcrumb2.cjs +1 -1
  34. package/dist/C_Breadcrumb2.js +1 -1
  35. package/dist/C_Captcha.cjs +1 -1
  36. package/dist/C_Captcha.css +193 -51
  37. package/dist/C_Captcha.d.cts +2 -3
  38. package/dist/C_Captcha.d.ts +2 -3
  39. package/dist/C_Captcha.js +1 -1
  40. package/dist/C_Captcha2.cjs +1 -1
  41. package/dist/C_Captcha2.js +1 -1
  42. package/dist/C_Cascade.css +2 -2
  43. package/dist/C_Cascade.d.cts +1 -1
  44. package/dist/C_Cascade.d.ts +1 -1
  45. package/dist/C_Cascade2.cjs +1 -1
  46. package/dist/C_Cascade2.js +1 -1
  47. package/dist/C_Chat.css +96 -78
  48. package/dist/C_Chat.d.cts +1 -1
  49. package/dist/C_Chat.d.ts +1 -1
  50. package/dist/C_Chat2.cjs +1 -1
  51. package/dist/C_Chat2.js +1 -1
  52. package/dist/C_City.css +52 -28
  53. package/dist/C_City.d.cts +1 -1
  54. package/dist/C_City.d.ts +1 -1
  55. package/dist/C_City2.cjs +1 -1
  56. package/dist/C_City2.js +1 -1
  57. package/dist/C_Code.css +48 -42
  58. package/dist/C_Code.d.cts +1 -1
  59. package/dist/C_Code.d.ts +1 -1
  60. package/dist/C_Code2.cjs +1 -1
  61. package/dist/C_Code2.js +1 -1
  62. package/dist/C_CollapsePanel.css +14 -14
  63. package/dist/C_CollapsePanel2.cjs +1 -1
  64. package/dist/C_CollapsePanel2.js +1 -1
  65. package/dist/C_ContextMenu.css +14 -14
  66. package/dist/C_ContextMenu.d.cts +1 -1
  67. package/dist/C_ContextMenu.d.ts +1 -1
  68. package/dist/C_ContextMenu2.cjs +1 -1
  69. package/dist/C_ContextMenu2.js +1 -1
  70. package/dist/C_Cron.css +94 -55
  71. package/dist/C_Cron2.cjs +1 -1
  72. package/dist/C_Cron2.js +1 -1
  73. package/dist/C_Date.d.cts +1 -1
  74. package/dist/C_Date.d.ts +1 -1
  75. package/dist/C_Date2.cjs +1 -1
  76. package/dist/C_Date2.js +1 -1
  77. package/dist/C_Draggable.css +48 -48
  78. package/dist/C_Draggable2.cjs +1 -1
  79. package/dist/C_Draggable2.js +1 -1
  80. package/dist/C_Editor.css +13 -14
  81. package/dist/C_Editor.d.cts +1 -1
  82. package/dist/C_Editor.d.ts +1 -1
  83. package/dist/C_Editor2.cjs +1 -1
  84. package/dist/C_Editor2.js +1 -1
  85. package/dist/C_FilePreview.css +18 -18
  86. package/dist/C_FilePreview2.cjs +1 -1
  87. package/dist/C_FilePreview2.js +1 -1
  88. package/dist/C_Form.base.css +36 -36
  89. package/dist/C_Form.css +49 -50
  90. package/dist/C_Form2.cjs +1 -1
  91. package/dist/C_Form2.js +1 -1
  92. package/dist/C_FormModal.cjs +1 -0
  93. package/dist/C_FormModal.css +41 -0
  94. package/dist/C_FormModal.d.cts +2 -0
  95. package/dist/C_FormModal.d.ts +3 -0
  96. package/dist/C_FormModal.js +1 -0
  97. package/dist/C_FormModal2.cjs +1 -0
  98. package/dist/C_FormModal2.js +1 -0
  99. package/dist/C_FormSearch.css +45 -45
  100. package/dist/C_FormSearch2.cjs +1 -1
  101. package/dist/C_FormSearch2.js +1 -1
  102. package/dist/C_FormulaEditor.css +94 -55
  103. package/dist/C_FormulaEditor2.cjs +2 -2
  104. package/dist/C_FormulaEditor2.js +2 -2
  105. package/dist/C_FullCalendar.css +8 -1
  106. package/dist/C_FullCalendar2.cjs +1 -1
  107. package/dist/C_FullCalendar2.js +1 -1
  108. package/dist/C_GlobalSearch2.cjs +1 -1
  109. package/dist/C_GlobalSearch2.js +1 -1
  110. package/dist/C_Guide.css +14 -14
  111. package/dist/C_Guide2.cjs +1 -1
  112. package/dist/C_Guide2.js +1 -1
  113. package/dist/C_Icon.css +14 -14
  114. package/dist/C_Icon2.cjs +1 -1
  115. package/dist/C_Icon2.js +1 -1
  116. package/dist/C_ImageCropper.css +22 -22
  117. package/dist/C_ImageCropper2.cjs +1 -1
  118. package/dist/C_ImageCropper2.js +1 -1
  119. package/dist/C_Language.css +14 -14
  120. package/dist/C_Language2.cjs +1 -1
  121. package/dist/C_Language2.js +1 -1
  122. package/dist/C_Login.css +232 -149
  123. package/dist/C_Login2.cjs +1 -1
  124. package/dist/C_Login2.js +1 -1
  125. package/dist/C_Map.css +3 -3
  126. package/dist/C_Map2.cjs +1 -1
  127. package/dist/C_Map2.js +1 -1
  128. package/dist/C_Markdown.css +35 -35
  129. package/dist/C_Markdown2.cjs +1 -1
  130. package/dist/C_Markdown2.js +1 -1
  131. package/dist/C_Menu.d.cts +1 -1
  132. package/dist/C_Menu2.cjs +1 -1
  133. package/dist/C_Menu2.js +1 -1
  134. package/dist/C_NotificationCenter.css +30 -30
  135. package/dist/C_NotificationCenter2.cjs +1 -1
  136. package/dist/C_NotificationCenter2.js +1 -1
  137. package/dist/C_OrgChart.css +4 -0
  138. package/dist/C_OrgChart2.cjs +1 -1
  139. package/dist/C_OrgChart2.js +1 -1
  140. package/dist/C_Progress2.cjs +1 -1
  141. package/dist/C_Progress2.js +1 -1
  142. package/dist/C_QRCode.css +8 -8
  143. package/dist/C_QRCode2.cjs +1 -1
  144. package/dist/C_QRCode2.js +1 -1
  145. package/dist/C_Signature.css +14 -14
  146. package/dist/C_Signature2.cjs +1 -1
  147. package/dist/C_Signature2.js +1 -1
  148. package/dist/C_Skeleton2.cjs +1 -1
  149. package/dist/C_Skeleton2.js +1 -1
  150. package/dist/C_SplitPane.css +39 -39
  151. package/dist/C_SplitPane2.cjs +1 -1
  152. package/dist/C_SplitPane2.js +1 -1
  153. package/dist/C_Steps.css +48 -38
  154. package/dist/C_Steps2.cjs +1 -1
  155. package/dist/C_Steps2.js +1 -1
  156. package/dist/C_Table.base.css +160 -160
  157. package/dist/C_Table.cjs +1 -1
  158. package/dist/C_Table.css +173 -174
  159. package/dist/C_Table.d.ts +4 -3
  160. package/dist/C_Table.js +1 -1
  161. package/dist/C_Tabs.cjs +1 -0
  162. package/dist/C_Tabs.css +1 -0
  163. package/dist/C_Tabs.d.cts +2 -0
  164. package/dist/C_Tabs.d.ts +2 -0
  165. package/dist/C_Tabs.js +1 -0
  166. package/dist/C_TagsView.css +52 -52
  167. package/dist/C_TagsView2.cjs +1 -1
  168. package/dist/C_TagsView2.js +1 -1
  169. package/dist/C_Theme.css +14 -14
  170. package/dist/C_Theme2.cjs +1 -1
  171. package/dist/C_Theme2.js +1 -1
  172. package/dist/C_Time.css +4 -4
  173. package/dist/C_Time2.cjs +1 -1
  174. package/dist/C_Time2.js +1 -1
  175. package/dist/C_Timeline.css +76 -58
  176. package/dist/C_Timeline2.cjs +1 -1
  177. package/dist/C_Timeline2.js +1 -1
  178. package/dist/C_Transfer.css +51 -51
  179. package/dist/C_Transfer2.cjs +1 -1
  180. package/dist/C_Transfer2.js +1 -1
  181. package/dist/C_Tree.css +35 -32
  182. package/dist/C_Tree2.cjs +1 -1
  183. package/dist/C_Tree2.js +1 -1
  184. package/dist/C_Upload.css +53 -50
  185. package/dist/C_Upload2.cjs +1 -1
  186. package/dist/C_Upload2.js +1 -1
  187. package/dist/C_VideoPlayer.css +17 -13
  188. package/dist/C_VideoPlayer2.cjs +2 -2
  189. package/dist/C_VideoPlayer2.js +2 -2
  190. package/dist/C_VtableGantt.css +19 -19
  191. package/dist/C_VtableGantt2.cjs +1 -1
  192. package/dist/C_VtableGantt2.js +1 -1
  193. package/dist/C_WaterFall.css +19 -15
  194. package/dist/C_WaterFall2.cjs +1 -1
  195. package/dist/C_WaterFall2.js +1 -1
  196. package/dist/C_WorkFlow.css +123 -123
  197. package/dist/C_WorkFlow2.cjs +1 -1
  198. package/dist/C_WorkFlow2.js +1 -1
  199. package/dist/constants.d.cts +2 -2
  200. package/dist/constants.d.ts +2 -2
  201. package/dist/constants2.d.cts +3 -3
  202. package/dist/constants2.d.ts +3 -3
  203. package/dist/constants3.d.cts +8 -4
  204. package/dist/constants3.d.ts +8 -4
  205. package/dist/constants4.d.cts +6 -6
  206. package/dist/constants4.d.ts +6 -6
  207. package/dist/constants5.d.cts +2 -2
  208. package/dist/constants5.d.ts +2 -2
  209. package/dist/data.d.cts +108 -0
  210. package/dist/data.d.ts +108 -0
  211. package/dist/data2.cjs +1 -0
  212. package/dist/data2.js +1 -0
  213. package/dist/index.cjs +1 -1
  214. package/dist/index.d.cts +49 -49
  215. package/dist/index.d.ts +51 -49
  216. package/dist/index.js +1 -1
  217. package/dist/index.vue.d.cts +74 -69
  218. package/dist/index.vue.d.ts +74 -69
  219. package/dist/index10.vue.d.cts +80 -39
  220. package/dist/index10.vue.d.ts +68 -77
  221. package/dist/index11.vue.d.cts +68 -77
  222. package/dist/index11.vue.d.ts +54 -69
  223. package/dist/index12.vue.d.cts +54 -69
  224. package/dist/index12.vue.d.ts +52 -58
  225. package/dist/index13.vue.d.cts +52 -58
  226. package/dist/index13.vue.d.ts +1 -1
  227. package/dist/index14.vue.d.cts +1 -1
  228. package/dist/index14.vue.d.ts +14 -47
  229. package/dist/index15.vue.d.cts +14 -47
  230. package/dist/index16.vue.d.ts +15 -12
  231. package/dist/index17.vue.d.cts +15 -12
  232. package/dist/index17.vue.d.ts +4 -4
  233. package/dist/index18.vue.d.cts +4 -4
  234. package/dist/index18.vue.d.ts +2 -2
  235. package/dist/index19.vue.d.cts +1 -1
  236. package/dist/index19.vue.d.ts +1 -1
  237. package/dist/index2.vue.d.cts +70 -65
  238. package/dist/index2.vue.d.ts +70 -65
  239. package/dist/index20.vue.d.cts +1 -1
  240. package/dist/index20.vue.d.ts +1 -1
  241. package/dist/index24.vue.d.cts +3 -3
  242. package/dist/index24.vue.d.ts +3 -3
  243. package/dist/index25.vue.d.cts +1 -1
  244. package/dist/index25.vue.d.ts +1 -1
  245. package/dist/index26.vue.d.cts +5 -5
  246. package/dist/index26.vue.d.ts +5 -5
  247. package/dist/index27.vue.d.cts +1 -1
  248. package/dist/index27.vue.d.ts +1 -1
  249. package/dist/index3.vue.d.cts +30 -80
  250. package/dist/index3.vue.d.ts +30 -80
  251. package/dist/index4.vue.d.cts +130 -30
  252. package/dist/index4.vue.d.ts +22 -30
  253. package/dist/index5.vue.d.cts +18 -126
  254. package/dist/index5.vue.d.ts +22 -19
  255. package/dist/index6.vue.d.cts +22 -19
  256. package/dist/index6.vue.d.ts +117 -22
  257. package/dist/index7.vue.d.cts +117 -22
  258. package/dist/index7.vue.d.ts +17 -110
  259. package/dist/index8.vue.d.cts +17 -110
  260. package/dist/index8.vue.d.ts +37 -24
  261. package/dist/index9.vue.d.cts +37 -24
  262. package/dist/index9.vue.d.ts +80 -39
  263. package/dist/mapUtils.d.cts +2 -2
  264. package/dist/mapUtils.d.ts +2 -2
  265. package/dist/presets.d.cts +96 -0
  266. package/dist/presets.d.ts +96 -0
  267. package/dist/resolver.cjs +1 -1
  268. package/dist/resolver.d.cts +1 -1
  269. package/dist/resolver.d.ts +1 -1
  270. package/dist/resolver.js +1 -1
  271. package/dist/style.css +1735 -1400
  272. package/dist/useCalendarEvents.d.cts +23 -18
  273. package/dist/useCalendarEvents.d.ts +23 -18
  274. package/dist/useCollapsePanel.d.cts +4 -3
  275. package/dist/useCollapsePanel.d.ts +4 -3
  276. package/dist/useCropperCore.d.cts +32 -17
  277. package/dist/useCropperCore.d.ts +32 -17
  278. package/dist/useDraggableLayout.d.cts +2 -2
  279. package/dist/useDraggableLayout.d.ts +2 -2
  280. package/dist/useDynamicFormState.d.cts +7 -2
  281. package/dist/useDynamicFormState.d.ts +7 -2
  282. package/dist/useEdgeInteraction.d.cts +20 -19
  283. package/dist/useEdgeInteraction.d.ts +20 -19
  284. package/dist/useFullscreen.d.cts +6 -6
  285. package/dist/useFullscreen.d.ts +6 -6
  286. package/dist/useInfiniteScroll.d.cts +1 -1
  287. package/dist/useInfiniteScroll.d.ts +1 -1
  288. package/dist/useQRCode.d.cts +5 -4
  289. package/dist/useQRCode.d.ts +5 -4
  290. package/dist/useSearchState.d.cts +9 -9
  291. package/dist/useSearchState.d.ts +9 -9
  292. package/dist/useSignatureHistory.d.cts +18 -10
  293. package/dist/useSignatureHistory.d.ts +18 -10
  294. package/dist/useSplitResize.d.cts +7 -7
  295. package/dist/useSplitResize.d.ts +7 -7
  296. package/dist/useTableQuery.cjs +3 -3
  297. package/dist/useTableQuery.d.cts +12 -5
  298. package/dist/useTableQuery.d.ts +12 -5
  299. package/dist/useTableQuery.js +3 -3
  300. package/dist/useTimeSelection.d.cts +6 -3
  301. package/dist/useTimeSelection.d.ts +6 -3
  302. package/dist/useTreeOperations.d.cts +8 -8
  303. package/dist/useTreeOperations.d.ts +8 -8
  304. package/dist/useWorkflowValidation.d.cts +6 -4
  305. package/dist/useWorkflowValidation.d.ts +6 -4
  306. package/dist/verification.d.cts +71 -6
  307. package/dist/verification.d.ts +71 -6
  308. package/package.json +5 -3
  309. package/dist/types.d.ts +0 -58
  310. package/dist/types2.d.cts +0 -58
package/dist/C_Code2.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Transition as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createTextVNode as c,createVNode as l,defineComponent as u,inject as d,nextTick as f,normalizeStyle as p,onMounted as m,onUnmounted as h,openBlock as g,ref as _,resolveComponent as v,toDisplayString as y,watch as b,withCtx as x}from"vue";import{NButton as S,NCode as C,NModal as w,NSpin as T,NTooltip as E}from"naive-ui";const D={class:`c-code-wrapper`},O={key:0,class:`c-code-header`},k={class:`c-code-title`},A={class:`c-code-actions`},j={class:`c-code-content`},M={key:0,class:`floating-copy-btn`},N={key:0,class:`c-code-loading`},P={class:`ml-2`},F={class:`fullscreen-content`},I={class:`fullscreen-header`},L={class:`fullscreen-title`},R={class:`fullscreen-body`};var z=t(u({name:`CCode`,__name:`index`,props:{code:{default:``},language:{default:`text`},title:{},showHeader:{type:Boolean,default:!0},showLineNumbers:{type:Boolean,default:!0},wordWrap:{type:Boolean,default:!1},trim:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!1},maxHeight:{},autoLoadLanguage:{type:Boolean,default:!0}},emits:[`copy`,`click`,`fullscreen`],setup(t,{expose:u,emit:v}){let z=t,B=v,V=d(`highlightManager`,null),H=_(!1),U=_(!1),W=_(!1),G=_(!1),K=r(()=>{try{return V?.getHljs?.()||null}catch(e){return console.warn(`Highlight.js not available:`,e),null}}),q=r(()=>({javascript:`mdi:language-javascript`,typescript:`mdi:language-typescript`,python:`mdi:language-python`,html:`mdi:language-html5`,css:`mdi:language-css3`,vue:`mdi:vuejs`,react:`mdi:react`,json:`mdi:code-json`,java:`mdi:language-java`,cpp:`mdi:language-cpp`,go:`mdi:language-go`,rust:`mdi:language-rust`,php:`mdi:language-php`,csharp:`mdi:language-csharp`,sql:`mdi:database`,yaml:`mdi:file-code`,xml:`mdi:xml`,markdown:`mdi:language-markdown`,bash:`mdi:bash`,shell:`mdi:console`,powershell:`mdi:powershell`,swift:`mdi:language-swift`,kotlin:`mdi:language-kotlin`,ruby:`mdi:language-ruby`})[z.language.toLowerCase()]||`mdi:code-braces`),J=r(()=>z.maxHeight?{maxHeight:typeof z.maxHeight==`number`?`${z.maxHeight}px`:z.maxHeight}:{});b(()=>z.language,async e=>{if(!(!z.autoLoadLanguage||e===`text`||!V)&&!(V.getLoadedLanguages?.()||[]).includes(e)){W.value=!0;try{await V.loadLanguage?.(e),await f()}catch(t){console.warn(`Failed to load language: ${e}`,t)}finally{W.value=!1}}},{immediate:!0});async function Y(){if(!H.value){H.value=!0;try{await navigator.clipboard.writeText(z.code),B(`copy`,z.code)}catch(e){console.error(`Copy failed:`,e)}finally{H.value=!1}}}function X(){U.value=!U.value,B(`fullscreen`,U.value)}function Z(e){return{javascript:`JavaScript`,typescript:`TypeScript`,python:`Python`,java:`Java`,cpp:`C++`,csharp:`C#`,php:`PHP`,go:`Go`,rust:`Rust`,html:`HTML`,css:`CSS`,json:`JSON`,bash:`Bash`,shell:`Shell`,yaml:`YAML`,xml:`XML`,markdown:`Markdown`,sql:`SQL`,powershell:`PowerShell`,swift:`Swift`,kotlin:`Kotlin`,ruby:`Ruby`,vue:`Vue`,react:`React`}[e.toLowerCase()]||e.toUpperCase()}function Q(e){e.key===`Escape`&&U.value&&X()}return m(()=>{document.addEventListener(`keydown`,Q)}),h(()=>{document.removeEventListener(`keydown`,Q)}),u({copyCode:Y,toggleFullscreen:X}),(r,u)=>{let d=S,f=E,m=C,h=T,_=w;return g(),o(`div`,D,[a(` 代码标题栏 `),t.showHeader?(g(),o(`div`,O,[s(`div`,k,[q.value?(g(),i(e,{key:0,name:q.value,size:16,class:`mr-2`},null,8,[`name`])):a(`v-if`,!0),s(`span`,null,y(t.title||Z(t.language)),1)]),s(`div`,A,[l(f,{trigger:`hover`},{trigger:x(()=>[l(d,{size:`tiny`,quaternary:``,onClick:Y,loading:H.value},{icon:x(()=>[l(e,{name:H.value?`mdi:loading`:`mdi:content-copy`,loading:H.value},null,8,[`name`,`loading`])]),_:1},8,[`loading`])]),default:x(()=>[u[4]||=c(` 复制代码 `,-1)]),_:1}),t.showFullscreen?(g(),i(f,{key:0,trigger:`hover`},{trigger:x(()=>[l(d,{size:`tiny`,quaternary:``,onClick:X},{icon:x(()=>[l(e,{name:U.value?`mdi:fullscreen-exit`:`mdi:fullscreen`},null,8,[`name`])]),_:1})]),default:x(()=>[c(` `+y(U.value?`退出全屏`:`全屏查看`),1)]),_:1})):a(`v-if`,!0)])])):a(`v-if`,!0),a(` 代码内容区域 `),s(`div`,j,[s(`div`,{class:`code-wrapper`,onMouseenter:u[1]||=e=>G.value=!0,onMouseleave:u[2]||=e=>G.value=!1},[(g(),i(m,{key:`code-${t.language}-${t.code.length}`,code:t.code,language:t.language,hljs:K.value,"show-line-numbers":t.showLineNumbers,"word-wrap":t.wordWrap,trim:t.trim,style:p(J.value),onClick:u[0]||=e=>B(`click`,e)},null,8,[`code`,`language`,`hljs`,`show-line-numbers`,`word-wrap`,`trim`,`style`])),a(` 悬浮复制按钮 `),l(n,{name:`fade`},{default:x(()=>[G.value&&!t.showHeader?(g(),o(`div`,M,[l(f,{trigger:`hover`},{trigger:x(()=>[l(d,{size:`small`,quaternary:``,onClick:Y,loading:H.value,class:`copy-floating`},{icon:x(()=>[l(e,{name:H.value?`mdi:loading`:`mdi:content-copy`,loading:H.value},null,8,[`name`,`loading`])]),_:1},8,[`loading`])]),default:x(()=>[u[5]||=c(` 复制代码 `,-1)]),_:1})])):a(`v-if`,!0)]),_:1})],32),a(` 语言加载状态 `),W.value?(g(),o(`div`,N,[l(h,{size:`small`}),s(`span`,P,`正在加载 `+y(t.language)+` 语言包...`,1)])):a(`v-if`,!0)]),a(` 全屏模态框 `),l(_,{show:U.value,"onUpdate:show":u[3]||=e=>U.value=e,"mask-closable":!1,"show-icon":!1,bordered:!1,style:{width:`100vw`,height:`100vh`,margin:`0`,padding:`0`}},{default:x(()=>[s(`div`,F,[s(`div`,I,[s(`div`,L,[q.value?(g(),i(e,{key:0,name:q.value,size:16,class:`mr-2`},null,8,[`name`])):a(`v-if`,!0),s(`span`,null,y(t.title||Z(t.language)),1)]),l(d,{size:`small`,quaternary:``,onClick:X},{icon:x(()=>[l(e,{name:`mdi:close`})]),_:1})]),s(`div`,R,[(g(),i(m,{key:`fullscreen-code-${t.language}-${t.code.length}`,code:t.code,language:t.language,hljs:K.value,"show-line-numbers":t.showLineNumbers,"word-wrap":t.wordWrap,trim:t.trim},null,8,[`code`,`language`,`hljs`,`show-line-numbers`,`word-wrap`,`trim`]))])])]),_:1},8,[`show`])])}}}),[[`__scopeId`,`data-v-6bf2f3bf`]]);export{z as t};
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,createTextVNode as s,createVNode as c,defineComponent as l,inject as u,nextTick as d,normalizeStyle as f,openBlock as p,ref as m,resolveComponent as h,toDisplayString as g,watch as _,withCtx as v}from"vue";import{NButton as y,NCode as b,NModal as x,NSpin as S,NTooltip as C}from"naive-ui";const w={class:`c-code-wrapper`},T={key:0,class:`c-code-header`},E={class:`c-code-title`},D={class:`c-code-actions`},O={class:`c-code-content`},k={class:`code-wrapper`},A={key:0,class:`floating-copy-btn`},j={key:0,class:`c-code-loading`},M={class:`ml-2`},N={class:`fullscreen-content`},P={class:`fullscreen-header`},F={class:`fullscreen-title`},I={class:`fullscreen-body`};var L=t(l({name:`CCode`,__name:`index`,props:{code:{default:``},language:{default:`text`},title:{},showHeader:{type:Boolean,default:!0},showLineNumbers:{type:Boolean,default:!0},wordWrap:{type:Boolean,default:!1},trim:{type:Boolean,default:!0},showFullscreen:{type:Boolean,default:!1},maxHeight:{},autoLoadLanguage:{type:Boolean,default:!0}},emits:[`copy`,`click`,`fullscreen`],setup(t,{expose:l,emit:h}){let L=t,R=h,z=u(`highlightManager`,null),B=m(!1),V=m(!1),H=m(!1),U=n(()=>{try{return z?.getHljs?.()||null}catch(e){return console.warn(`Highlight.js not available:`,e),null}}),W=n(()=>({javascript:`mdi:language-javascript`,typescript:`mdi:language-typescript`,python:`mdi:language-python`,html:`mdi:language-html5`,css:`mdi:language-css3`,vue:`mdi:vuejs`,react:`mdi:react`,json:`mdi:code-json`,java:`mdi:language-java`,cpp:`mdi:language-cpp`,go:`mdi:language-go`,rust:`mdi:language-rust`,php:`mdi:language-php`,csharp:`mdi:language-csharp`,sql:`mdi:database`,yaml:`mdi:file-code`,xml:`mdi:xml`,markdown:`mdi:language-markdown`,bash:`mdi:bash`,shell:`mdi:console`,powershell:`mdi:powershell`,swift:`mdi:language-swift`,kotlin:`mdi:language-kotlin`,ruby:`mdi:language-ruby`})[L.language.toLowerCase()]||`mdi:code-braces`),G=n(()=>L.maxHeight?{maxHeight:typeof L.maxHeight==`number`?`${L.maxHeight}px`:L.maxHeight}:{});_(()=>L.language,async e=>{if(!(!L.autoLoadLanguage||e===`text`||!z)&&!(z.getLoadedLanguages?.()||[]).includes(e)){H.value=!0;try{await z.loadLanguage?.(e),await d()}catch(t){console.warn(`Failed to load language: ${e}`,t)}finally{H.value=!1}}},{immediate:!0});async function K(){if(!B.value){B.value=!0;try{await navigator.clipboard.writeText(L.code),R(`copy`,L.code)}catch(e){console.error(`Copy failed:`,e)}finally{B.value=!1}}}function q(){J(!V.value)}function J(e){e!==V.value&&(V.value=e,R(`fullscreen`,e))}function Y(e){return{javascript:`JavaScript`,typescript:`TypeScript`,python:`Python`,java:`Java`,cpp:`C++`,csharp:`C#`,php:`PHP`,go:`Go`,rust:`Rust`,html:`HTML`,css:`CSS`,json:`JSON`,bash:`Bash`,shell:`Shell`,yaml:`YAML`,xml:`XML`,markdown:`Markdown`,sql:`SQL`,powershell:`PowerShell`,swift:`Swift`,kotlin:`Kotlin`,ruby:`Ruby`,vue:`Vue`,react:`React`}[e.toLowerCase()]||e.toUpperCase()}return l({copyCode:K,toggleFullscreen:q}),(n,l)=>{let u=y,d=C,m=b,h=S,_=x;return p(),a(`div`,w,[i(` 代码标题栏 `),t.showHeader?(p(),a(`div`,T,[o(`div`,E,[W.value?(p(),r(e,{key:0,name:W.value,size:16,class:`mr-2`},null,8,[`name`])):i(`v-if`,!0),o(`span`,null,g(t.title||Y(t.language)),1)]),o(`div`,D,[c(d,{trigger:`hover`},{trigger:v(()=>[c(u,{size:`tiny`,quaternary:``,"aria-label":`复制代码`,onClick:K,loading:B.value},{icon:v(()=>[c(e,{name:B.value?`mdi:loading`:`mdi:content-copy`,loading:B.value},null,8,[`name`,`loading`])]),_:1},8,[`loading`])]),default:v(()=>[l[1]||=s(` 复制代码 `,-1)]),_:1}),t.showFullscreen?(p(),r(d,{key:0,trigger:`hover`},{trigger:v(()=>[c(u,{size:`tiny`,quaternary:``,"aria-label":V.value?`退出全屏`:`全屏查看`,onClick:q},{icon:v(()=>[c(e,{name:V.value?`mdi:fullscreen-exit`:`mdi:fullscreen`},null,8,[`name`])]),_:1},8,[`aria-label`])]),default:v(()=>[s(` `+g(V.value?`退出全屏`:`全屏查看`),1)]),_:1})):i(`v-if`,!0)])])):i(`v-if`,!0),i(` 代码内容区域 `),o(`div`,O,[o(`div`,k,[c(m,{code:t.code,language:t.language,hljs:U.value,"show-line-numbers":t.showLineNumbers,"word-wrap":t.wordWrap,trim:t.trim,style:f(G.value),onClick:l[0]||=e=>R(`click`,e)},null,8,[`code`,`language`,`hljs`,`show-line-numbers`,`word-wrap`,`trim`,`style`]),i(` 悬浮复制按钮 `),t.showHeader?i(`v-if`,!0):(p(),a(`div`,A,[c(d,{trigger:`hover`},{trigger:v(()=>[c(u,{size:`small`,quaternary:``,"aria-label":`复制代码`,onClick:K,loading:B.value,class:`copy-floating`},{icon:v(()=>[c(e,{name:B.value?`mdi:loading`:`mdi:content-copy`,loading:B.value},null,8,[`name`,`loading`])]),_:1},8,[`loading`])]),default:v(()=>[l[2]||=s(` 复制代码 `,-1)]),_:1})]))]),i(` 语言加载状态 `),H.value?(p(),a(`div`,j,[c(h,{size:`small`}),o(`span`,M,`正在加载 `+g(t.language)+` 语言包...`,1)])):i(`v-if`,!0)]),i(` 全屏模态框 `),c(_,{show:V.value,"onUpdate:show":J,"mask-closable":!1,"show-icon":!1,bordered:!1,style:{width:`100vw`,height:`100vh`,margin:`0`,padding:`0`}},{default:v(()=>[o(`div`,N,[o(`div`,P,[o(`div`,F,[W.value?(p(),r(e,{key:0,name:W.value,size:16,class:`mr-2`},null,8,[`name`])):i(`v-if`,!0),o(`span`,null,g(t.title||Y(t.language)),1)]),c(u,{size:`small`,quaternary:``,"aria-label":`退出全屏`,onClick:q},{icon:v(()=>[c(e,{name:`mdi:close`})]),_:1})]),o(`div`,I,[c(m,{code:t.code,language:t.language,hljs:U.value,"show-line-numbers":t.showLineNumbers,"word-wrap":t.wordWrap,trim:t.trim},null,8,[`code`,`language`,`hljs`,`show-line-numbers`,`word-wrap`,`trim`])])])]),_:1},8,[`show`])])}}}),[[`__scopeId`,`data-v-4263fb59`]]);export{L as t};
@@ -1,54 +1,54 @@
1
- /* unplugin-vue-components disabled */.c-icon[data-v-d0d8dba0] {
1
+ /* unplugin-vue-components disabled */.c-icon[data-v-711aedcd] {
2
2
  display: inline-flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
  user-select: none;
6
6
  transition: all 0.2s ease-in-out;
7
7
  }
8
- .c-icon--clickable[data-v-d0d8dba0] {
8
+ .c-icon--clickable[data-v-711aedcd] {
9
9
  cursor: pointer;
10
10
  }
11
- .c-icon--clickable[data-v-d0d8dba0]:hover {
11
+ .c-icon--clickable[data-v-711aedcd]:hover {
12
12
  opacity: 0.8;
13
13
  transform: scale(1.05);
14
14
  }
15
- .c-icon--clickable[data-v-d0d8dba0]:active {
15
+ .c-icon--clickable[data-v-711aedcd]:active {
16
16
  transform: scale(0.95);
17
17
  }
18
- .c-icon--clickable[data-v-d0d8dba0]:focus-visible {
18
+ .c-icon--clickable[data-v-711aedcd]:focus-visible {
19
19
  outline: 2px solid currentColor;
20
20
  outline-offset: 2px;
21
21
  border-radius: 4px;
22
22
  }
23
- .c-icon--loading[data-v-d0d8dba0] {
23
+ .c-icon--loading[data-v-711aedcd] {
24
24
  opacity: 0.6;
25
25
  cursor: wait;
26
26
  }
27
- .c-icon--error[data-v-d0d8dba0] {
27
+ .c-icon--error[data-v-711aedcd] {
28
28
  opacity: 0.5;
29
29
  }
30
- .c-icon__loading[data-v-d0d8dba0] {
30
+ .c-icon__loading[data-v-711aedcd] {
31
31
  position: relative;
32
32
  }
33
- .c-icon__spinner[data-v-d0d8dba0] {
33
+ .c-icon__spinner[data-v-711aedcd] {
34
34
  width: 100%;
35
35
  height: 100%;
36
36
  border: 2px solid currentColor;
37
37
  border-radius: 50%;
38
38
  border-top-color: transparent;
39
- animation: spin-d0d8dba0 1s linear infinite;
39
+ animation: spin-711aedcd 1s linear infinite;
40
40
  }
41
- .c-icon__error[data-v-d0d8dba0] {
41
+ .c-icon__error[data-v-711aedcd] {
42
42
  font-size: 0.8em;
43
43
  opacity: 0.5;
44
44
  }
45
- .c-icon__rotatable[data-v-d0d8dba0] {
45
+ .c-icon__rotatable[data-v-711aedcd] {
46
46
  transition: transform 0.3s ease-in-out;
47
47
  }
48
- .c-icon__flippable[data-v-d0d8dba0] {
48
+ .c-icon__flippable[data-v-711aedcd] {
49
49
  transition: transform 0.3s ease-in-out;
50
50
  }
51
- @keyframes spin-d0d8dba0 {
51
+ @keyframes spin-711aedcd {
52
52
  0% {
53
53
  transform: rotate(0deg);
54
54
  }
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`);function r(e){let{items:t,activeKeys:r,defaultActiveKeys:i,accordion:a,persistKey:o,onChange:s,onExpand:c,onCollapse:l}=e,u=()=>{if(!o.value)return null;try{let e=localStorage.getItem(`collapse-panel:${o.value}`);return e?JSON.parse(e):null}catch{return null}},d=e=>{if(o.value)try{localStorage.setItem(`collapse-panel:${o.value}`,JSON.stringify(e))}catch{}},f=(0,n.ref)(r.value===void 0?u()||[...i]:[...r.value]),p=(0,n.ref)(new Set(f.value)),m=(0,n.computed)({get:()=>r.value===void 0?f.value:r.value,set:e=>{f.value=e}}),h=e=>m.value.includes(e),g=e=>{let t=h(e.key);return e.destroyOnCollapse?t:e.lazy?p.value.has(e.key):!0},_=e=>{m.value=e,s?.(e),d(e)},v=e=>{let n=t.value.find(t=>t.key===e);if(!(!n||n.disabled))if(h(e))_(m.value.filter(t=>t!==e)),l?.(e);else{if(p.value.add(e),a.value){let t=m.value;_([e]),t.forEach(t=>{t!==e&&l?.(t)})}else _([...m.value,e]);c?.(e)}};return(0,n.watch)(()=>r.value,e=>{e!==void 0&&(f.value=[...e],e.forEach(e=>p.value.add(e)),d(e))}),{currentKeys:m,renderedOnce:p,isExpanded:h,shouldRender:g,toggle:v,expandAll:()=>{if(a.value)return;let e=t.value.filter(e=>!e.disabled).map(e=>e.key);e.forEach(e=>p.value.add(e)),_(e)},collapseAll:()=>{_([])},getActiveKeys:()=>[...m.value],handleKeyDown:(e,t)=>{[`Enter`,` `].includes(e.key)&&(e.preventDefault(),v(t))}}}const i=[`aria-expanded`,`aria-controls`,`aria-disabled`,`tabindex`,`onClick`,`onKeydown`],a={class:`collapse-item__title-area`},o={class:`collapse-item__title-group`},s={class:`collapse-item__title`},c={key:1,class:`collapse-item__subtitle`},l=[`id`,`aria-labelledby`],u={key:0,class:`collapse-item__content`},d=(0,n.defineComponent)({name:`C_CollapsePanel`,__name:`index`,props:{items:{},activeKeys:{default:void 0},defaultActiveKeys:{default:()=>[]},accordion:{type:Boolean,default:!1},variant:{default:`default`},expandIconPosition:{default:`left`},bordered:{type:Boolean,default:!0},persistKey:{default:void 0}},emits:[`update:activeKeys`,`expand`,`collapse`,`change`],setup(t,{expose:d,emit:f}){let p=t,m=f,h=(0,n.ref)(null),g=(0,n.ref)(new Map),_=(e,t)=>{t?g.value.set(e,t):g.value.delete(e)},{isExpanded:v,shouldRender:y,toggle:b,expandAll:x,collapseAll:S,getActiveKeys:C,handleKeyDown:w}=r({items:(0,n.toRef)(p,`items`),activeKeys:(0,n.toRef)(p,`activeKeys`),defaultActiveKeys:p.defaultActiveKeys,accordion:(0,n.toRef)(p,`accordion`),persistKey:(0,n.toRef)(p,`persistKey`),onChange:e=>{m(`update:activeKeys`,e),m(`change`,e)},onExpand:e=>m(`expand`,e),onCollapse:e=>m(`collapse`,e)}),T=e=>{let t=e;t.style.height=`0`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`${t.scrollHeight}px`},E=e=>{let t=e;t.style.height=``,t.style.overflow=``},D=e=>{let t=e;t.style.height=`${t.scrollHeight}px`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`0`},O=e=>{let t=e;t.style.height=``,t.style.overflow=``};return d({expandAll:x,collapseAll:S,toggle:b,getActiveKeys:C,scrollToPanel:e=>{let t=g.value.get(e);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}}),(r,d)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`containerRef`,ref:h,class:(0,n.normalizeClass)([`c-collapse-panel`,[`c-collapse-panel--${t.variant}`,{"c-collapse-panel--bordered":t.bordered,"c-collapse-panel--icon-right":t.expandIconPosition===`right`}]])},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.items,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.key,ref_for:!0,ref:e=>_(t.key,e),class:(0,n.normalizeClass)([`collapse-item`,{"collapse-item--active":(0,n.unref)(v)(t.key),"collapse-item--disabled":t.disabled}])},[(0,n.createCommentVNode)(` 面板头部 `),(0,n.createElementVNode)(`div`,{class:`collapse-item__header`,role:`button`,"aria-expanded":(0,n.unref)(v)(t.key),"aria-controls":`collapse-content-${t.key}`,"aria-disabled":t.disabled,tabindex:t.disabled?-1:0,onClick:e=>!t.disabled&&(0,n.unref)(b)(t.key),onKeydown:e=>(0,n.unref)(w)(e,t.key)},[(0,n.createCommentVNode)(` 展开图标 `),(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`collapse-item__arrow`,{"collapse-item__arrow--expanded":(0,n.unref)(v)(t.key)}])},[(0,n.createVNode)(e.t,{name:`mdi:chevron-right`,size:16,color:`currentColor`})],2),(0,n.createCommentVNode)(` 标题区域 `),(0,n.createElementVNode)(`div`,a,[(0,n.renderSlot)(r.$slots,`header-${t.key}`,{item:t,expanded:(0,n.unref)(v)(t.key)},()=>[(0,n.createElementVNode)(`div`,o,[t.icon?((0,n.openBlock)(),(0,n.createBlock)(e.t,{key:0,name:t.icon,size:18,color:`currentColor`,class:`collapse-item__icon`},null,8,[`name`])):(0,n.createCommentVNode)(`v-if`,!0),(0,n.createElementVNode)(`span`,s,(0,n.toDisplayString)(t.title),1),t.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,c,(0,n.toDisplayString)(t.subtitle),1)):(0,n.createCommentVNode)(`v-if`,!0)])],!0)]),(0,n.createCommentVNode)(` 头部右侧操作区 `),r.$slots[`extra-${t.key}`]?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`collapse-item__extra`,onClick:d[0]||=(0,n.withModifiers)(()=>{},[`stop`])},[(0,n.renderSlot)(r.$slots,`extra-${t.key}`,{item:t,expanded:(0,n.unref)(v)(t.key)},void 0,!0)])):(0,n.createCommentVNode)(`v-if`,!0)],40,i),(0,n.createCommentVNode)(` 面板内容 `),(0,n.createVNode)(n.Transition,{name:`collapse-slide`,onEnter:T,onAfterEnter:E,onLeave:D,onAfterLeave:O,persisted:``},{default:(0,n.withCtx)(()=>[(0,n.withDirectives)((0,n.createElementVNode)(`div`,{id:`collapse-content-${t.key}`,class:`collapse-item__content-wrapper`,role:`region`,"aria-labelledby":`collapse-header-${t.key}`},[(0,n.unref)(y)(t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,u,[(0,n.renderSlot)(r.$slots,`panel-${t.key}`,{item:t,expanded:(0,n.unref)(v)(t.key)},()=>[t.content&&typeof t.content!=`string`?((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(t.content),{key:0})):t.content?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createTextVNode)((0,n.toDisplayString)(t.content),1)],64)):(0,n.createCommentVNode)(`v-if`,!0)],!0)])):(0,n.createCommentVNode)(`v-if`,!0)],8,l),[[n.vShow,(0,n.unref)(v)(t.key)]])]),_:2},1024)],2))),128))],2))}});var f=t.t(d,[[`__scopeId`,`data-v-3ad19a41`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
1
+ require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`),t=require(`./export-helper.cjs`);let n=require(`vue`);function r(e){if(!e)return null;try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):null}catch{return null}}function i(e){let{items:t,activeKeys:i,defaultActiveKeys:a,accordion:o,persistKey:s,onChange:c,onExpand:l,onCollapse:u}=e,d=()=>{if(!s.value)return null;try{return r(localStorage.getItem(`collapse-panel:${s.value}`))}catch{return null}},f=e=>{if(s.value)try{localStorage.setItem(`collapse-panel:${s.value}`,JSON.stringify(e))}catch{}},p=(0,n.ref)(i.value===void 0?d()||[...a]:[...i.value]),m=(0,n.ref)(new Set(p.value)),h=(0,n.computed)({get:()=>i.value===void 0?p.value:i.value,set:e=>{p.value=e}}),g=e=>h.value.includes(e),_=e=>{let t=g(e.key);return e.destroyOnCollapse?t:e.lazy?m.value.has(e.key):!0},v=e=>{h.value=e,c?.(e),f(e)},y=e=>{let n=t.value.find(t=>t.key===e);if(!(!n||n.disabled))if(g(e))v(h.value.filter(t=>t!==e)),u?.(e);else{if(m.value.add(e),o.value){let t=h.value;v([e]),t.forEach(t=>{t!==e&&u?.(t)})}else v([...h.value,e]);l?.(e)}};return(0,n.watch)(()=>i.value,e=>{e!==void 0&&(p.value=[...e],e.forEach(e=>m.value.add(e)),f(e))}),{currentKeys:h,renderedOnce:m,isExpanded:g,shouldRender:_,toggle:y,expandAll:()=>{if(o.value)return;let e=t.value.filter(e=>!e.disabled).map(e=>e.key);e.forEach(e=>m.value.add(e)),v(e)},collapseAll:()=>{v([])},getActiveKeys:()=>[...h.value],handleKeyDown:(e,t)=>{[`Enter`,` `].includes(e.key)&&(e.preventDefault(),y(t))}}}const a=[`aria-expanded`,`aria-controls`,`aria-disabled`,`tabindex`,`onClick`,`onKeydown`],o={class:`collapse-item__title-area`},s={class:`collapse-item__title-group`},c={class:`collapse-item__title`},l={key:1,class:`collapse-item__subtitle`},u=[`id`,`aria-labelledby`],d={key:0,class:`collapse-item__content`},f=(0,n.defineComponent)({name:`C_CollapsePanel`,__name:`index`,props:{items:{},activeKeys:{default:void 0},defaultActiveKeys:{default:()=>[]},accordion:{type:Boolean,default:!1},variant:{default:`default`},expandIconPosition:{default:`left`},bordered:{type:Boolean,default:!0},persistKey:{default:void 0}},emits:[`update:activeKeys`,`expand`,`collapse`,`change`],setup(t,{expose:r,emit:f}){let p=t,m=f,h=(0,n.ref)(null),g=(0,n.ref)(new Map),_=(e,t)=>{t?g.value.set(e,t):g.value.delete(e)},{isExpanded:v,shouldRender:y,toggle:b,expandAll:x,collapseAll:S,getActiveKeys:C,handleKeyDown:w}=i({items:(0,n.toRef)(p,`items`),activeKeys:(0,n.toRef)(p,`activeKeys`),defaultActiveKeys:p.defaultActiveKeys,accordion:(0,n.toRef)(p,`accordion`),persistKey:(0,n.toRef)(p,`persistKey`),onChange:e=>{m(`update:activeKeys`,e),m(`change`,e)},onExpand:e=>m(`expand`,e),onCollapse:e=>m(`collapse`,e)}),T=e=>{let t=e;t.style.height=`0`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`${t.scrollHeight}px`},E=e=>{let t=e;t.style.height=``,t.style.overflow=``},D=e=>{let t=e;t.style.height=`${t.scrollHeight}px`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`0`},O=e=>{let t=e;t.style.height=``,t.style.overflow=``};return r({expandAll:x,collapseAll:S,toggle:b,getActiveKeys:C,scrollToPanel:e=>{let t=g.value.get(e);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}}),(r,i)=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{ref_key:`containerRef`,ref:h,class:(0,n.normalizeClass)([`c-collapse-panel`,[`c-collapse-panel--${t.variant}`,{"c-collapse-panel--bordered":t.bordered,"c-collapse-panel--icon-right":t.expandIconPosition===`right`}]])},[((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(t.items,t=>((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:t.key,ref_for:!0,ref:e=>_(t.key,e),class:(0,n.normalizeClass)([`collapse-item`,{"collapse-item--active":(0,n.unref)(v)(t.key),"collapse-item--disabled":t.disabled}])},[(0,n.createCommentVNode)(` 面板头部 `),(0,n.createElementVNode)(`div`,{class:`collapse-item__header`,role:`button`,"aria-expanded":(0,n.unref)(v)(t.key),"aria-controls":`collapse-content-${t.key}`,"aria-disabled":t.disabled,tabindex:t.disabled?-1:0,onClick:e=>!t.disabled&&(0,n.unref)(b)(t.key),onKeydown:e=>(0,n.unref)(w)(e,t.key)},[(0,n.createCommentVNode)(` 展开图标 `),(0,n.createElementVNode)(`span`,{class:(0,n.normalizeClass)([`collapse-item__arrow`,{"collapse-item__arrow--expanded":(0,n.unref)(v)(t.key)}])},[(0,n.createVNode)(e.t,{name:`mdi:chevron-right`,size:16,color:`currentColor`})],2),(0,n.createCommentVNode)(` 标题区域 `),(0,n.createElementVNode)(`div`,o,[(0,n.renderSlot)(r.$slots,`header-${t.key}`,{item:t,expanded:(0,n.unref)(v)(t.key)},()=>[(0,n.createElementVNode)(`div`,s,[t.icon?((0,n.openBlock)(),(0,n.createBlock)(e.t,{key:0,name:t.icon,size:18,color:`currentColor`,class:`collapse-item__icon`},null,8,[`name`])):(0,n.createCommentVNode)(`v-if`,!0),(0,n.createElementVNode)(`span`,c,(0,n.toDisplayString)(t.title),1),t.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,l,(0,n.toDisplayString)(t.subtitle),1)):(0,n.createCommentVNode)(`v-if`,!0)])],!0)]),(0,n.createCommentVNode)(` 头部右侧操作区 `),r.$slots[`extra-${t.key}`]?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,{key:0,class:`collapse-item__extra`,onClick:i[0]||=(0,n.withModifiers)(()=>{},[`stop`])},[(0,n.renderSlot)(r.$slots,`extra-${t.key}`,{item:t,expanded:(0,n.unref)(v)(t.key)},void 0,!0)])):(0,n.createCommentVNode)(`v-if`,!0)],40,a),(0,n.createCommentVNode)(` 面板内容 `),(0,n.createVNode)(n.Transition,{name:`collapse-slide`,onEnter:T,onAfterEnter:E,onLeave:D,onAfterLeave:O,persisted:``},{default:(0,n.withCtx)(()=>[(0,n.withDirectives)((0,n.createElementVNode)(`div`,{id:`collapse-content-${t.key}`,class:`collapse-item__content-wrapper`,role:`region`,"aria-labelledby":`collapse-header-${t.key}`},[(0,n.unref)(y)(t)?((0,n.openBlock)(),(0,n.createElementBlock)(`div`,d,[(0,n.renderSlot)(r.$slots,`panel-${t.key}`,{item:t,expanded:(0,n.unref)(v)(t.key)},()=>[t.content&&typeof t.content!=`string`?((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(t.content),{key:0})):t.content?((0,n.openBlock)(),(0,n.createElementBlock)(n.Fragment,{key:1},[(0,n.createTextVNode)((0,n.toDisplayString)(t.content),1)],64)):(0,n.createCommentVNode)(`v-if`,!0)],!0)])):(0,n.createCommentVNode)(`v-if`,!0)],8,u),[[n.vShow,(0,n.unref)(v)(t.key)]])]),_:2},1024)],2))),128))],2))}});var p=t.t(f,[[`__scopeId`,`data-v-3ad19a41`]]);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -1 +1 @@
1
- import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,Transition as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,normalizeClass as f,openBlock as p,ref as m,renderList as h,renderSlot as g,resolveDynamicComponent as _,toDisplayString as v,toRef as y,unref as b,vShow as x,watch as S,withCtx as C,withDirectives as w,withModifiers as T}from"vue";function E(e){let{items:t,activeKeys:n,defaultActiveKeys:r,accordion:a,persistKey:o,onChange:s,onExpand:c,onCollapse:l}=e,u=()=>{if(!o.value)return null;try{let e=localStorage.getItem(`collapse-panel:${o.value}`);return e?JSON.parse(e):null}catch{return null}},d=e=>{if(o.value)try{localStorage.setItem(`collapse-panel:${o.value}`,JSON.stringify(e))}catch{}},f=m(n.value===void 0?u()||[...r]:[...n.value]),p=m(new Set(f.value)),h=i({get:()=>n.value===void 0?f.value:n.value,set:e=>{f.value=e}}),g=e=>h.value.includes(e),_=e=>{let t=g(e.key);return e.destroyOnCollapse?t:e.lazy?p.value.has(e.key):!0},v=e=>{h.value=e,s?.(e),d(e)},y=e=>{let n=t.value.find(t=>t.key===e);if(!(!n||n.disabled))if(g(e))v(h.value.filter(t=>t!==e)),l?.(e);else{if(p.value.add(e),a.value){let t=h.value;v([e]),t.forEach(t=>{t!==e&&l?.(t)})}else v([...h.value,e]);c?.(e)}};return S(()=>n.value,e=>{e!==void 0&&(f.value=[...e],e.forEach(e=>p.value.add(e)),d(e))}),{currentKeys:h,renderedOnce:p,isExpanded:g,shouldRender:_,toggle:y,expandAll:()=>{if(a.value)return;let e=t.value.filter(e=>!e.disabled).map(e=>e.key);e.forEach(e=>p.value.add(e)),v(e)},collapseAll:()=>{v([])},getActiveKeys:()=>[...h.value],handleKeyDown:(e,t)=>{[`Enter`,` `].includes(e.key)&&(e.preventDefault(),y(t))}}}const D=[`aria-expanded`,`aria-controls`,`aria-disabled`,`tabindex`,`onClick`,`onKeydown`],O={class:`collapse-item__title-area`},k={class:`collapse-item__title-group`},A={class:`collapse-item__title`},j={key:1,class:`collapse-item__subtitle`},M=[`id`,`aria-labelledby`],N={key:0,class:`collapse-item__content`};var P=t(d({name:`C_CollapsePanel`,__name:`index`,props:{items:{},activeKeys:{default:void 0},defaultActiveKeys:{default:()=>[]},accordion:{type:Boolean,default:!1},variant:{default:`default`},expandIconPosition:{default:`left`},bordered:{type:Boolean,default:!0},persistKey:{default:void 0}},emits:[`update:activeKeys`,`expand`,`collapse`,`change`],setup(t,{expose:i,emit:d}){let S=t,P=d,F=m(null),I=m(new Map),L=(e,t)=>{t?I.value.set(e,t):I.value.delete(e)},{isExpanded:R,shouldRender:z,toggle:B,expandAll:V,collapseAll:H,getActiveKeys:U,handleKeyDown:W}=E({items:y(S,`items`),activeKeys:y(S,`activeKeys`),defaultActiveKeys:S.defaultActiveKeys,accordion:y(S,`accordion`),persistKey:y(S,`persistKey`),onChange:e=>{P(`update:activeKeys`,e),P(`change`,e)},onExpand:e=>P(`expand`,e),onCollapse:e=>P(`collapse`,e)}),G=e=>{let t=e;t.style.height=`0`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`${t.scrollHeight}px`},K=e=>{let t=e;t.style.height=``,t.style.overflow=``},q=e=>{let t=e;t.style.height=`${t.scrollHeight}px`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`0`},J=e=>{let t=e;t.style.height=``,t.style.overflow=``};return i({expandAll:V,collapseAll:H,toggle:B,getActiveKeys:U,scrollToPanel:e=>{let t=I.value.get(e);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}}),(i,d)=>(p(),s(`div`,{ref_key:`containerRef`,ref:F,class:f([`c-collapse-panel`,[`c-collapse-panel--${t.variant}`,{"c-collapse-panel--bordered":t.bordered,"c-collapse-panel--icon-right":t.expandIconPosition===`right`}]])},[(p(!0),s(n,null,h(t.items,t=>(p(),s(`div`,{key:t.key,ref_for:!0,ref:e=>L(t.key,e),class:f([`collapse-item`,{"collapse-item--active":b(R)(t.key),"collapse-item--disabled":t.disabled}])},[o(` 面板头部 `),c(`div`,{class:`collapse-item__header`,role:`button`,"aria-expanded":b(R)(t.key),"aria-controls":`collapse-content-${t.key}`,"aria-disabled":t.disabled,tabindex:t.disabled?-1:0,onClick:e=>!t.disabled&&b(B)(t.key),onKeydown:e=>b(W)(e,t.key)},[o(` 展开图标 `),c(`span`,{class:f([`collapse-item__arrow`,{"collapse-item__arrow--expanded":b(R)(t.key)}])},[u(e,{name:`mdi:chevron-right`,size:16,color:`currentColor`})],2),o(` 标题区域 `),c(`div`,O,[g(i.$slots,`header-${t.key}`,{item:t,expanded:b(R)(t.key)},()=>[c(`div`,k,[t.icon?(p(),a(e,{key:0,name:t.icon,size:18,color:`currentColor`,class:`collapse-item__icon`},null,8,[`name`])):o(`v-if`,!0),c(`span`,A,v(t.title),1),t.subtitle?(p(),s(`span`,j,v(t.subtitle),1)):o(`v-if`,!0)])],!0)]),o(` 头部右侧操作区 `),i.$slots[`extra-${t.key}`]?(p(),s(`div`,{key:0,class:`collapse-item__extra`,onClick:d[0]||=T(()=>{},[`stop`])},[g(i.$slots,`extra-${t.key}`,{item:t,expanded:b(R)(t.key)},void 0,!0)])):o(`v-if`,!0)],40,D),o(` 面板内容 `),u(r,{name:`collapse-slide`,onEnter:G,onAfterEnter:K,onLeave:q,onAfterLeave:J,persisted:``},{default:C(()=>[w(c(`div`,{id:`collapse-content-${t.key}`,class:`collapse-item__content-wrapper`,role:`region`,"aria-labelledby":`collapse-header-${t.key}`},[b(z)(t)?(p(),s(`div`,N,[g(i.$slots,`panel-${t.key}`,{item:t,expanded:b(R)(t.key)},()=>[t.content&&typeof t.content!=`string`?(p(),a(_(t.content),{key:0})):t.content?(p(),s(n,{key:1},[l(v(t.content),1)],64)):o(`v-if`,!0)],!0)])):o(`v-if`,!0)],8,M),[[x,b(R)(t.key)]])]),_:2},1024)],2))),128))],2))}}),[[`__scopeId`,`data-v-3ad19a41`]]);export{E as n,P as t};
1
+ import{t as e}from"./C_Icon2.js";import{t}from"./export-helper.js";import{Fragment as n,Transition as r,computed as i,createBlock as a,createCommentVNode as o,createElementBlock as s,createElementVNode as c,createTextVNode as l,createVNode as u,defineComponent as d,normalizeClass as f,openBlock as p,ref as m,renderList as h,renderSlot as g,resolveDynamicComponent as _,toDisplayString as v,toRef as y,unref as b,vShow as x,watch as S,withCtx as C,withDirectives as w,withModifiers as T}from"vue";function E(e){if(!e)return null;try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):null}catch{return null}}function D(e){let{items:t,activeKeys:n,defaultActiveKeys:r,accordion:a,persistKey:o,onChange:s,onExpand:c,onCollapse:l}=e,u=()=>{if(!o.value)return null;try{return E(localStorage.getItem(`collapse-panel:${o.value}`))}catch{return null}},d=e=>{if(o.value)try{localStorage.setItem(`collapse-panel:${o.value}`,JSON.stringify(e))}catch{}},f=m(n.value===void 0?u()||[...r]:[...n.value]),p=m(new Set(f.value)),h=i({get:()=>n.value===void 0?f.value:n.value,set:e=>{f.value=e}}),g=e=>h.value.includes(e),_=e=>{let t=g(e.key);return e.destroyOnCollapse?t:e.lazy?p.value.has(e.key):!0},v=e=>{h.value=e,s?.(e),d(e)},y=e=>{let n=t.value.find(t=>t.key===e);if(!(!n||n.disabled))if(g(e))v(h.value.filter(t=>t!==e)),l?.(e);else{if(p.value.add(e),a.value){let t=h.value;v([e]),t.forEach(t=>{t!==e&&l?.(t)})}else v([...h.value,e]);c?.(e)}};return S(()=>n.value,e=>{e!==void 0&&(f.value=[...e],e.forEach(e=>p.value.add(e)),d(e))}),{currentKeys:h,renderedOnce:p,isExpanded:g,shouldRender:_,toggle:y,expandAll:()=>{if(a.value)return;let e=t.value.filter(e=>!e.disabled).map(e=>e.key);e.forEach(e=>p.value.add(e)),v(e)},collapseAll:()=>{v([])},getActiveKeys:()=>[...h.value],handleKeyDown:(e,t)=>{[`Enter`,` `].includes(e.key)&&(e.preventDefault(),y(t))}}}const O=[`aria-expanded`,`aria-controls`,`aria-disabled`,`tabindex`,`onClick`,`onKeydown`],k={class:`collapse-item__title-area`},A={class:`collapse-item__title-group`},j={class:`collapse-item__title`},M={key:1,class:`collapse-item__subtitle`},N=[`id`,`aria-labelledby`],P={key:0,class:`collapse-item__content`};var F=t(d({name:`C_CollapsePanel`,__name:`index`,props:{items:{},activeKeys:{default:void 0},defaultActiveKeys:{default:()=>[]},accordion:{type:Boolean,default:!1},variant:{default:`default`},expandIconPosition:{default:`left`},bordered:{type:Boolean,default:!0},persistKey:{default:void 0}},emits:[`update:activeKeys`,`expand`,`collapse`,`change`],setup(t,{expose:i,emit:d}){let S=t,E=d,F=m(null),I=m(new Map),L=(e,t)=>{t?I.value.set(e,t):I.value.delete(e)},{isExpanded:R,shouldRender:z,toggle:B,expandAll:V,collapseAll:H,getActiveKeys:U,handleKeyDown:W}=D({items:y(S,`items`),activeKeys:y(S,`activeKeys`),defaultActiveKeys:S.defaultActiveKeys,accordion:y(S,`accordion`),persistKey:y(S,`persistKey`),onChange:e=>{E(`update:activeKeys`,e),E(`change`,e)},onExpand:e=>E(`expand`,e),onCollapse:e=>E(`collapse`,e)}),G=e=>{let t=e;t.style.height=`0`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`${t.scrollHeight}px`},K=e=>{let t=e;t.style.height=``,t.style.overflow=``},q=e=>{let t=e;t.style.height=`${t.scrollHeight}px`,t.style.overflow=`hidden`,t.offsetHeight,t.style.height=`0`},J=e=>{let t=e;t.style.height=``,t.style.overflow=``};return i({expandAll:V,collapseAll:H,toggle:B,getActiveKeys:U,scrollToPanel:e=>{let t=I.value.get(e);t&&t.scrollIntoView({behavior:`smooth`,block:`start`})}}),(i,d)=>(p(),s(`div`,{ref_key:`containerRef`,ref:F,class:f([`c-collapse-panel`,[`c-collapse-panel--${t.variant}`,{"c-collapse-panel--bordered":t.bordered,"c-collapse-panel--icon-right":t.expandIconPosition===`right`}]])},[(p(!0),s(n,null,h(t.items,t=>(p(),s(`div`,{key:t.key,ref_for:!0,ref:e=>L(t.key,e),class:f([`collapse-item`,{"collapse-item--active":b(R)(t.key),"collapse-item--disabled":t.disabled}])},[o(` 面板头部 `),c(`div`,{class:`collapse-item__header`,role:`button`,"aria-expanded":b(R)(t.key),"aria-controls":`collapse-content-${t.key}`,"aria-disabled":t.disabled,tabindex:t.disabled?-1:0,onClick:e=>!t.disabled&&b(B)(t.key),onKeydown:e=>b(W)(e,t.key)},[o(` 展开图标 `),c(`span`,{class:f([`collapse-item__arrow`,{"collapse-item__arrow--expanded":b(R)(t.key)}])},[u(e,{name:`mdi:chevron-right`,size:16,color:`currentColor`})],2),o(` 标题区域 `),c(`div`,k,[g(i.$slots,`header-${t.key}`,{item:t,expanded:b(R)(t.key)},()=>[c(`div`,A,[t.icon?(p(),a(e,{key:0,name:t.icon,size:18,color:`currentColor`,class:`collapse-item__icon`},null,8,[`name`])):o(`v-if`,!0),c(`span`,j,v(t.title),1),t.subtitle?(p(),s(`span`,M,v(t.subtitle),1)):o(`v-if`,!0)])],!0)]),o(` 头部右侧操作区 `),i.$slots[`extra-${t.key}`]?(p(),s(`div`,{key:0,class:`collapse-item__extra`,onClick:d[0]||=T(()=>{},[`stop`])},[g(i.$slots,`extra-${t.key}`,{item:t,expanded:b(R)(t.key)},void 0,!0)])):o(`v-if`,!0)],40,O),o(` 面板内容 `),u(r,{name:`collapse-slide`,onEnter:G,onAfterEnter:K,onLeave:q,onAfterLeave:J,persisted:``},{default:C(()=>[w(c(`div`,{id:`collapse-content-${t.key}`,class:`collapse-item__content-wrapper`,role:`region`,"aria-labelledby":`collapse-header-${t.key}`},[b(z)(t)?(p(),s(`div`,P,[g(i.$slots,`panel-${t.key}`,{item:t,expanded:b(R)(t.key)},()=>[t.content&&typeof t.content!=`string`?(p(),a(_(t.content),{key:0})):t.content?(p(),s(n,{key:1},[l(v(t.content),1)],64)):o(`v-if`,!0)],!0)])):o(`v-if`,!0)],8,N),[[x,b(R)(t.key)]])]),_:2},1024)],2))),128))],2))}}),[[`__scopeId`,`data-v-3ad19a41`]]);export{D as n,F as t};
@@ -1,54 +1,54 @@
1
- /* unplugin-vue-components disabled */.c-icon[data-v-d0d8dba0] {
1
+ /* unplugin-vue-components disabled */.c-icon[data-v-711aedcd] {
2
2
  display: inline-flex;
3
3
  align-items: center;
4
4
  justify-content: center;
5
5
  user-select: none;
6
6
  transition: all 0.2s ease-in-out;
7
7
  }
8
- .c-icon--clickable[data-v-d0d8dba0] {
8
+ .c-icon--clickable[data-v-711aedcd] {
9
9
  cursor: pointer;
10
10
  }
11
- .c-icon--clickable[data-v-d0d8dba0]:hover {
11
+ .c-icon--clickable[data-v-711aedcd]:hover {
12
12
  opacity: 0.8;
13
13
  transform: scale(1.05);
14
14
  }
15
- .c-icon--clickable[data-v-d0d8dba0]:active {
15
+ .c-icon--clickable[data-v-711aedcd]:active {
16
16
  transform: scale(0.95);
17
17
  }
18
- .c-icon--clickable[data-v-d0d8dba0]:focus-visible {
18
+ .c-icon--clickable[data-v-711aedcd]:focus-visible {
19
19
  outline: 2px solid currentColor;
20
20
  outline-offset: 2px;
21
21
  border-radius: 4px;
22
22
  }
23
- .c-icon--loading[data-v-d0d8dba0] {
23
+ .c-icon--loading[data-v-711aedcd] {
24
24
  opacity: 0.6;
25
25
  cursor: wait;
26
26
  }
27
- .c-icon--error[data-v-d0d8dba0] {
27
+ .c-icon--error[data-v-711aedcd] {
28
28
  opacity: 0.5;
29
29
  }
30
- .c-icon__loading[data-v-d0d8dba0] {
30
+ .c-icon__loading[data-v-711aedcd] {
31
31
  position: relative;
32
32
  }
33
- .c-icon__spinner[data-v-d0d8dba0] {
33
+ .c-icon__spinner[data-v-711aedcd] {
34
34
  width: 100%;
35
35
  height: 100%;
36
36
  border: 2px solid currentColor;
37
37
  border-radius: 50%;
38
38
  border-top-color: transparent;
39
- animation: spin-d0d8dba0 1s linear infinite;
39
+ animation: spin-711aedcd 1s linear infinite;
40
40
  }
41
- .c-icon__error[data-v-d0d8dba0] {
41
+ .c-icon__error[data-v-711aedcd] {
42
42
  font-size: 0.8em;
43
43
  opacity: 0.5;
44
44
  }
45
- .c-icon__rotatable[data-v-d0d8dba0] {
45
+ .c-icon__rotatable[data-v-711aedcd] {
46
46
  transition: transform 0.3s ease-in-out;
47
47
  }
48
- .c-icon__flippable[data-v-d0d8dba0] {
48
+ .c-icon__flippable[data-v-711aedcd] {
49
49
  transition: transform 0.3s ease-in-out;
50
50
  }
51
- @keyframes spin-d0d8dba0 {
51
+ @keyframes spin-711aedcd {
52
52
  0% {
53
53
  transform: rotate(0deg);
54
54
  }
@@ -1,2 +1,2 @@
1
- import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index11.vue.cjs";
1
+ import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index10.vue.cjs";
2
2
  export { _default as C_ContextMenu, type ContextMenuItem, type ContextMenuProps, DEFAULT_CONTEXT_MENU_PROPS };
@@ -1,2 +1,2 @@
1
- import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index10.vue.js";
1
+ import { i as DEFAULT_CONTEXT_MENU_PROPS, n as ContextMenuItem, r as ContextMenuProps, t as _default } from "./index9.vue.js";
2
2
  export { _default as C_ContextMenu, type ContextMenuItem, type ContextMenuProps, DEFAULT_CONTEXT_MENU_PROPS };
@@ -1 +1 @@
1
- require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`);let t=require(`vue`);const n={key:0,class:`c-context-menu__divider`,role:`separator`},r=[`aria-disabled`,`aria-haspopup`,`aria-expanded`,`onClick`,`onMouseenter`],i={key:0,class:`c-context-menu__icon`},a={class:`c-context-menu__label`},o={key:1,class:`c-context-menu__shortcut`},s={key:2,class:`c-context-menu__arrow`},c=(0,t.defineComponent)({name:`ContextMenuItems`,__name:`ContextMenuItems`,props:{items:{},minWidth:{},maxWidth:{},subMenuPlacement:{},zIndex:{}},emits:[`select`],setup(c,{emit:l}){let u=c,d=l,f=(0,t.ref)(null),p,m=(0,t.computed)(()=>u.items.filter(e=>!e.hidden)),h=(0,t.computed)(()=>({minWidth:`${u.minWidth}px`,maxWidth:`${u.maxWidth}px`,zIndex:u.zIndex})),g=()=>{p!==void 0&&(clearTimeout(p),p=void 0)},_=e=>{e.disabled||e.children?.length||d(`select`,e)},v=e=>{g(),f.value=null,!e.disabled&&e.children?.length&&(p=setTimeout(()=>{f.value=e.key,p=void 0},150))},y=()=>{g(),p=setTimeout(()=>{f.value=null,p=void 0},300)};return(0,t.onBeforeUnmount)(g),(l,u)=>{let p=(0,t.resolveComponent)(`ContextMenuItems`,!0);return(0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value,l=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:l.key},[l.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,n)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`c-context-menu__item`,l.className,{"is-disabled":l.disabled,"is-danger":l.danger}]),role:`menuitem`,"aria-disabled":l.disabled||void 0,"aria-haspopup":l.children?.length?`menu`:void 0,"aria-expanded":l.children?.length?f.value===l.key:void 0,onClick:(0,t.withModifiers)(e=>_(l),[`stop`]),onMouseenter:e=>v(l),onMouseleave:y},[l.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,i,[(0,t.createVNode)(e.t,{name:l.icon},null,8,[`name`])])):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createElementVNode)(`span`,a,(0,t.toDisplayString)(l.label),1),l.shortcut?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o,(0,t.toDisplayString)(l.shortcut),1)):(0,t.createCommentVNode)(`v-if`,!0),l.children?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,s,[(0,t.createVNode)(e.t,{name:`mdi:chevron-right`})])):(0,t.createCommentVNode)(`v-if`,!0),l.children?.length&&f.value===l.key?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:(0,t.normalizeClass)([`c-context-menu c-context-menu__submenu`,`is-${c.subMenuPlacement}`]),style:(0,t.normalizeStyle)(h.value),role:`menu`},[(0,t.createVNode)(p,{items:l.children,"min-width":c.minWidth,"max-width":c.maxWidth,"sub-menu-placement":c.subMenuPlacement,"z-index":c.zIndex+1,onSelect:u[0]||=e=>d(`select`,e)},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],6)):(0,t.createCommentVNode)(`v-if`,!0)],42,r))],64))),128)}}}),l={minWidth:180,maxWidth:280,subMenuPlacement:`right`,autoClose:!0,disabled:!1,zIndex:9999},u=(0,t.defineComponent)({name:`C_ContextMenu`,__name:`index`,props:{items:{default:()=>[]},minWidth:{default:l.minWidth},maxWidth:{default:l.maxWidth},subMenuPlacement:{default:l.subMenuPlacement},autoClose:{type:Boolean,default:l.autoClose},disabled:{type:Boolean,default:l.disabled},zIndex:{default:l.zIndex}},emits:[`select`,`open`,`close`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(!1),s=(0,t.ref)({x:0,y:0}),l=(0,t.ref)(),u=(0,t.computed)(()=>({left:`${s.value.x}px`,top:`${s.value.y}px`,minWidth:`${i.minWidth}px`,maxWidth:`${i.maxWidth}px`,zIndex:i.zIndex})),d=()=>{(0,t.nextTick)(()=>{let e=l.value;if(!e)return;let t=e.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window;t.right>n&&(s.value.x=n-t.width-8),t.bottom>r&&(s.value.y=r-t.height-8),s.value.x<0&&(s.value.x=8),s.value.y<0&&(s.value.y=8)})},f=(e,n)=>{i.disabled||(s.value={x:e,y:n},o.value=!0,a(`open`,{x:e,y:n}),d(),(0,t.nextTick)(()=>l.value?.focus()))},p=()=>{o.value=!1,a(`close`)},m=e=>{a(`select`,e),i.autoClose&&p()};return(0,t.onBeforeUnmount)(()=>{o.value=!1}),n({open:f,close:p,visible:(0,t.computed)(()=>o.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createCommentVNode)(` 遮罩层 `),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`c-context-menu-overlay`,style:(0,t.normalizeStyle)({zIndex:i.zIndex-1}),onClick:p,onContextmenu:(0,t.withModifiers)(p,[`prevent`])},null,36)):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createCommentVNode)(` 菜单面板 `),o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:l,class:`c-context-menu`,style:(0,t.normalizeStyle)(u.value),role:`menu`,tabindex:`-1`,onKeydown:(0,t.withKeys)(p,[`escape`])},[(0,t.createVNode)(c,{items:i.items,"min-width":i.minWidth,"max-width":i.maxWidth,"sub-menu-placement":i.subMenuPlacement,"z-index":i.zIndex+1,onSelect:m},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],36)):(0,t.createCommentVNode)(`v-if`,!0)]))],2112))}});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
1
+ require(`./chunk.cjs`);const e=require(`./C_Icon2.cjs`);let t=require(`vue`);const n={key:0,class:`c-context-menu__divider`,role:`separator`},r=[`aria-disabled`,`aria-haspopup`,`aria-expanded`,`onClick`,`onKeydown`,`onMouseenter`],i={key:0,class:`c-context-menu__icon`},a={class:`c-context-menu__label`},o={key:1,class:`c-context-menu__shortcut`},s={key:2,class:`c-context-menu__arrow`},c=(0,t.defineComponent)({name:`ContextMenuItems`,__name:`ContextMenuItems`,props:{items:{},minWidth:{},maxWidth:{},subMenuPlacement:{},zIndex:{}},emits:[`select`],setup(c,{emit:l}){let u=c,d=l,f=(0,t.ref)(null),p,m=(0,t.computed)(()=>u.items.filter(e=>!e.hidden)),h=(0,t.computed)(()=>({minWidth:`${u.minWidth}px`,maxWidth:`${u.maxWidth}px`,zIndex:u.zIndex})),g=()=>{p!==void 0&&(clearTimeout(p),p=void 0)},_=e=>{e.disabled||e.children?.length||d(`select`,e)};function v(e,n){e.disabled||!e.children?.length||(g(),f.value=e.key,(0,t.nextTick)(()=>{n.currentTarget?.querySelector(`.c-context-menu__submenu [role="menuitem"]:not([aria-disabled="true"])`)?.focus()}))}function y(e,t){e.children?.length?v(e,t):_(e)}function b(e){let t=e.currentTarget?.closest(`.c-context-menu__submenu`)?.parentElement;t?.getAttribute(`role`)===`menuitem`&&t.focus()}let x=e=>{g(),f.value=null,!e.disabled&&e.children?.length&&(p=setTimeout(()=>{f.value=e.key,p=void 0},150))},S=()=>{g(),p=setTimeout(()=>{f.value=null,p=void 0},300)};return(0,t.onBeforeUnmount)(g),(l,u)=>{let p=(0,t.resolveComponent)(`ContextMenuItems`,!0);return(0,t.openBlock)(!0),(0,t.createElementBlock)(t.Fragment,null,(0,t.renderList)(m.value,l=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,{key:l.key},[l.divider?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,n)):((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,class:(0,t.normalizeClass)([`c-context-menu__item`,l.className,{"is-disabled":l.disabled,"is-danger":l.danger}]),role:`menuitem`,tabindex:`-1`,"aria-disabled":l.disabled||void 0,"aria-haspopup":l.children?.length?`menu`:void 0,"aria-expanded":l.children?.length?f.value===l.key:void 0,onClick:(0,t.withModifiers)(e=>_(l),[`stop`]),onKeydown:[(0,t.withKeys)((0,t.withModifiers)(e=>y(l,e),[`stop`,`prevent`]),[`enter`]),(0,t.withKeys)((0,t.withModifiers)(e=>y(l,e),[`stop`,`prevent`]),[`space`]),(0,t.withKeys)((0,t.withModifiers)(e=>v(l,e),[`stop`,`prevent`]),[`arrow-right`]),u[1]||=(0,t.withKeys)((0,t.withModifiers)(e=>b(e),[`stop`,`prevent`]),[`arrow-left`])],onMouseenter:e=>x(l),onMouseleave:S},[l.icon?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,i,[(0,t.createVNode)(e.t,{name:l.icon},null,8,[`name`])])):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createElementVNode)(`span`,a,(0,t.toDisplayString)(l.label),1),l.shortcut?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,o,(0,t.toDisplayString)(l.shortcut),1)):(0,t.createCommentVNode)(`v-if`,!0),l.children?.length?((0,t.openBlock)(),(0,t.createElementBlock)(`span`,s,[(0,t.createVNode)(e.t,{name:`mdi:chevron-right`})])):(0,t.createCommentVNode)(`v-if`,!0),l.children?.length&&f.value===l.key?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:3,class:(0,t.normalizeClass)([`c-context-menu c-context-menu__submenu`,`is-${c.subMenuPlacement}`]),style:(0,t.normalizeStyle)(h.value),role:`menu`},[(0,t.createVNode)(p,{items:l.children,"min-width":c.minWidth,"max-width":c.maxWidth,"sub-menu-placement":c.subMenuPlacement,"z-index":c.zIndex+1,onSelect:u[0]||=e=>d(`select`,e)},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],6)):(0,t.createCommentVNode)(`v-if`,!0)],42,r))],64))),128)}}}),l={minWidth:180,maxWidth:280,subMenuPlacement:`right`,autoClose:!0,disabled:!1,zIndex:9999},u=(0,t.defineComponent)({name:`C_ContextMenu`,__name:`index`,props:{items:{default:()=>[]},minWidth:{default:l.minWidth},maxWidth:{default:l.maxWidth},subMenuPlacement:{default:l.subMenuPlacement},autoClose:{type:Boolean,default:l.autoClose},disabled:{type:Boolean,default:l.disabled},zIndex:{default:l.zIndex}},emits:[`select`,`open`,`close`],setup(e,{expose:n,emit:r}){let i=e,a=r,o=(0,t.ref)(!1),s=(0,t.ref)({x:0,y:0}),l=(0,t.ref)(),u=null;function d(){return Array.from(l.value?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[])}function f(e){let t=d();(e===`first`?t[0]:t[t.length-1])?.focus()}function p(e){let t=d();if(t.length===0)return;let n=t.indexOf(document.activeElement);t[n<0?e>0?0:t.length-1:(n+e+t.length)%t.length]?.focus()}let m=(0,t.computed)(()=>({left:`${s.value.x}px`,top:`${s.value.y}px`,minWidth:`${i.minWidth}px`,maxWidth:`${i.maxWidth}px`,zIndex:i.zIndex})),h=()=>{(0,t.nextTick)(()=>{let e=l.value;if(!e)return;let t=e.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window;t.right>n&&(s.value.x=n-t.width-8),t.bottom>r&&(s.value.y=r-t.height-8),s.value.x<0&&(s.value.x=8),s.value.y<0&&(s.value.y=8)})},g=(e,n)=>{i.disabled||(o.value||(u=document.activeElement),s.value={x:Number.isFinite(e)?Math.max(0,e):0,y:Number.isFinite(n)?Math.max(0,n):0},o.value=!0,a(`open`,{...s.value}),h(),window.addEventListener(`resize`,_),window.addEventListener(`scroll`,_,!0),(0,t.nextTick)(()=>f(`first`)))},_=()=>{o.value&&(o.value=!1,window.removeEventListener(`resize`,_),window.removeEventListener(`scroll`,_,!0),a(`close`),(0,t.nextTick)(()=>{u?.isConnected&&u.focus(),u=null}))},v=e=>{a(`select`,e),i.autoClose&&_()};return(0,t.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,_),window.removeEventListener(`scroll`,_,!0),o.value=!1}),n({open:g,close:_,visible:(0,t.computed)(()=>o.value)}),(e,n)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createCommentVNode)(` 遮罩层 `),((0,t.openBlock)(),(0,t.createBlock)(t.Teleport,{to:`body`},[o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:0,class:`c-context-menu-overlay`,style:(0,t.normalizeStyle)({zIndex:i.zIndex-1}),onClick:_,onContextmenu:(0,t.withModifiers)(_,[`prevent`])},null,36)):(0,t.createCommentVNode)(`v-if`,!0),(0,t.createCommentVNode)(` 菜单面板 `),o.value?((0,t.openBlock)(),(0,t.createElementBlock)(`div`,{key:1,ref_key:`menuRef`,ref:l,class:`c-context-menu`,style:(0,t.normalizeStyle)(m.value),role:`menu`,tabindex:`-1`,onKeydown:[(0,t.withKeys)(_,[`escape`]),n[0]||=(0,t.withKeys)((0,t.withModifiers)(e=>p(1),[`prevent`]),[`arrow-down`]),n[1]||=(0,t.withKeys)((0,t.withModifiers)(e=>p(-1),[`prevent`]),[`arrow-up`]),n[2]||=(0,t.withKeys)((0,t.withModifiers)(e=>f(`first`),[`prevent`]),[`home`]),n[3]||=(0,t.withKeys)((0,t.withModifiers)(e=>f(`last`),[`prevent`]),[`end`])]},[(0,t.createVNode)(c,{items:i.items,"min-width":i.minWidth,"max-width":i.maxWidth,"sub-menu-placement":i.subMenuPlacement,"z-index":i.zIndex+1,onSelect:v},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],36)):(0,t.createCommentVNode)(`v-if`,!0)]))],2112))}});Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
@@ -1 +1 @@
1
- import{t as e}from"./C_Icon2.js";import{Fragment as t,Teleport as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,nextTick as u,normalizeClass as d,normalizeStyle as f,onBeforeUnmount 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={key:0,class:`c-context-menu__divider`,role:`separator`},S=[`aria-disabled`,`aria-haspopup`,`aria-expanded`,`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`},D=l({name:`ContextMenuItems`,__name:`ContextMenuItems`,props:{items:{},minWidth:{},maxWidth:{},subMenuPlacement:{},zIndex:{}},emits:[`select`],setup(n,{emit:i}){let l=n,u=i,y=h(null),D,O=r(()=>l.items.filter(e=>!e.hidden)),k=r(()=>({minWidth:`${l.minWidth}px`,maxWidth:`${l.maxWidth}px`,zIndex:l.zIndex})),A=()=>{D!==void 0&&(clearTimeout(D),D=void 0)},j=e=>{e.disabled||e.children?.length||u(`select`,e)},M=e=>{A(),y.value=null,!e.disabled&&e.children?.length&&(D=setTimeout(()=>{y.value=e.key,D=void 0},150))},N=()=>{A(),D=setTimeout(()=>{y.value=null,D=void 0},300)};return p(A),(r,i)=>{let l=_(`ContextMenuItems`,!0);return m(!0),o(t,null,g(O.value,r=>(m(),o(t,{key:r.key},[r.divider?(m(),o(`div`,x)):(m(),o(`div`,{key:1,class:d([`c-context-menu__item`,r.className,{"is-disabled":r.disabled,"is-danger":r.danger}]),role:`menuitem`,"aria-disabled":r.disabled||void 0,"aria-haspopup":r.children?.length?`menu`:void 0,"aria-expanded":r.children?.length?y.value===r.key:void 0,onClick:b(e=>j(r),[`stop`]),onMouseenter:e=>M(r),onMouseleave:N},[r.icon?(m(),o(`span`,C,[c(e,{name:r.icon},null,8,[`name`])])):a(`v-if`,!0),s(`span`,w,v(r.label),1),r.shortcut?(m(),o(`span`,T,v(r.shortcut),1)):a(`v-if`,!0),r.children?.length?(m(),o(`span`,E,[c(e,{name:`mdi:chevron-right`})])):a(`v-if`,!0),r.children?.length&&y.value===r.key?(m(),o(`div`,{key:3,class:d([`c-context-menu c-context-menu__submenu`,`is-${n.subMenuPlacement}`]),style:f(k.value),role:`menu`},[c(l,{items:r.children,"min-width":n.minWidth,"max-width":n.maxWidth,"sub-menu-placement":n.subMenuPlacement,"z-index":n.zIndex+1,onSelect:i[0]||=e=>u(`select`,e)},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],6)):a(`v-if`,!0)],42,S))],64))),128)}}}),O={minWidth:180,maxWidth:280,subMenuPlacement:`right`,autoClose:!0,disabled:!1,zIndex:9999},k=l({name:`C_ContextMenu`,__name:`index`,props:{items:{default:()=>[]},minWidth:{default:O.minWidth},maxWidth:{default:O.maxWidth},subMenuPlacement:{default:O.subMenuPlacement},autoClose:{type:Boolean,default:O.autoClose},disabled:{type:Boolean,default:O.disabled},zIndex:{default:O.zIndex}},emits:[`select`,`open`,`close`],setup(e,{expose:s,emit:l}){let d=e,g=l,_=h(!1),v=h({x:0,y:0}),x=h(),S=r(()=>({left:`${v.value.x}px`,top:`${v.value.y}px`,minWidth:`${d.minWidth}px`,maxWidth:`${d.maxWidth}px`,zIndex:d.zIndex})),C=()=>{u(()=>{let e=x.value;if(!e)return;let t=e.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window;t.right>n&&(v.value.x=n-t.width-8),t.bottom>r&&(v.value.y=r-t.height-8),v.value.x<0&&(v.value.x=8),v.value.y<0&&(v.value.y=8)})},w=(e,t)=>{d.disabled||(v.value={x:e,y:t},_.value=!0,g(`open`,{x:e,y:t}),C(),u(()=>x.value?.focus()))},T=()=>{_.value=!1,g(`close`)},E=e=>{g(`select`,e),d.autoClose&&T()};return p(()=>{_.value=!1}),s({open:w,close:T,visible:r(()=>_.value)}),(e,r)=>(m(),o(t,null,[a(` 遮罩层 `),(m(),i(n,{to:`body`},[_.value?(m(),o(`div`,{key:0,class:`c-context-menu-overlay`,style:f({zIndex:d.zIndex-1}),onClick:T,onContextmenu:b(T,[`prevent`])},null,36)):a(`v-if`,!0),a(` 菜单面板 `),_.value?(m(),o(`div`,{key:1,ref_key:`menuRef`,ref:x,class:`c-context-menu`,style:f(S.value),role:`menu`,tabindex:`-1`,onKeydown:y(T,[`escape`])},[c(D,{items:d.items,"min-width":d.minWidth,"max-width":d.maxWidth,"sub-menu-placement":d.subMenuPlacement,"z-index":d.zIndex+1,onSelect:E},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],36)):a(`v-if`,!0)]))],2112))}});export{O as n,k as t};
1
+ import{t as e}from"./C_Icon2.js";import{Fragment as t,Teleport as n,computed as r,createBlock as i,createCommentVNode as a,createElementBlock as o,createElementVNode as s,createVNode as c,defineComponent as l,nextTick as u,normalizeClass as d,normalizeStyle as f,onBeforeUnmount 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={key:0,class:`c-context-menu__divider`,role:`separator`},S=[`aria-disabled`,`aria-haspopup`,`aria-expanded`,`onClick`,`onKeydown`,`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`},D=l({name:`ContextMenuItems`,__name:`ContextMenuItems`,props:{items:{},minWidth:{},maxWidth:{},subMenuPlacement:{},zIndex:{}},emits:[`select`],setup(n,{emit:i}){let l=n,D=i,O=h(null),k,A=r(()=>l.items.filter(e=>!e.hidden)),j=r(()=>({minWidth:`${l.minWidth}px`,maxWidth:`${l.maxWidth}px`,zIndex:l.zIndex})),M=()=>{k!==void 0&&(clearTimeout(k),k=void 0)},N=e=>{e.disabled||e.children?.length||D(`select`,e)};function P(e,t){e.disabled||!e.children?.length||(M(),O.value=e.key,u(()=>{t.currentTarget?.querySelector(`.c-context-menu__submenu [role="menuitem"]:not([aria-disabled="true"])`)?.focus()}))}function F(e,t){e.children?.length?P(e,t):N(e)}function I(e){let t=e.currentTarget?.closest(`.c-context-menu__submenu`)?.parentElement;t?.getAttribute(`role`)===`menuitem`&&t.focus()}let L=e=>{M(),O.value=null,!e.disabled&&e.children?.length&&(k=setTimeout(()=>{O.value=e.key,k=void 0},150))},R=()=>{M(),k=setTimeout(()=>{O.value=null,k=void 0},300)};return p(M),(r,i)=>{let l=_(`ContextMenuItems`,!0);return m(!0),o(t,null,g(A.value,r=>(m(),o(t,{key:r.key},[r.divider?(m(),o(`div`,x)):(m(),o(`div`,{key:1,class:d([`c-context-menu__item`,r.className,{"is-disabled":r.disabled,"is-danger":r.danger}]),role:`menuitem`,tabindex:`-1`,"aria-disabled":r.disabled||void 0,"aria-haspopup":r.children?.length?`menu`:void 0,"aria-expanded":r.children?.length?O.value===r.key:void 0,onClick:b(e=>N(r),[`stop`]),onKeydown:[y(b(e=>F(r,e),[`stop`,`prevent`]),[`enter`]),y(b(e=>F(r,e),[`stop`,`prevent`]),[`space`]),y(b(e=>P(r,e),[`stop`,`prevent`]),[`arrow-right`]),i[1]||=y(b(e=>I(e),[`stop`,`prevent`]),[`arrow-left`])],onMouseenter:e=>L(r),onMouseleave:R},[r.icon?(m(),o(`span`,C,[c(e,{name:r.icon},null,8,[`name`])])):a(`v-if`,!0),s(`span`,w,v(r.label),1),r.shortcut?(m(),o(`span`,T,v(r.shortcut),1)):a(`v-if`,!0),r.children?.length?(m(),o(`span`,E,[c(e,{name:`mdi:chevron-right`})])):a(`v-if`,!0),r.children?.length&&O.value===r.key?(m(),o(`div`,{key:3,class:d([`c-context-menu c-context-menu__submenu`,`is-${n.subMenuPlacement}`]),style:f(j.value),role:`menu`},[c(l,{items:r.children,"min-width":n.minWidth,"max-width":n.maxWidth,"sub-menu-placement":n.subMenuPlacement,"z-index":n.zIndex+1,onSelect:i[0]||=e=>D(`select`,e)},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],6)):a(`v-if`,!0)],42,S))],64))),128)}}}),O={minWidth:180,maxWidth:280,subMenuPlacement:`right`,autoClose:!0,disabled:!1,zIndex:9999},k=l({name:`C_ContextMenu`,__name:`index`,props:{items:{default:()=>[]},minWidth:{default:O.minWidth},maxWidth:{default:O.maxWidth},subMenuPlacement:{default:O.subMenuPlacement},autoClose:{type:Boolean,default:O.autoClose},disabled:{type:Boolean,default:O.disabled},zIndex:{default:O.zIndex}},emits:[`select`,`open`,`close`],setup(e,{expose:s,emit:l}){let d=e,g=l,_=h(!1),v=h({x:0,y:0}),x=h(),S=null;function C(){return Array.from(x.value?.querySelectorAll(`[role="menuitem"]:not([aria-disabled="true"])`)??[])}function w(e){let t=C();(e===`first`?t[0]:t[t.length-1])?.focus()}function T(e){let t=C();if(t.length===0)return;let n=t.indexOf(document.activeElement);t[n<0?e>0?0:t.length-1:(n+e+t.length)%t.length]?.focus()}let E=r(()=>({left:`${v.value.x}px`,top:`${v.value.y}px`,minWidth:`${d.minWidth}px`,maxWidth:`${d.maxWidth}px`,zIndex:d.zIndex})),O=()=>{u(()=>{let e=x.value;if(!e)return;let t=e.getBoundingClientRect(),{innerWidth:n,innerHeight:r}=window;t.right>n&&(v.value.x=n-t.width-8),t.bottom>r&&(v.value.y=r-t.height-8),v.value.x<0&&(v.value.x=8),v.value.y<0&&(v.value.y=8)})},k=(e,t)=>{d.disabled||(_.value||(S=document.activeElement),v.value={x:Number.isFinite(e)?Math.max(0,e):0,y:Number.isFinite(t)?Math.max(0,t):0},_.value=!0,g(`open`,{...v.value}),O(),window.addEventListener(`resize`,A),window.addEventListener(`scroll`,A,!0),u(()=>w(`first`)))},A=()=>{_.value&&(_.value=!1,window.removeEventListener(`resize`,A),window.removeEventListener(`scroll`,A,!0),g(`close`),u(()=>{S?.isConnected&&S.focus(),S=null}))},j=e=>{g(`select`,e),d.autoClose&&A()};return p(()=>{window.removeEventListener(`resize`,A),window.removeEventListener(`scroll`,A,!0),_.value=!1}),s({open:k,close:A,visible:r(()=>_.value)}),(e,r)=>(m(),o(t,null,[a(` 遮罩层 `),(m(),i(n,{to:`body`},[_.value?(m(),o(`div`,{key:0,class:`c-context-menu-overlay`,style:f({zIndex:d.zIndex-1}),onClick:A,onContextmenu:b(A,[`prevent`])},null,36)):a(`v-if`,!0),a(` 菜单面板 `),_.value?(m(),o(`div`,{key:1,ref_key:`menuRef`,ref:x,class:`c-context-menu`,style:f(E.value),role:`menu`,tabindex:`-1`,onKeydown:[y(A,[`escape`]),r[0]||=y(b(e=>T(1),[`prevent`]),[`arrow-down`]),r[1]||=y(b(e=>T(-1),[`prevent`]),[`arrow-up`]),r[2]||=y(b(e=>w(`first`),[`prevent`]),[`home`]),r[3]||=y(b(e=>w(`last`),[`prevent`]),[`end`])]},[c(D,{items:d.items,"min-width":d.minWidth,"max-width":d.maxWidth,"sub-menu-placement":d.subMenuPlacement,"z-index":d.zIndex+1,onSelect:j},null,8,[`items`,`min-width`,`max-width`,`sub-menu-placement`,`z-index`])],36)):a(`v-if`,!0)]))],2112))}});export{O as n,k as t};