@sugarat/easypicker2-client 2.5.0 → 2.6.1-beta.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 (120) hide show
  1. package/dist/assets/{data-analysis-13490516.js → data-analysis-632af70e.js} +2 -2
  2. package/dist/assets/{data-analysis-13490516.js.map → data-analysis-632af70e.js.map} +1 -1
  3. package/dist/assets/{data-analysis-legacy.f8612e65.js → data-analysis-legacy.297ff95d.js} +2 -2
  4. package/dist/assets/{data-board-229a3bf5.js → data-board-4290cade.js} +2 -2
  5. package/dist/assets/{data-board-229a3bf5.js.map → data-board-4290cade.js.map} +1 -1
  6. package/dist/assets/{data-board-legacy.a60c4519.js → data-board-legacy.b3bf2f61.js} +2 -2
  7. package/dist/assets/{el-date-picker-5a3e3d86.js → el-date-picker-b3398f8f.js} +2 -2
  8. package/dist/assets/{el-date-picker-5a3e3d86.js.map → el-date-picker-b3398f8f.js.map} +1 -1
  9. package/dist/assets/{el-date-picker-legacy.6d67764b.js → el-date-picker-legacy.fd044c30.js} +2 -2
  10. package/dist/assets/{el-dialog-463960e0.js → el-dialog-c11c4af2.js} +2 -2
  11. package/dist/assets/{el-dialog-463960e0.js.map → el-dialog-c11c4af2.js.map} +1 -1
  12. package/dist/assets/{el-dialog-legacy.0bcf48a4.js → el-dialog-legacy.d2229175.js} +2 -2
  13. package/dist/assets/{el-dropdown-item-7c33f4fa.js → el-dropdown-item-3eb29c67.js} +2 -2
  14. package/dist/assets/{el-dropdown-item-7c33f4fa.js.map → el-dropdown-item-3eb29c67.js.map} +1 -1
  15. package/dist/assets/{el-dropdown-item-legacy.8625546e.js → el-dropdown-item-legacy.60575f42.js} +2 -2
  16. package/dist/assets/{el-form-item-f40006bf.js → el-form-item-fb230be3.js} +2 -2
  17. package/dist/assets/{el-form-item-f40006bf.js.map → el-form-item-fb230be3.js.map} +1 -1
  18. package/dist/assets/{el-form-item-legacy.d28db5d0.js → el-form-item-legacy.237ed4b6.js} +2 -2
  19. package/dist/assets/{el-loading-5d91bb6c.js → el-loading-e9365e7e.js} +2 -2
  20. package/dist/assets/{el-loading-5d91bb6c.js.map → el-loading-e9365e7e.js.map} +1 -1
  21. package/dist/assets/{el-loading-legacy.0f35210f.js → el-loading-legacy.8045609e.js} +2 -2
  22. package/dist/assets/{el-pagination-ffb99240.js → el-pagination-85149e11.js} +2 -2
  23. package/dist/assets/{el-pagination-ffb99240.js.map → el-pagination-85149e11.js.map} +1 -1
  24. package/dist/assets/{el-pagination-legacy.25b54e8d.js → el-pagination-legacy.02ed0149.js} +2 -2
  25. package/dist/assets/{el-progress-2fff98be.js → el-progress-b98becda.js} +2 -2
  26. package/dist/assets/{el-progress-2fff98be.js.map → el-progress-b98becda.js.map} +1 -1
  27. package/dist/assets/{el-progress-legacy.db8b5855.js → el-progress-legacy.1165db46.js} +2 -2
  28. package/dist/assets/{el-select-7d894fd0.js → el-select-2a16e5df.js} +2 -2
  29. package/dist/assets/{el-select-7d894fd0.js.map → el-select-2a16e5df.js.map} +1 -1
  30. package/dist/assets/{el-select-legacy.ad6ded5a.js → el-select-legacy.5ccdd9a4.js} +2 -2
  31. package/dist/assets/{el-switch-2eda0412.js → el-switch-abdd5a33.js} +2 -2
  32. package/dist/assets/{el-switch-2eda0412.js.map → el-switch-abdd5a33.js.map} +1 -1
  33. package/dist/assets/{el-switch-legacy.e17e7919.js → el-switch-legacy.96786863.js} +2 -2
  34. package/dist/assets/{el-tab-pane-b3156067.js → el-tab-pane-db271c8d.js} +2 -2
  35. package/dist/assets/{el-tab-pane-b3156067.js.map → el-tab-pane-db271c8d.js.map} +1 -1
  36. package/dist/assets/{el-tab-pane-legacy.2cf21031.js → el-tab-pane-legacy.143cbc33.js} +2 -2
  37. package/dist/assets/{el-table-column-22352e92.js → el-table-column-19feeab8.js} +2 -2
  38. package/dist/assets/{el-table-column-22352e92.js.map → el-table-column-19feeab8.js.map} +1 -1
  39. package/dist/assets/{el-table-column-legacy.fd665e2a.js → el-table-column-legacy.afba06f3.js} +2 -2
  40. package/dist/assets/{index-5f3a9ae0.css → index-0f83ff96.css} +1 -1
  41. package/dist/assets/{index-c61deab7.js → index-0fbe23b2.js} +2 -2
  42. package/dist/assets/index-0fbe23b2.js.map +1 -0
  43. package/dist/assets/{index-b3774417.js → index-14d600a5.js} +2 -2
  44. package/dist/assets/{index-b3774417.js.map → index-14d600a5.js.map} +1 -1
  45. package/dist/assets/index-1639ad54.js +15 -0
  46. package/dist/assets/index-1639ad54.js.map +1 -0
  47. package/dist/assets/{index-afb7d164.js → index-16b096cf.js} +2 -2
  48. package/dist/assets/{index-afb7d164.js.map → index-16b096cf.js.map} +1 -1
  49. package/dist/assets/{index-bc1a6d96.js → index-1bd2cd2e.js} +2 -2
  50. package/dist/assets/{index-bc1a6d96.js.map → index-1bd2cd2e.js.map} +1 -1
  51. package/dist/assets/{index-ca90e8da.js → index-2c76567d.js} +2 -2
  52. package/dist/assets/{index-ca90e8da.js.map → index-2c76567d.js.map} +1 -1
  53. package/dist/assets/{index-b0a4c236.js → index-43d1d27e.js} +2 -2
  54. package/dist/assets/{index-b0a4c236.js.map → index-43d1d27e.js.map} +1 -1
  55. package/dist/assets/{index-f47a54b0.js → index-488b0f9e.js} +2 -2
  56. package/dist/assets/{index-f47a54b0.js.map → index-488b0f9e.js.map} +1 -1
  57. package/dist/assets/{index-75b8c91c.js → index-4b1f55ea.js} +2 -2
  58. package/dist/assets/{index-75b8c91c.js.map → index-4b1f55ea.js.map} +1 -1
  59. package/dist/assets/{index-c840d3aa.js → index-51740dfd.js} +2 -2
  60. package/dist/assets/{index-c840d3aa.js.map → index-51740dfd.js.map} +1 -1
  61. package/dist/assets/{index-98964915.js → index-5281fad0.js} +2 -2
  62. package/dist/assets/{index-98964915.js.map → index-5281fad0.js.map} +1 -1
  63. package/dist/assets/{index-6d7ac779.js → index-68448dbd.js} +2 -2
  64. package/dist/assets/{index-6d7ac779.js.map → index-68448dbd.js.map} +1 -1
  65. package/dist/assets/{index-34bd5929.js → index-74330c06.js} +2 -2
  66. package/dist/assets/{index-34bd5929.js.map → index-74330c06.js.map} +1 -1
  67. package/dist/assets/{index-d32645f3.js → index-78a8b3c7.js} +2 -2
  68. package/dist/assets/{index-d32645f3.js.map → index-78a8b3c7.js.map} +1 -1
  69. package/dist/assets/{index-f6ffb548.js → index-9e6a9bcf.js} +2 -2
  70. package/dist/assets/{index-f6ffb548.js.map → index-9e6a9bcf.js.map} +1 -1
  71. package/dist/assets/{index-c3a1cd43.js → index-ac06071b.js} +2 -2
  72. package/dist/assets/{index-c3a1cd43.js.map → index-ac06071b.js.map} +1 -1
  73. package/dist/assets/{index-8eff6b5a.js → index-adc1b681.js} +2 -2
  74. package/dist/assets/{index-8eff6b5a.js.map → index-adc1b681.js.map} +1 -1
  75. package/dist/assets/{index-17fa8fb7.js → index-b8357360.js} +2 -2
  76. package/dist/assets/{index-17fa8fb7.js.map → index-b8357360.js.map} +1 -1
  77. package/dist/assets/{index-f298d979.js → index-d09329eb.js} +2 -2
  78. package/dist/assets/{index-f298d979.js.map → index-d09329eb.js.map} +1 -1
  79. package/dist/assets/{index-6f4c911e.js → index-f74b7eb6.js} +2 -2
  80. package/dist/assets/{index-6f4c911e.js.map → index-f74b7eb6.js.map} +1 -1
  81. package/dist/assets/{index-legacy.08663170.js → index-legacy.082ccf5b.js} +2 -2
  82. package/dist/assets/{index-legacy.5d174bde.js → index-legacy.12de1889.js} +2 -2
  83. package/dist/assets/{index-legacy.9dc57803.js → index-legacy.1796b3ef.js} +2 -2
  84. package/dist/assets/{index-legacy.1540c5bc.js → index-legacy.227978b5.js} +2 -2
  85. package/dist/assets/{index-legacy.e6994f0a.js → index-legacy.296716c3.js} +2 -2
  86. package/dist/assets/{index-legacy.e7464d3c.js → index-legacy.36482c14.js} +2 -2
  87. package/dist/assets/{index-legacy.9c4986d3.js → index-legacy.41d8801d.js} +2 -2
  88. package/dist/assets/{index-legacy.7dae3131.js → index-legacy.4b2923ee.js} +2 -2
  89. package/dist/assets/{index-legacy.1f2405e5.js → index-legacy.4c1d6eb3.js} +2 -2
  90. package/dist/assets/{index-legacy.bd5a4368.js → index-legacy.7a041259.js} +2 -2
  91. package/dist/assets/{index-legacy.45ec3501.js → index-legacy.820f4ba0.js} +2 -2
  92. package/dist/assets/{index-legacy.51740a44.js → index-legacy.8311ba4a.js} +2 -2
  93. package/dist/assets/index-legacy.9eb93981.js +18 -0
  94. package/dist/assets/{index-legacy.4f956884.js → index-legacy.a19ed25e.js} +2 -2
  95. package/dist/assets/{index-legacy.01d9320a.js → index-legacy.b8de0bf4.js} +2 -2
  96. package/dist/assets/{index-legacy.6c7021b3.js → index-legacy.e932a3d4.js} +2 -2
  97. package/dist/assets/{index-legacy.d32480a5.js → index-legacy.e96fb189.js} +2 -2
  98. package/dist/assets/{index-legacy.9f65dcb9.js → index-legacy.ec490514.js} +2 -2
  99. package/dist/assets/{index-legacy.189f20a8.js → index-legacy.ed2883a1.js} +2 -2
  100. package/dist/assets/{index-legacy.d9854cf5.js → index-legacy.f16524a6.js} +2 -2
  101. package/dist/assets/{isEqual-9c466456.js → isEqual-95d6c129.js} +2 -2
  102. package/dist/assets/{isEqual-9c466456.js.map → isEqual-95d6c129.js.map} +1 -1
  103. package/dist/assets/{isEqual-legacy.985bb619.js → isEqual-legacy.83836994.js} +2 -2
  104. package/dist/assets/{refresh-6ae903c0.js → refresh-be31af7a.js} +2 -2
  105. package/dist/assets/{refresh-6ae903c0.js.map → refresh-be31af7a.js.map} +1 -1
  106. package/dist/assets/{refresh-legacy.8092415a.js → refresh-legacy.600c5af4.js} +2 -2
  107. package/dist/assets/{tip-00ddf749.js → tip-822b05b7.js} +2 -2
  108. package/dist/assets/{tip-00ddf749.js.map → tip-822b05b7.js.map} +1 -1
  109. package/dist/assets/{tip-legacy.6e921091.js → tip-legacy.b6d754fd.js} +2 -2
  110. package/dist/assets/validator-5c60ab85.js +2 -0
  111. package/dist/assets/{validator-853854a1.js.map → validator-5c60ab85.js.map} +1 -1
  112. package/dist/assets/validator-legacy.86b93c0e.js +2 -0
  113. package/dist/index.html +3 -3
  114. package/package.json +5 -3
  115. package/dist/assets/index-62c7029f.js +0 -15
  116. package/dist/assets/index-62c7029f.js.map +0 -1
  117. package/dist/assets/index-c61deab7.js.map +0 -1
  118. package/dist/assets/index-legacy.978f90e1.js +0 -18
  119. package/dist/assets/validator-853854a1.js +0 -2
  120. package/dist/assets/validator-legacy.b34dfdfa.js +0 -2
@@ -1,2 +1,2 @@
1
- import{N as ue,d as P,Q as T,f as S,D as ge,w as M,T as B,V as Ie,be as Le,k as G,bf as Te,ak as I,bg as ee,bh as pe,bi as He,O as v,bj as We,J as Me,ah as ae,b1 as se,r as $,av as je,b8 as De,Z as ye,$ as te,ag as he,o as re,ai as Se,bk as _,I as _e,W as Ee,a6 as Re,a7 as Ve,F as xe,ay as Ce,bl as ke,aj as be,b0 as Fe,a5 as qe,b2 as Ge,bm as Ue,aS as J,bn as Je,as as Ke,am as Qe,bo as Ye,i as Be,c as W,a as j,H as le,b as U,t as Ze,Y as Xe,aC as $e,g as et,u as tt,a1 as nt,j as C,bp as ot,_ as at}from"./index-62c7029f.js";import{t as ne}from"./aria-bc8e8b0f.js";import{d as st}from"./data-analysis-13490516.js";import{d as lt}from"./data-board-229a3bf5.js";const ut={name:"ElCollapseTransition"},rt=P({...ut,setup(e){const o=T("collapse-transition"),n={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){t.dataset.oldOverflow=t.style.overflow,t.scrollHeight!==0?(t.style.maxHeight="".concat(t.scrollHeight,"px"),t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom):(t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom),t.style.overflow="hidden"},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight="".concat(t.scrollHeight,"px"),t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom}};return(t,l)=>(S(),ge(Te,Ie({name:G(o).b()},Le(n)),{default:M(()=>[B(t.$slots,"default")]),_:3},16,["name"]))}});var oe=ue(rt,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);oe.install=e=>{e.component(oe.name,oe)};const it=oe;let dt=class{constructor(o,n){this.parent=o,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(o){o===this.subMenuItems.length?o=0:o<0&&(o=this.subMenuItems.length-1),this.subMenuItems[o].focus(),this.subIndex=o}addListeners(){const o=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",t=>{let l=!1;switch(t.code){case I.down:{this.gotoSubIndex(this.subIndex+1),l=!0;break}case I.up:{this.gotoSubIndex(this.subIndex-1),l=!0;break}case I.tab:{ne(o,"mouseleave");break}case I.enter:case I.space:{l=!0,t.currentTarget.click();break}}return l&&(t.preventDefault(),t.stopPropagation()),!1})})}},ct=class{constructor(o,n){this.domNode=o,this.submenu=null,this.submenu=null,this.init(n)}init(o){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(".".concat(o,"-menu"));n&&(this.submenu=new dt(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",o=>{let n=!1;switch(o.code){case I.down:{ne(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case I.up:{ne(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case I.tab:{ne(o.currentTarget,"mouseleave");break}case I.enter:case I.space:{n=!0,o.currentTarget.click();break}}n&&o.preventDefault()})}},pt=class{constructor(o,n){this.domNode=o,this.init(n)}init(o){const n=this.domNode.childNodes;Array.from(n).forEach(t=>{t.nodeType===1&&new ct(t,o)})}};const mt=P({name:"ElMenuCollapseTransition",setup(){const e=T("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,t){ee(n,"".concat(e.namespace.value,"-opacity-transition")),n.style.opacity="1",t()},onAfterEnter(n){pe(n,"".concat(e.namespace.value,"-opacity-transition")),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),He(n,e.m("collapse"))?(pe(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ee(n,e.m("collapse"))):(ee(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),pe(n,e.m("collapse"))),n.style.width="".concat(n.scrollWidth,"px"),n.style.overflow="hidden"},onLeave(n){ee(n,"horizontal-collapse-transition"),n.style.width="".concat(n.dataset.scrollWidth,"px")}}}}});function vt(e,o,n,t,l,y){return S(),ge(Te,Ie({mode:"out-in"},e.listeners),{default:M(()=>[B(e.$slots,"default")]),_:3},16)}var ft=ue(mt,[["render",vt],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function Pe(e,o){const n=v(()=>{let l=e.parent;const y=[o.value];for(;l.type.name!=="ElMenu";)l.props.index&&y.unshift(l.props.index),l=l.parent;return y});return{parentMenu:v(()=>{let l=e.parent;for(;l&&!["ElMenu","ElSubMenu"].includes(l.type.name);)l=l.parent;return l}),indexPath:n}}function ht(e){return v(()=>{const n=e.backgroundColor;return n?new We(n).shade(20).toString():""})}const Ne=(e,o)=>{const n=T("menu");return v(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":ht(e).value||"","active-color":e.activeTextColor||"",level:"".concat(o)}))},bt=Me({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6}}),me="ElSubMenu";var we=P({name:me,props:bt,setup(e,{slots:o,expose:n}){const t=Ce(),{indexPath:l,parentMenu:y}=Pe(t,v(()=>e.index)),d=T("menu"),h=T("sub-menu"),a=ae("rootMenu");a||se(me,"can not inject root menu");const i=ae("subMenu:".concat(y.value.uid));i||se(me,"can not inject sub menu");const m=$({}),x=$({});let w;const K=$(!1),ie=$(),N=$(null),z=v(()=>c.value==="horizontal"&&L.value?"bottom-start":"right-start"),de=v(()=>c.value==="horizontal"&&L.value||c.value==="vertical"&&!a.props.collapse?je:De),L=v(()=>i.level===0),D=v(()=>e.popperAppendToBody===void 0?L.value:!!e.popperAppendToBody),Q=v(()=>a.props.collapse?"".concat(d.namespace.value,"-zoom-in-left"):"".concat(d.namespace.value,"-zoom-in-top")),R=v(()=>c.value==="horizontal"&&L.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),E=v(()=>a.openedMenus.includes(e.index)),s=v(()=>{let p=!1;return Object.values(m.value).forEach(g=>{g.active&&(p=!0)}),Object.values(x.value).forEach(g=>{g.active&&(p=!0)}),p}),u=v(()=>a.props.backgroundColor||""),r=v(()=>a.props.activeTextColor||""),b=v(()=>a.props.textColor||""),c=v(()=>a.props.mode),k=ye({index:e.index,indexPath:l,active:s}),Y=v(()=>c.value!=="horizontal"?{color:b.value}:{borderBottomColor:s.value?a.props.activeTextColor?r.value:"":"transparent",color:s.value?r.value:b.value}),Z=()=>{var p,g,f;return(f=(g=(p=N.value)==null?void 0:p.popperRef)==null?void 0:g.popperInstanceRef)==null?void 0:f.destroy()},ce=p=>{p||Z()},V=()=>{a.props.menuTrigger==="hover"&&a.props.mode==="horizontal"||a.props.collapse&&a.props.mode==="vertical"||e.disabled||a.handleSubMenuClick({index:e.index,indexPath:l.value,active:s.value})},H=(p,g=e.showTimeout)=>{var f;p.type!=="focus"&&(a.props.menuTrigger==="click"&&a.props.mode==="horizontal"||!a.props.collapse&&a.props.mode==="vertical"||e.disabled||(i.mouseInChild.value=!0,w==null||w(),{stop:w}=ke(()=>{a.openMenu(e.index,l.value)},g),D.value&&((f=y.value.vnode.el)==null||f.dispatchEvent(new MouseEvent("mouseenter")))))},F=(p=!1)=>{var g,f;a.props.menuTrigger==="click"&&a.props.mode==="horizontal"||!a.props.collapse&&a.props.mode==="vertical"||(w==null||w(),i.mouseInChild.value=!1,{stop:w}=ke(()=>!K.value&&a.closeMenu(e.index,l.value),e.hideTimeout),D.value&&p&&((g=t.parent)==null?void 0:g.type.name)==="ElSubMenu"&&((f=i.handleMouseleave)==null||f.call(i,!0)))};te(()=>a.props.collapse,p=>ce(!!p));{const p=f=>{x.value[f.index]=f},g=f=>{delete x.value[f.index]};he("subMenu:".concat(t.uid),{addSubMenu:p,removeSubMenu:g,handleMouseleave:F,mouseInChild:K,level:i.level+1})}return n({opened:E}),re(()=>{a.addSubMenu(k),i.addSubMenu(k)}),Se(()=>{i.removeSubMenu(k),a.removeSubMenu(k)}),()=>{var p;const g=[(p=o.title)==null?void 0:p.call(o),_(_e,{class:h.e("icon-arrow")},{default:()=>_(de.value)})],f=Ne(a.props,i.level+1),q=a.isMenuPopup?_(Ee,{ref:N,visible:E.value,effect:"light",pure:!0,offset:e.popperOffset,showArrow:!1,persistent:!0,popperClass:e.popperClass,placement:z.value,teleported:D.value,fallbackPlacements:R.value,transition:Q.value,gpuAcceleration:!1},{content:()=>{var A;return _("div",{class:[d.m(c.value),d.m("popup-container"),e.popperClass],onMouseenter:O=>H(O,100),onMouseleave:()=>F(!0),onFocus:O=>H(O,100)},[_("ul",{class:[d.b(),d.m("popup"),d.m("popup-".concat(z.value))],style:f.value},[(A=o.default)==null?void 0:A.call(o)])])},default:()=>_("div",{class:h.e("title"),style:[Y.value,{backgroundColor:u.value}],onClick:V},g)}):_(xe,{},[_("div",{class:h.e("title"),style:[Y.value,{backgroundColor:u.value}],ref:ie,onClick:V},g),_(it,{},{default:()=>{var A;return Re(_("ul",{role:"menu",class:[d.b(),d.m("inline")],style:f.value},[(A=o.default)==null?void 0:A.call(o)]),[[Ve,E.value]])}})]);return _("li",{class:[h.b(),h.is("active",s.value),h.is("opened",E.value),h.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:E.value,onMouseenter:H,onMouseleave:()=>F(!0),onFocus:H},[q])}}});const gt=Me({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:be(Array),default:()=>Fe([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0}}),ve=e=>Array.isArray(e)&&e.every(o=>J(o)),Mt={close:(e,o)=>J(e)&&ve(o),open:(e,o)=>J(e)&&ve(o),select:(e,o,n,t)=>J(e)&&ve(o)&&Je(n)&&(t===void 0||t instanceof Promise)};var yt=P({name:"ElMenu",props:gt,emits:Mt,setup(e,{emit:o,slots:n,expose:t}){const l=Ce(),y=l.appContext.config.globalProperties.$router,d=$(),h=T("menu"),a=T("sub-menu"),i=$(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=$(e.defaultActive),x=$({}),w=$({}),K=v(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),ie=()=>{const s=m.value&&x.value[m.value];if(!s||e.mode==="horizontal"||e.collapse)return;s.indexPath.forEach(r=>{const b=w.value[r];b&&N(r,b.indexPath)})},N=(s,u)=>{i.value.includes(s)||(e.uniqueOpened&&(i.value=i.value.filter(r=>u.includes(r))),i.value.push(s),o("open",s,u))},z=(s,u)=>{const r=i.value.indexOf(s);r!==-1&&i.value.splice(r,1),o("close",s,u)},de=({index:s,indexPath:u})=>{i.value.includes(s)?z(s,u):N(s,u)},L=s=>{(e.mode==="horizontal"||e.collapse)&&(i.value=[]);const{index:u,indexPath:r}=s;if(!(u===void 0||r===void 0))if(e.router&&y){const b=s.route||u,c=y.push(b).then(k=>(k||(m.value=u),k));o("select",u,r,{index:u,indexPath:r,route:b},c)}else m.value=u,o("select",u,r,{index:u,indexPath:r})},D=s=>{const u=x.value,r=u[s]||m.value&&u[m.value]||u[e.defaultActive];r?m.value=r.index:m.value=s},Q=()=>{Ke(()=>l.proxy.$forceUpdate())};te(()=>e.defaultActive,s=>{x.value[s]||(m.value=""),D(s)}),te(()=>e.collapse,s=>{s&&(i.value=[])}),te(x.value,ie);let R;qe(()=>{e.mode==="horizontal"&&e.ellipsis?R=Ge(d,Q).stop:R==null||R()});{const s=c=>{w.value[c.index]=c},u=c=>{delete w.value[c.index]};he("rootMenu",ye({props:e,openedMenus:i,items:x,subMenus:w,activeIndex:m,isMenuPopup:K,addMenuItem:c=>{x.value[c.index]=c},removeMenuItem:c=>{delete x.value[c.index]},addSubMenu:s,removeSubMenu:u,openMenu:N,closeMenu:z,handleMenuItemClick:L,handleSubMenuClick:de})),he("subMenu:".concat(l.uid),{addSubMenu:s,removeSubMenu:u,mouseInChild:$(!1),level:0})}re(()=>{e.mode==="horizontal"&&new pt(l.vnode.el,h.namespace.value)}),t({open:u=>{const{indexPath:r}=w.value[u];r.forEach(b=>N(b,r))},close:z,handleResize:Q});const E=s=>{const u=Array.isArray(s)?s:[s],r=[];return u.forEach(b=>{Array.isArray(b.children)?r.push(...E(b.children)):r.push(b)}),r};return()=>{var s,u,r,b;let c=(u=(s=n.default)==null?void 0:s.call(n))!=null?u:[];const k=[];if(e.mode==="horizontal"&&d.value){const ce=Array.from((b=(r=d.value)==null?void 0:r.childNodes)!=null?b:[]).filter(X=>X.nodeName!=="#text"||X.nodeValue),V=E(c),H=64,F=Number.parseInt(getComputedStyle(d.value).paddingLeft,10),p=Number.parseInt(getComputedStyle(d.value).paddingRight,10),g=d.value.clientWidth-F-p;let f=0,q=0;ce.forEach((X,ze)=>{f+=X.offsetWidth||0,f<=g-H&&(q=ze+1)});const A=V.slice(0,q),O=V.slice(q);O!=null&&O.length&&e.ellipsis&&(c=A,k.push(_(we,{index:"sub-menu-more",class:a.e("hide-arrow")},{title:()=>_(_e,{class:a.e("icon-more")},{default:()=>_(Ue)}),default:()=>O})))}const Y=Ne(e,0),Z=_("ul",{key:String(e.collapse),role:"menubar",ref:d,style:Y.value,class:{[h.b()]:!0,[h.m(e.mode)]:!0,[h.m("collapse")]:e.collapse}},[...c,...k]);return e.collapseTransition&&e.mode==="vertical"?_(ft,()=>Z):Z}}});const _t=Me({index:{type:be([String,null]),default:null},route:{type:be([String,Object])},disabled:Boolean}),xt={click:e=>J(e.index)&&Array.isArray(e.indexPath)},fe="ElMenuItem",Ct=P({name:fe,components:{ElTooltip:Ee},props:_t,emits:xt,setup(e,{emit:o}){const n=Ce(),t=ae("rootMenu"),l=T("menu"),y=T("menu-item");t||se(fe,"can not inject root menu");const{parentMenu:d,indexPath:h}=Pe(n,Qe(e,"index")),a=ae("subMenu:".concat(d.value.uid));a||se(fe,"can not inject sub menu");const i=v(()=>e.index===t.activeIndex),m=ye({index:e.index,indexPath:h,active:i}),x=()=>{e.disabled||(t.handleMenuItemClick({index:e.index,indexPath:h.value,route:e.route}),o("click",m))};return re(()=>{a.addSubMenu(m),t.addMenuItem(m)}),Se(()=>{a.removeSubMenu(m),t.removeMenuItem(m)}),{Effect:Ye,parentMenu:d,rootMenu:t,active:i,nsMenu:l,nsMenuItem:y,handleClick:x}}});function $t(e,o,n,t,l,y){const d=Be("el-tooltip");return S(),W("li",{class:le([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:o[0]||(o[0]=(...h)=>e.handleClick&&e.handleClick(...h))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(S(),ge(d,{key:0,effect:e.Effect.DARK,placement:"right","fallback-placements":["left"],persistent:""},{content:M(()=>[B(e.$slots,"title")]),default:M(()=>[j("div",{class:le(e.nsMenu.be("tooltip","trigger"))},[B(e.$slots,"default")],2)]),_:3},8,["effect"])):(S(),W(xe,{key:1},[B(e.$slots,"default"),B(e.$slots,"title")],64))],2)}var Ae=ue(Ct,[["render",$t],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const wt={title:String},kt="ElMenuItemGroup",It=P({name:kt,props:wt,setup(){return{ns:T("menu-item-group")}}});function Tt(e,o,n,t,l,y){return S(),W("li",{class:le(e.ns.b())},[j("div",{class:le(e.ns.e("title"))},[e.$slots.title?B(e.$slots,"title",{key:1}):(S(),W(xe,{key:0},[U(Ze(e.title),1)],64))],2),j("ul",null,[B(e.$slots,"default")])],2)}var Oe=ue(It,[["render",Tt],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const St=Xe(yt,{MenuItem:Ae,MenuItemGroup:Oe,SubMenu:we}),Et=$e(Ae);$e(Oe);$e(we);const Bt=P({name:"Setting"}),Pt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nt=j("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z"},null,-1),At=[Nt];function Ot(e,o,n,t,l,y){return S(),W("svg",Pt,At)}var zt=et(Bt,[["render",Ot]]);const Lt={class:"monitor"},Ht={class:"navs"},Wt={class:"container"},jt=P({__name:"index",setup(e){const o=$("overview"),n=$(!1),t=tt(),l=nt(),y=d=>{l.path.endsWith(d)||t.replace({path:d})};return re(()=>{const d=l.path.split("/").slice(-1)[0];o.value=d}),(d,h)=>{const a=_e,i=Et,m=St,x=Be("router-view");return S(),W("div",Lt,[j("div",Ht,[C(m,{"default-active":o.value,class:"el-menu-nav",collapse:n.value,onSelect:y},{default:M(()=>[C(i,{index:"overview"},{title:M(()=>[U("概况")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(st))]),_:1})]),_:1}),C(i,{index:"user"},{title:M(()=>[U("用户")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(ot))]),_:1})]),_:1}),C(i,{index:"wish"},{title:M(()=>[U("需求")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(lt))]),_:1})]),_:1}),C(i,{index:"config"},{title:M(()=>[U("配置")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(zt))]),_:1})]),_:1})]),_:1},8,["default-active","collapse"])]),j("div",Wt,[C(x)])])}}});const Jt=at(jt,[["__scopeId","data-v-67f8ea8e"]]);export{Jt as default};
2
- //# sourceMappingURL=index-d32645f3.js.map
1
+ import{N as ue,d as P,Q as T,f as S,D as ge,w as M,T as B,V as Ie,be as Le,k as G,bf as Te,ak as I,bg as ee,bh as pe,bi as He,O as v,bj as We,J as Me,ah as ae,b1 as se,r as $,av as je,b8 as De,Z as ye,$ as te,ag as he,o as re,ai as Se,bk as _,I as _e,W as Ee,a6 as Re,a7 as Ve,F as xe,ay as Ce,bl as ke,aj as be,b0 as Fe,a5 as qe,b2 as Ge,bm as Ue,aS as J,bn as Je,as as Ke,am as Qe,bo as Ye,i as Be,c as W,a as j,H as le,b as U,t as Ze,Y as Xe,aC as $e,g as et,u as tt,a1 as nt,j as C,bp as ot,_ as at}from"./index-1639ad54.js";import{t as ne}from"./aria-bc8e8b0f.js";import{d as st}from"./data-analysis-632af70e.js";import{d as lt}from"./data-board-4290cade.js";const ut={name:"ElCollapseTransition"},rt=P({...ut,setup(e){const o=T("collapse-transition"),n={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0},enter(t){t.dataset.oldOverflow=t.style.overflow,t.scrollHeight!==0?(t.style.maxHeight="".concat(t.scrollHeight,"px"),t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom):(t.style.maxHeight=0,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom),t.style.overflow="hidden"},afterEnter(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingBottom=t.style.paddingBottom,t.dataset.oldOverflow=t.style.overflow,t.style.maxHeight="".concat(t.scrollHeight,"px"),t.style.overflow="hidden"},leave(t){t.scrollHeight!==0&&(t.style.maxHeight=0,t.style.paddingTop=0,t.style.paddingBottom=0)},afterLeave(t){t.style.maxHeight="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingTop=t.dataset.oldPaddingTop,t.style.paddingBottom=t.dataset.oldPaddingBottom}};return(t,l)=>(S(),ge(Te,Ie({name:G(o).b()},Le(n)),{default:M(()=>[B(t.$slots,"default")]),_:3},16,["name"]))}});var oe=ue(rt,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);oe.install=e=>{e.component(oe.name,oe)};const it=oe;let dt=class{constructor(o,n){this.parent=o,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(o){o===this.subMenuItems.length?o=0:o<0&&(o=this.subMenuItems.length-1),this.subMenuItems[o].focus(),this.subIndex=o}addListeners(){const o=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",t=>{let l=!1;switch(t.code){case I.down:{this.gotoSubIndex(this.subIndex+1),l=!0;break}case I.up:{this.gotoSubIndex(this.subIndex-1),l=!0;break}case I.tab:{ne(o,"mouseleave");break}case I.enter:case I.space:{l=!0,t.currentTarget.click();break}}return l&&(t.preventDefault(),t.stopPropagation()),!1})})}},ct=class{constructor(o,n){this.domNode=o,this.submenu=null,this.submenu=null,this.init(n)}init(o){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(".".concat(o,"-menu"));n&&(this.submenu=new dt(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",o=>{let n=!1;switch(o.code){case I.down:{ne(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case I.up:{ne(o.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case I.tab:{ne(o.currentTarget,"mouseleave");break}case I.enter:case I.space:{n=!0,o.currentTarget.click();break}}n&&o.preventDefault()})}},pt=class{constructor(o,n){this.domNode=o,this.init(n)}init(o){const n=this.domNode.childNodes;Array.from(n).forEach(t=>{t.nodeType===1&&new ct(t,o)})}};const mt=P({name:"ElMenuCollapseTransition",setup(){const e=T("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,t){ee(n,"".concat(e.namespace.value,"-opacity-transition")),n.style.opacity="1",t()},onAfterEnter(n){pe(n,"".concat(e.namespace.value,"-opacity-transition")),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),He(n,e.m("collapse"))?(pe(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),ee(n,e.m("collapse"))):(ee(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),pe(n,e.m("collapse"))),n.style.width="".concat(n.scrollWidth,"px"),n.style.overflow="hidden"},onLeave(n){ee(n,"horizontal-collapse-transition"),n.style.width="".concat(n.dataset.scrollWidth,"px")}}}}});function vt(e,o,n,t,l,y){return S(),ge(Te,Ie({mode:"out-in"},e.listeners),{default:M(()=>[B(e.$slots,"default")]),_:3},16)}var ft=ue(mt,[["render",vt],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function Pe(e,o){const n=v(()=>{let l=e.parent;const y=[o.value];for(;l.type.name!=="ElMenu";)l.props.index&&y.unshift(l.props.index),l=l.parent;return y});return{parentMenu:v(()=>{let l=e.parent;for(;l&&!["ElMenu","ElSubMenu"].includes(l.type.name);)l=l.parent;return l}),indexPath:n}}function ht(e){return v(()=>{const n=e.backgroundColor;return n?new We(n).shade(20).toString():""})}const Ne=(e,o)=>{const n=T("menu");return v(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":ht(e).value||"","active-color":e.activeTextColor||"",level:"".concat(o)}))},bt=Me({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6}}),me="ElSubMenu";var we=P({name:me,props:bt,setup(e,{slots:o,expose:n}){const t=Ce(),{indexPath:l,parentMenu:y}=Pe(t,v(()=>e.index)),d=T("menu"),h=T("sub-menu"),a=ae("rootMenu");a||se(me,"can not inject root menu");const i=ae("subMenu:".concat(y.value.uid));i||se(me,"can not inject sub menu");const m=$({}),x=$({});let w;const K=$(!1),ie=$(),N=$(null),z=v(()=>c.value==="horizontal"&&L.value?"bottom-start":"right-start"),de=v(()=>c.value==="horizontal"&&L.value||c.value==="vertical"&&!a.props.collapse?je:De),L=v(()=>i.level===0),D=v(()=>e.popperAppendToBody===void 0?L.value:!!e.popperAppendToBody),Q=v(()=>a.props.collapse?"".concat(d.namespace.value,"-zoom-in-left"):"".concat(d.namespace.value,"-zoom-in-top")),R=v(()=>c.value==="horizontal"&&L.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),E=v(()=>a.openedMenus.includes(e.index)),s=v(()=>{let p=!1;return Object.values(m.value).forEach(g=>{g.active&&(p=!0)}),Object.values(x.value).forEach(g=>{g.active&&(p=!0)}),p}),u=v(()=>a.props.backgroundColor||""),r=v(()=>a.props.activeTextColor||""),b=v(()=>a.props.textColor||""),c=v(()=>a.props.mode),k=ye({index:e.index,indexPath:l,active:s}),Y=v(()=>c.value!=="horizontal"?{color:b.value}:{borderBottomColor:s.value?a.props.activeTextColor?r.value:"":"transparent",color:s.value?r.value:b.value}),Z=()=>{var p,g,f;return(f=(g=(p=N.value)==null?void 0:p.popperRef)==null?void 0:g.popperInstanceRef)==null?void 0:f.destroy()},ce=p=>{p||Z()},V=()=>{a.props.menuTrigger==="hover"&&a.props.mode==="horizontal"||a.props.collapse&&a.props.mode==="vertical"||e.disabled||a.handleSubMenuClick({index:e.index,indexPath:l.value,active:s.value})},H=(p,g=e.showTimeout)=>{var f;p.type!=="focus"&&(a.props.menuTrigger==="click"&&a.props.mode==="horizontal"||!a.props.collapse&&a.props.mode==="vertical"||e.disabled||(i.mouseInChild.value=!0,w==null||w(),{stop:w}=ke(()=>{a.openMenu(e.index,l.value)},g),D.value&&((f=y.value.vnode.el)==null||f.dispatchEvent(new MouseEvent("mouseenter")))))},F=(p=!1)=>{var g,f;a.props.menuTrigger==="click"&&a.props.mode==="horizontal"||!a.props.collapse&&a.props.mode==="vertical"||(w==null||w(),i.mouseInChild.value=!1,{stop:w}=ke(()=>!K.value&&a.closeMenu(e.index,l.value),e.hideTimeout),D.value&&p&&((g=t.parent)==null?void 0:g.type.name)==="ElSubMenu"&&((f=i.handleMouseleave)==null||f.call(i,!0)))};te(()=>a.props.collapse,p=>ce(!!p));{const p=f=>{x.value[f.index]=f},g=f=>{delete x.value[f.index]};he("subMenu:".concat(t.uid),{addSubMenu:p,removeSubMenu:g,handleMouseleave:F,mouseInChild:K,level:i.level+1})}return n({opened:E}),re(()=>{a.addSubMenu(k),i.addSubMenu(k)}),Se(()=>{i.removeSubMenu(k),a.removeSubMenu(k)}),()=>{var p;const g=[(p=o.title)==null?void 0:p.call(o),_(_e,{class:h.e("icon-arrow")},{default:()=>_(de.value)})],f=Ne(a.props,i.level+1),q=a.isMenuPopup?_(Ee,{ref:N,visible:E.value,effect:"light",pure:!0,offset:e.popperOffset,showArrow:!1,persistent:!0,popperClass:e.popperClass,placement:z.value,teleported:D.value,fallbackPlacements:R.value,transition:Q.value,gpuAcceleration:!1},{content:()=>{var A;return _("div",{class:[d.m(c.value),d.m("popup-container"),e.popperClass],onMouseenter:O=>H(O,100),onMouseleave:()=>F(!0),onFocus:O=>H(O,100)},[_("ul",{class:[d.b(),d.m("popup"),d.m("popup-".concat(z.value))],style:f.value},[(A=o.default)==null?void 0:A.call(o)])])},default:()=>_("div",{class:h.e("title"),style:[Y.value,{backgroundColor:u.value}],onClick:V},g)}):_(xe,{},[_("div",{class:h.e("title"),style:[Y.value,{backgroundColor:u.value}],ref:ie,onClick:V},g),_(it,{},{default:()=>{var A;return Re(_("ul",{role:"menu",class:[d.b(),d.m("inline")],style:f.value},[(A=o.default)==null?void 0:A.call(o)]),[[Ve,E.value]])}})]);return _("li",{class:[h.b(),h.is("active",s.value),h.is("opened",E.value),h.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:E.value,onMouseenter:H,onMouseleave:()=>F(!0),onFocus:H},[q])}}});const gt=Me({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:be(Array),default:()=>Fe([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0}}),ve=e=>Array.isArray(e)&&e.every(o=>J(o)),Mt={close:(e,o)=>J(e)&&ve(o),open:(e,o)=>J(e)&&ve(o),select:(e,o,n,t)=>J(e)&&ve(o)&&Je(n)&&(t===void 0||t instanceof Promise)};var yt=P({name:"ElMenu",props:gt,emits:Mt,setup(e,{emit:o,slots:n,expose:t}){const l=Ce(),y=l.appContext.config.globalProperties.$router,d=$(),h=T("menu"),a=T("sub-menu"),i=$(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=$(e.defaultActive),x=$({}),w=$({}),K=v(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),ie=()=>{const s=m.value&&x.value[m.value];if(!s||e.mode==="horizontal"||e.collapse)return;s.indexPath.forEach(r=>{const b=w.value[r];b&&N(r,b.indexPath)})},N=(s,u)=>{i.value.includes(s)||(e.uniqueOpened&&(i.value=i.value.filter(r=>u.includes(r))),i.value.push(s),o("open",s,u))},z=(s,u)=>{const r=i.value.indexOf(s);r!==-1&&i.value.splice(r,1),o("close",s,u)},de=({index:s,indexPath:u})=>{i.value.includes(s)?z(s,u):N(s,u)},L=s=>{(e.mode==="horizontal"||e.collapse)&&(i.value=[]);const{index:u,indexPath:r}=s;if(!(u===void 0||r===void 0))if(e.router&&y){const b=s.route||u,c=y.push(b).then(k=>(k||(m.value=u),k));o("select",u,r,{index:u,indexPath:r,route:b},c)}else m.value=u,o("select",u,r,{index:u,indexPath:r})},D=s=>{const u=x.value,r=u[s]||m.value&&u[m.value]||u[e.defaultActive];r?m.value=r.index:m.value=s},Q=()=>{Ke(()=>l.proxy.$forceUpdate())};te(()=>e.defaultActive,s=>{x.value[s]||(m.value=""),D(s)}),te(()=>e.collapse,s=>{s&&(i.value=[])}),te(x.value,ie);let R;qe(()=>{e.mode==="horizontal"&&e.ellipsis?R=Ge(d,Q).stop:R==null||R()});{const s=c=>{w.value[c.index]=c},u=c=>{delete w.value[c.index]};he("rootMenu",ye({props:e,openedMenus:i,items:x,subMenus:w,activeIndex:m,isMenuPopup:K,addMenuItem:c=>{x.value[c.index]=c},removeMenuItem:c=>{delete x.value[c.index]},addSubMenu:s,removeSubMenu:u,openMenu:N,closeMenu:z,handleMenuItemClick:L,handleSubMenuClick:de})),he("subMenu:".concat(l.uid),{addSubMenu:s,removeSubMenu:u,mouseInChild:$(!1),level:0})}re(()=>{e.mode==="horizontal"&&new pt(l.vnode.el,h.namespace.value)}),t({open:u=>{const{indexPath:r}=w.value[u];r.forEach(b=>N(b,r))},close:z,handleResize:Q});const E=s=>{const u=Array.isArray(s)?s:[s],r=[];return u.forEach(b=>{Array.isArray(b.children)?r.push(...E(b.children)):r.push(b)}),r};return()=>{var s,u,r,b;let c=(u=(s=n.default)==null?void 0:s.call(n))!=null?u:[];const k=[];if(e.mode==="horizontal"&&d.value){const ce=Array.from((b=(r=d.value)==null?void 0:r.childNodes)!=null?b:[]).filter(X=>X.nodeName!=="#text"||X.nodeValue),V=E(c),H=64,F=Number.parseInt(getComputedStyle(d.value).paddingLeft,10),p=Number.parseInt(getComputedStyle(d.value).paddingRight,10),g=d.value.clientWidth-F-p;let f=0,q=0;ce.forEach((X,ze)=>{f+=X.offsetWidth||0,f<=g-H&&(q=ze+1)});const A=V.slice(0,q),O=V.slice(q);O!=null&&O.length&&e.ellipsis&&(c=A,k.push(_(we,{index:"sub-menu-more",class:a.e("hide-arrow")},{title:()=>_(_e,{class:a.e("icon-more")},{default:()=>_(Ue)}),default:()=>O})))}const Y=Ne(e,0),Z=_("ul",{key:String(e.collapse),role:"menubar",ref:d,style:Y.value,class:{[h.b()]:!0,[h.m(e.mode)]:!0,[h.m("collapse")]:e.collapse}},[...c,...k]);return e.collapseTransition&&e.mode==="vertical"?_(ft,()=>Z):Z}}});const _t=Me({index:{type:be([String,null]),default:null},route:{type:be([String,Object])},disabled:Boolean}),xt={click:e=>J(e.index)&&Array.isArray(e.indexPath)},fe="ElMenuItem",Ct=P({name:fe,components:{ElTooltip:Ee},props:_t,emits:xt,setup(e,{emit:o}){const n=Ce(),t=ae("rootMenu"),l=T("menu"),y=T("menu-item");t||se(fe,"can not inject root menu");const{parentMenu:d,indexPath:h}=Pe(n,Qe(e,"index")),a=ae("subMenu:".concat(d.value.uid));a||se(fe,"can not inject sub menu");const i=v(()=>e.index===t.activeIndex),m=ye({index:e.index,indexPath:h,active:i}),x=()=>{e.disabled||(t.handleMenuItemClick({index:e.index,indexPath:h.value,route:e.route}),o("click",m))};return re(()=>{a.addSubMenu(m),t.addMenuItem(m)}),Se(()=>{a.removeSubMenu(m),t.removeMenuItem(m)}),{Effect:Ye,parentMenu:d,rootMenu:t,active:i,nsMenu:l,nsMenuItem:y,handleClick:x}}});function $t(e,o,n,t,l,y){const d=Be("el-tooltip");return S(),W("li",{class:le([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:o[0]||(o[0]=(...h)=>e.handleClick&&e.handleClick(...h))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(S(),ge(d,{key:0,effect:e.Effect.DARK,placement:"right","fallback-placements":["left"],persistent:""},{content:M(()=>[B(e.$slots,"title")]),default:M(()=>[j("div",{class:le(e.nsMenu.be("tooltip","trigger"))},[B(e.$slots,"default")],2)]),_:3},8,["effect"])):(S(),W(xe,{key:1},[B(e.$slots,"default"),B(e.$slots,"title")],64))],2)}var Ae=ue(Ct,[["render",$t],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const wt={title:String},kt="ElMenuItemGroup",It=P({name:kt,props:wt,setup(){return{ns:T("menu-item-group")}}});function Tt(e,o,n,t,l,y){return S(),W("li",{class:le(e.ns.b())},[j("div",{class:le(e.ns.e("title"))},[e.$slots.title?B(e.$slots,"title",{key:1}):(S(),W(xe,{key:0},[U(Ze(e.title),1)],64))],2),j("ul",null,[B(e.$slots,"default")])],2)}var Oe=ue(It,[["render",Tt],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const St=Xe(yt,{MenuItem:Ae,MenuItemGroup:Oe,SubMenu:we}),Et=$e(Ae);$e(Oe);$e(we);const Bt=P({name:"Setting"}),Pt={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nt=j("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z"},null,-1),At=[Nt];function Ot(e,o,n,t,l,y){return S(),W("svg",Pt,At)}var zt=et(Bt,[["render",Ot]]);const Lt={class:"monitor"},Ht={class:"navs"},Wt={class:"container"},jt=P({__name:"index",setup(e){const o=$("overview"),n=$(!1),t=tt(),l=nt(),y=d=>{l.path.endsWith(d)||t.replace({path:d})};return re(()=>{const d=l.path.split("/").slice(-1)[0];o.value=d}),(d,h)=>{const a=_e,i=Et,m=St,x=Be("router-view");return S(),W("div",Lt,[j("div",Ht,[C(m,{"default-active":o.value,class:"el-menu-nav",collapse:n.value,onSelect:y},{default:M(()=>[C(i,{index:"overview"},{title:M(()=>[U("概况")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(st))]),_:1})]),_:1}),C(i,{index:"user"},{title:M(()=>[U("用户")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(ot))]),_:1})]),_:1}),C(i,{index:"wish"},{title:M(()=>[U("需求")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(lt))]),_:1})]),_:1}),C(i,{index:"config"},{title:M(()=>[U("配置")]),default:M(()=>[C(a,null,{default:M(()=>[C(G(zt))]),_:1})]),_:1})]),_:1},8,["default-active","collapse"])]),j("div",Wt,[C(x)])])}}});const Jt=at(jt,[["__scopeId","data-v-67f8ea8e"]]);export{Jt as default};
2
+ //# sourceMappingURL=index-78a8b3c7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-d32645f3.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/collapse-transition/src/collapse-transition.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/collapse-transition/index.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/utils/submenu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/utils/menu-item.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/utils/menu-bar.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-collapse-transition.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/use-menu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/use-menu-color.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/use-menu-css-var.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/sub-menu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item-group.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item-group2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/index.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/setting.mjs","../../src/pages/dashboard/manage/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createBlock, Transition, mergeProps, unref, toHandlers, withCtx, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst __default__ = {\n name: \"ElCollapseTransition\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n setup(__props) {\n const ns = useNamespace(\"collapse-transition\");\n const on = {\n beforeEnter(el) {\n if (!el.dataset)\n el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n },\n enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.maxHeight = 0;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n el.style.overflow = \"hidden\";\n },\n afterEnter(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n },\n beforeLeave(el) {\n if (!el.dataset)\n el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.overflow = \"hidden\";\n },\n leave(el) {\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n },\n afterLeave(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createBlock(Transition, mergeProps({\n name: unref(ns).b()\n }, toHandlers(on)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"name\"]);\n };\n }\n});\nvar CollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue\"]]);\n\nexport { CollapseTransition as default };\n//# sourceMappingURL=collapse-transition.mjs.map\n","import CollapseTransition from './src/collapse-transition.mjs';\n\nCollapseTransition.install = (app) => {\n app.component(CollapseTransition.name, CollapseTransition);\n};\nconst _CollapseTransition = CollapseTransition;\nconst ElCollapseTransition = _CollapseTransition;\n\nexport { ElCollapseTransition, _CollapseTransition as default };\n//# sourceMappingURL=index.mjs.map\n","import '../../../../utils/index.mjs';\nimport '../../../../constants/index.mjs';\nimport { EVENT_CODE } from '../../../../constants/aria.mjs';\nimport { triggerEvent } from '../../../../utils/dom/aria.mjs';\n\nclass SubMenu {\n constructor(parent, domNode) {\n this.parent = parent;\n this.domNode = domNode;\n this.subIndex = 0;\n this.subIndex = 0;\n this.init();\n }\n init() {\n this.subMenuItems = this.domNode.querySelectorAll(\"li\");\n this.addListeners();\n }\n gotoSubIndex(idx) {\n if (idx === this.subMenuItems.length) {\n idx = 0;\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1;\n }\n ;\n this.subMenuItems[idx].focus();\n this.subIndex = idx;\n }\n addListeners() {\n const parentNode = this.parent.domNode;\n Array.prototype.forEach.call(this.subMenuItems, (el) => {\n el.addEventListener(\"keydown\", (event) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n this.gotoSubIndex(this.subIndex + 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n this.gotoSubIndex(this.subIndex - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(parentNode, \"mouseleave\");\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n event.currentTarget.click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n event.stopPropagation();\n }\n return false;\n });\n });\n }\n}\n\nexport { SubMenu as default };\n//# sourceMappingURL=submenu.mjs.map\n","import '../../../../utils/index.mjs';\nimport '../../../../constants/index.mjs';\nimport SubMenu from './submenu.mjs';\nimport { EVENT_CODE } from '../../../../constants/aria.mjs';\nimport { triggerEvent } from '../../../../utils/dom/aria.mjs';\n\nclass MenuItem {\n constructor(domNode, namespace) {\n this.domNode = domNode;\n this.submenu = null;\n this.submenu = null;\n this.init(namespace);\n }\n init(namespace) {\n this.domNode.setAttribute(\"tabindex\", \"0\");\n const menuChild = this.domNode.querySelector(`.${namespace}-menu`);\n if (menuChild) {\n this.submenu = new SubMenu(this, menuChild);\n }\n this.addListeners();\n }\n addListeners() {\n this.domNode.addEventListener(\"keydown\", (event) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n triggerEvent(event.currentTarget, \"mouseenter\");\n this.submenu && this.submenu.gotoSubIndex(0);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n triggerEvent(event.currentTarget, \"mouseenter\");\n this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(event.currentTarget, \"mouseleave\");\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n event.currentTarget.click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n }\n });\n }\n}\n\nexport { MenuItem as default };\n//# sourceMappingURL=menu-item.mjs.map\n","import MenuItem from './menu-item.mjs';\n\nclass Menu {\n constructor(domNode, namespace) {\n this.domNode = domNode;\n this.init(namespace);\n }\n init(namespace) {\n const menuChildren = this.domNode.childNodes;\n Array.from(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child, namespace);\n }\n });\n }\n}\n\nexport { Menu as default };\n//# sourceMappingURL=menu-bar.mjs.map\n","import { defineComponent, openBlock, createBlock, Transition, mergeProps, withCtx, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport '../../../utils/index.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { addClass, removeClass, hasClass } from '../../../utils/dom/style.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"ElMenuCollapseTransition\",\n setup() {\n const ns = useNamespace(\"menu\");\n const listeners = {\n onBeforeEnter: (el) => el.style.opacity = \"0.2\",\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = \"1\";\n done();\n },\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = \"\";\n },\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;\n el.dataset = {};\n }\n if (hasClass(el, ns.m(\"collapse\"))) {\n removeClass(el, ns.m(\"collapse\"));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m(\"collapse\"));\n } else {\n addClass(el, ns.m(\"collapse\"));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m(\"collapse\"));\n }\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = \"hidden\";\n },\n onLeave(el) {\n addClass(el, \"horizontal-collapse-transition\");\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n };\n return {\n listeners\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(Transition, mergeProps({ mode: \"out-in\" }, _ctx.listeners), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n}\nvar ElMenuCollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue\"]]);\n\nexport { ElMenuCollapseTransition as default };\n//# sourceMappingURL=menu-collapse-transition.mjs.map\n","import { computed } from 'vue';\n\nfunction useMenu(instance, currentIndex) {\n const indexPath = computed(() => {\n let parent = instance.parent;\n const path = [currentIndex.value];\n while (parent.type.name !== \"ElMenu\") {\n if (parent.props.index) {\n path.unshift(parent.props.index);\n }\n parent = parent.parent;\n }\n return path;\n });\n const parentMenu = computed(() => {\n let parent = instance.parent;\n while (parent && ![\"ElMenu\", \"ElSubMenu\"].includes(parent.type.name)) {\n parent = parent.parent;\n }\n return parent;\n });\n return {\n parentMenu,\n indexPath\n };\n}\n\nexport { useMenu as default };\n//# sourceMappingURL=use-menu.mjs.map\n","import { computed } from 'vue';\nimport { TinyColor } from '@ctrl/tinycolor';\n\nfunction useMenuColor(props) {\n const menuBarColor = computed(() => {\n const color = props.backgroundColor;\n if (!color) {\n return \"\";\n } else {\n return new TinyColor(color).shade(20).toString();\n }\n });\n return menuBarColor;\n}\n\nexport { useMenuColor as default };\n//# sourceMappingURL=use-menu-color.mjs.map\n","import { computed } from 'vue';\nimport '../../../hooks/index.mjs';\nimport useMenuColor from './use-menu-color.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst useMenuCssVar = (props, level) => {\n const ns = useNamespace(\"menu\");\n return computed(() => {\n return ns.cssVarBlock({\n \"text-color\": props.textColor || \"\",\n \"hover-text-color\": props.textColor || \"\",\n \"bg-color\": props.backgroundColor || \"\",\n \"hover-bg-color\": useMenuColor(props).value || \"\",\n \"active-color\": props.activeTextColor || \"\",\n level: `${level}`\n });\n });\n};\n\nexport { useMenuCssVar };\n//# sourceMappingURL=use-menu-css-var.mjs.map\n","import { defineComponent, getCurrentInstance, computed, inject, ref, reactive, watch, provide, onMounted, onBeforeUnmount, h, Fragment, withDirectives, vShow } from 'vue';\nimport { useTimeoutFn } from '@vueuse/core';\nimport _CollapseTransition from '../../collapse-transition/index.mjs';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport useMenu from './use-menu.mjs';\nimport { useMenuCssVar } from './use-menu-css-var.mjs';\nimport { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { throwError } from '../../../utils/error.mjs';\n\nconst subMenuProps = buildProps({\n index: {\n type: String,\n required: true\n },\n showTimeout: {\n type: Number,\n default: 300\n },\n hideTimeout: {\n type: Number,\n default: 300\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: void 0\n },\n popperOffset: {\n type: Number,\n default: 6\n }\n});\nconst COMPONENT_NAME = \"ElSubMenu\";\nvar SubMenu = defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance();\n const { indexPath, parentMenu } = useMenu(instance, computed(() => props.index));\n const nsMenu = useNamespace(\"menu\");\n const nsSubMenu = useNamespace(\"sub-menu\");\n const rootMenu = inject(\"rootMenu\");\n if (!rootMenu)\n throwError(COMPONENT_NAME, \"can not inject root menu\");\n const subMenu = inject(`subMenu:${parentMenu.value.uid}`);\n if (!subMenu)\n throwError(COMPONENT_NAME, \"can not inject sub menu\");\n const items = ref({});\n const subMenus = ref({});\n let timeout;\n const mouseInChild = ref(false);\n const verticalTitleRef = ref();\n const vPopper = ref(null);\n const currentPlacement = computed(() => mode.value === \"horizontal\" && isFirstLevel.value ? \"bottom-start\" : \"right-start\");\n const subMenuTitleIcon = computed(() => {\n return mode.value === \"horizontal\" && isFirstLevel.value || mode.value === \"vertical\" && !rootMenu.props.collapse ? ArrowDown : ArrowRight;\n });\n const isFirstLevel = computed(() => {\n return subMenu.level === 0;\n });\n const appendToBody = computed(() => {\n return props.popperAppendToBody === void 0 ? isFirstLevel.value : Boolean(props.popperAppendToBody);\n });\n const menuTransitionName = computed(() => rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`);\n const fallbackPlacements = computed(() => mode.value === \"horizontal\" && isFirstLevel.value ? [\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"left-start\"\n ] : [\n \"right-start\",\n \"left-start\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\"\n ]);\n const opened = computed(() => rootMenu.openedMenus.includes(props.index));\n const active = computed(() => {\n let isActive = false;\n Object.values(items.value).forEach((item2) => {\n if (item2.active) {\n isActive = true;\n }\n });\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true;\n }\n });\n return isActive;\n });\n const backgroundColor = computed(() => rootMenu.props.backgroundColor || \"\");\n const activeTextColor = computed(() => rootMenu.props.activeTextColor || \"\");\n const textColor = computed(() => rootMenu.props.textColor || \"\");\n const mode = computed(() => rootMenu.props.mode);\n const item = reactive({\n index: props.index,\n indexPath,\n active\n });\n const titleStyle = computed(() => {\n if (mode.value !== \"horizontal\") {\n return {\n color: textColor.value\n };\n }\n return {\n borderBottomColor: active.value ? rootMenu.props.activeTextColor ? activeTextColor.value : \"\" : \"transparent\",\n color: active.value ? activeTextColor.value : textColor.value\n };\n });\n const doDestroy = () => {\n var _a, _b, _c;\n return (_c = (_b = (_a = vPopper.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.popperInstanceRef) == null ? void 0 : _c.destroy();\n };\n const handleCollapseToggle = (value) => {\n if (!value) {\n doDestroy();\n }\n };\n const handleClick = () => {\n if (rootMenu.props.menuTrigger === \"hover\" && rootMenu.props.mode === \"horizontal\" || rootMenu.props.collapse && rootMenu.props.mode === \"vertical\" || props.disabled)\n return;\n rootMenu.handleSubMenuClick({\n index: props.index,\n indexPath: indexPath.value,\n active: active.value\n });\n };\n const handleMouseenter = (event, showTimeout = props.showTimeout) => {\n var _a;\n if (event.type === \"focus\") {\n return;\n }\n if (rootMenu.props.menuTrigger === \"click\" && rootMenu.props.mode === \"horizontal\" || !rootMenu.props.collapse && rootMenu.props.mode === \"vertical\" || props.disabled) {\n return;\n }\n subMenu.mouseInChild.value = true;\n timeout == null ? void 0 : timeout();\n ({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(props.index, indexPath.value);\n }, showTimeout));\n if (appendToBody.value) {\n (_a = parentMenu.value.vnode.el) == null ? void 0 : _a.dispatchEvent(new MouseEvent(\"mouseenter\"));\n }\n };\n const handleMouseleave = (deepDispatch = false) => {\n var _a, _b;\n if (rootMenu.props.menuTrigger === \"click\" && rootMenu.props.mode === \"horizontal\" || !rootMenu.props.collapse && rootMenu.props.mode === \"vertical\") {\n return;\n }\n timeout == null ? void 0 : timeout();\n subMenu.mouseInChild.value = false;\n ({ stop: timeout } = useTimeoutFn(() => !mouseInChild.value && rootMenu.closeMenu(props.index, indexPath.value), props.hideTimeout));\n if (appendToBody.value && deepDispatch) {\n if (((_a = instance.parent) == null ? void 0 : _a.type.name) === \"ElSubMenu\") {\n (_b = subMenu.handleMouseleave) == null ? void 0 : _b.call(subMenu, true);\n }\n }\n };\n watch(() => rootMenu.props.collapse, (value) => handleCollapseToggle(Boolean(value)));\n {\n const addSubMenu = (item2) => {\n subMenus.value[item2.index] = item2;\n };\n const removeSubMenu = (item2) => {\n delete subMenus.value[item2.index];\n };\n provide(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1\n });\n }\n expose({\n opened\n });\n onMounted(() => {\n rootMenu.addSubMenu(item);\n subMenu.addSubMenu(item);\n });\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeSubMenu(item);\n });\n return () => {\n var _a;\n const titleTag = [\n (_a = slots.title) == null ? void 0 : _a.call(slots),\n h(ElIcon, {\n class: nsSubMenu.e(\"icon-arrow\")\n }, { default: () => h(subMenuTitleIcon.value) })\n ];\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);\n const child = rootMenu.isMenuPopup ? h(ElTooltip, {\n ref: vPopper,\n visible: opened.value,\n effect: \"light\",\n pure: true,\n offset: props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false\n }, {\n content: () => {\n var _a2;\n return h(\"div\", {\n class: [\n nsMenu.m(mode.value),\n nsMenu.m(\"popup-container\"),\n props.popperClass\n ],\n onMouseenter: (evt) => handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt) => handleMouseenter(evt, 100)\n }, [\n h(\"ul\", {\n class: [\n nsMenu.b(),\n nsMenu.m(\"popup\"),\n nsMenu.m(`popup-${currentPlacement.value}`)\n ],\n style: ulStyle.value\n }, [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)])\n ]);\n },\n default: () => h(\"div\", {\n class: nsSubMenu.e(\"title\"),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value }\n ],\n onClick: handleClick\n }, titleTag)\n }) : h(Fragment, {}, [\n h(\"div\", {\n class: nsSubMenu.e(\"title\"),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value }\n ],\n ref: verticalTitleRef,\n onClick: handleClick\n }, titleTag),\n h(_CollapseTransition, {}, {\n default: () => {\n var _a2;\n return withDirectives(h(\"ul\", {\n role: \"menu\",\n class: [nsMenu.b(), nsMenu.m(\"inline\")],\n style: ulStyle.value\n }, [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)]), [[vShow, opened.value]]);\n }\n })\n ]);\n return h(\"li\", {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is(\"active\", active.value),\n nsSubMenu.is(\"opened\", opened.value),\n nsSubMenu.is(\"disabled\", props.disabled)\n ],\n role: \"menuitem\",\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(true),\n onFocus: handleMouseenter\n }, [child]);\n };\n }\n});\n\nexport { SubMenu as default, subMenuProps };\n//# sourceMappingURL=sub-menu.mjs.map\n","import { defineComponent, getCurrentInstance, ref, computed, nextTick, watch, watchEffect, provide, reactive, onMounted, h } from 'vue';\nimport { useResizeObserver } from '@vueuse/core';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { More } from '@element-plus/icons-vue';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport Menu$1 from './utils/menu-bar.mjs';\nimport ElMenuCollapseTransition from './menu-collapse-transition.mjs';\nimport SubMenu from './sub-menu.mjs';\nimport { useMenuCssVar } from './use-menu-css-var.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { mutable } from '../../../utils/typescript.mjs';\nimport { isString, isObject } from '@vue/shared';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst menuProps = buildProps({\n mode: {\n type: String,\n values: [\"horizontal\", \"vertical\"],\n default: \"vertical\"\n },\n defaultActive: {\n type: String,\n default: \"\"\n },\n defaultOpeneds: {\n type: definePropType(Array),\n default: () => mutable([])\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: [\"hover\", \"click\"],\n default: \"hover\"\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true\n },\n ellipsis: {\n type: Boolean,\n default: true\n }\n});\nconst checkIndexPath = (indexPath) => Array.isArray(indexPath) && indexPath.every((path) => isString(path));\nconst menuEmits = {\n close: (index, indexPath) => isString(index) && checkIndexPath(indexPath),\n open: (index, indexPath) => isString(index) && checkIndexPath(indexPath),\n select: (index, indexPath, item, routerResult) => isString(index) && checkIndexPath(indexPath) && isObject(item) && (routerResult === void 0 || routerResult instanceof Promise)\n};\nvar Menu = defineComponent({\n name: \"ElMenu\",\n props: menuProps,\n emits: menuEmits,\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance();\n const router = instance.appContext.config.globalProperties.$router;\n const menu = ref();\n const nsMenu = useNamespace(\"menu\");\n const nsSubMenu = useNamespace(\"sub-menu\");\n const openedMenus = ref(props.defaultOpeneds && !props.collapse ? props.defaultOpeneds.slice(0) : []);\n const activeIndex = ref(props.defaultActive);\n const items = ref({});\n const subMenus = ref({});\n const isMenuPopup = computed(() => {\n return props.mode === \"horizontal\" || props.mode === \"vertical\" && props.collapse;\n });\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value];\n if (!activeItem || props.mode === \"horizontal\" || props.collapse)\n return;\n const indexPath = activeItem.indexPath;\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index];\n subMenu && openMenu(index, subMenu.indexPath);\n });\n };\n const openMenu = (index, indexPath) => {\n if (openedMenus.value.includes(index))\n return;\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index2) => indexPath.includes(index2));\n }\n openedMenus.value.push(index);\n emit(\"open\", index, indexPath);\n };\n const closeMenu = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index);\n if (i !== -1) {\n openedMenus.value.splice(i, 1);\n }\n emit(\"close\", index, indexPath);\n };\n const handleSubMenuClick = ({\n index,\n indexPath\n }) => {\n const isOpened = openedMenus.value.includes(index);\n if (isOpened) {\n closeMenu(index, indexPath);\n } else {\n openMenu(index, indexPath);\n }\n };\n const handleMenuItemClick = (menuItem) => {\n if (props.mode === \"horizontal\" || props.collapse) {\n openedMenus.value = [];\n }\n const { index, indexPath } = menuItem;\n if (index === void 0 || indexPath === void 0)\n return;\n if (props.router && router) {\n const route = menuItem.route || index;\n const routerResult = router.push(route).then((res) => {\n if (!res)\n activeIndex.value = index;\n return res;\n });\n emit(\"select\", index, indexPath, { index, indexPath, route }, routerResult);\n } else {\n activeIndex.value = index;\n emit(\"select\", index, indexPath, { index, indexPath });\n }\n };\n const updateActiveIndex = (val) => {\n const itemsInData = items.value;\n const item = itemsInData[val] || activeIndex.value && itemsInData[activeIndex.value] || itemsInData[props.defaultActive];\n if (item) {\n activeIndex.value = item.index;\n } else {\n activeIndex.value = val;\n }\n };\n const handleResize = () => {\n nextTick(() => instance.proxy.$forceUpdate());\n };\n watch(() => props.defaultActive, (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = \"\";\n }\n updateActiveIndex(currentActive);\n });\n watch(() => props.collapse, (value) => {\n if (value)\n openedMenus.value = [];\n });\n watch(items.value, initMenu);\n let resizeStopper;\n watchEffect(() => {\n if (props.mode === \"horizontal\" && props.ellipsis)\n resizeStopper = useResizeObserver(menu, handleResize).stop;\n else\n resizeStopper == null ? void 0 : resizeStopper();\n });\n {\n const addSubMenu = (item) => {\n subMenus.value[item.index] = item;\n };\n const removeSubMenu = (item) => {\n delete subMenus.value[item.index];\n };\n const addMenuItem = (item) => {\n items.value[item.index] = item;\n };\n const removeMenuItem = (item) => {\n delete items.value[item.index];\n };\n provide(\"rootMenu\", reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick\n }));\n provide(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n level: 0\n });\n }\n onMounted(() => {\n if (props.mode === \"horizontal\") {\n new Menu$1(instance.vnode.el, nsMenu.namespace.value);\n }\n });\n {\n const open = (index) => {\n const { indexPath } = subMenus.value[index];\n indexPath.forEach((i) => openMenu(i, indexPath));\n };\n expose({\n open,\n close: closeMenu,\n handleResize\n });\n }\n const flattedChildren = (children) => {\n const vnodes = Array.isArray(children) ? children : [children];\n const result = [];\n vnodes.forEach((child) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children));\n } else {\n result.push(child);\n }\n });\n return result;\n };\n return () => {\n var _a, _b, _c, _d;\n let slot = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : [];\n const vShowMore = [];\n if (props.mode === \"horizontal\" && menu.value) {\n const items2 = Array.from((_d = (_c = menu.value) == null ? void 0 : _c.childNodes) != null ? _d : []).filter((item) => item.nodeName !== \"#text\" || item.nodeValue);\n const originalSlot = flattedChildren(slot);\n const moreItemWidth = 64;\n const paddingLeft = Number.parseInt(getComputedStyle(menu.value).paddingLeft, 10);\n const paddingRight = Number.parseInt(getComputedStyle(menu.value).paddingRight, 10);\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight;\n let calcWidth = 0;\n let sliceIndex = 0;\n items2.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0;\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1;\n }\n });\n const slotDefault = originalSlot.slice(0, sliceIndex);\n const slotMore = originalSlot.slice(sliceIndex);\n if ((slotMore == null ? void 0 : slotMore.length) && props.ellipsis) {\n slot = slotDefault;\n vShowMore.push(h(SubMenu, {\n index: \"sub-menu-more\",\n class: nsSubMenu.e(\"hide-arrow\")\n }, {\n title: () => h(ElIcon, {\n class: nsSubMenu.e(\"icon-more\")\n }, { default: () => h(More) }),\n default: () => slotMore\n }));\n }\n }\n const ulStyle = useMenuCssVar(props, 0);\n const vMenu = h(\"ul\", {\n key: String(props.collapse),\n role: \"menubar\",\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m(\"collapse\")]: props.collapse\n }\n }, [...slot, ...vShowMore]);\n if (props.collapseTransition && props.mode === \"vertical\") {\n return h(ElMenuCollapseTransition, () => vMenu);\n }\n return vMenu;\n };\n }\n});\n\nexport { Menu as default, menuEmits, menuProps };\n//# sourceMappingURL=menu.mjs.map\n","import '../../../utils/index.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { isString } from '@vue/shared';\n\nconst menuItemProps = buildProps({\n index: {\n type: definePropType([String, null]),\n default: null\n },\n route: {\n type: definePropType([String, Object])\n },\n disabled: Boolean\n});\nconst menuItemEmits = {\n click: (item) => isString(item.index) && Array.isArray(item.indexPath)\n};\n\nexport { menuItemEmits, menuItemProps };\n//# sourceMappingURL=menu-item.mjs.map\n","import { defineComponent, getCurrentInstance, inject, toRef, computed, reactive, onMounted, onBeforeUnmount, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, renderSlot, createElementVNode, Fragment } from 'vue';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../popper/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport useMenu from './use-menu.mjs';\nimport { menuItemProps, menuItemEmits } from './menu-item.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { throwError } from '../../../utils/error.mjs';\nimport { Effect } from '../../popper/src/popper.mjs';\n\nconst COMPONENT_NAME = \"ElMenuItem\";\nconst _sfc_main = defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip\n },\n props: menuItemProps,\n emits: menuItemEmits,\n setup(props, { emit }) {\n const instance = getCurrentInstance();\n const rootMenu = inject(\"rootMenu\");\n const nsMenu = useNamespace(\"menu\");\n const nsMenuItem = useNamespace(\"menu-item\");\n if (!rootMenu)\n throwError(COMPONENT_NAME, \"can not inject root menu\");\n const { parentMenu, indexPath } = useMenu(instance, toRef(props, \"index\"));\n const subMenu = inject(`subMenu:${parentMenu.value.uid}`);\n if (!subMenu)\n throwError(COMPONENT_NAME, \"can not inject sub menu\");\n const active = computed(() => props.index === rootMenu.activeIndex);\n const item = reactive({\n index: props.index,\n indexPath,\n active\n });\n const handleClick = () => {\n if (!props.disabled) {\n rootMenu.handleMenuItemClick({\n index: props.index,\n indexPath: indexPath.value,\n route: props.route\n });\n emit(\"click\", item);\n }\n };\n onMounted(() => {\n subMenu.addSubMenu(item);\n rootMenu.addMenuItem(item);\n });\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeMenuItem(item);\n });\n return {\n Effect,\n parentMenu,\n rootMenu,\n active,\n nsMenu,\n nsMenuItem,\n handleClick\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_tooltip = resolveComponent(\"el-tooltip\");\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass([\n _ctx.nsMenuItem.b(),\n _ctx.nsMenuItem.is(\"active\", _ctx.active),\n _ctx.nsMenuItem.is(\"disabled\", _ctx.disabled)\n ]),\n role: \"menuitem\",\n tabindex: \"-1\",\n onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))\n }, [\n _ctx.parentMenu.type.name === \"ElMenu\" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (openBlock(), createBlock(_component_el_tooltip, {\n key: 0,\n effect: _ctx.Effect.DARK,\n placement: \"right\",\n \"fallback-placements\": [\"left\"],\n persistent: \"\"\n }, {\n content: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\")\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.nsMenu.be(\"tooltip\", \"trigger\"))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2)\n ]),\n _: 3\n }, 8, [\"effect\"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"title\")\n ], 64))\n ], 2);\n}\nvar MenuItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue\"]]);\n\nexport { MenuItem as default };\n//# sourceMappingURL=menu-item2.mjs.map\n","const menuItemGroupProps = {\n title: String\n};\n\nexport { menuItemGroupProps };\n//# sourceMappingURL=menu-item-group.mjs.map\n","import { defineComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, createTextVNode, toDisplayString, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport { menuItemGroupProps } from './menu-item-group.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst COMPONENT_NAME = \"ElMenuItemGroup\";\nconst _sfc_main = defineComponent({\n name: COMPONENT_NAME,\n props: menuItemGroupProps,\n setup() {\n const ns = useNamespace(\"menu-item-group\");\n return {\n ns\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass(_ctx.ns.b())\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"title\"))\n }, [\n !_ctx.$slots.title ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(_ctx.title), 1)\n ], 64)) : renderSlot(_ctx.$slots, \"title\", { key: 1 })\n ], 2),\n createElementVNode(\"ul\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ])\n ], 2);\n}\nvar MenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue\"]]);\n\nexport { MenuItemGroup as default };\n//# sourceMappingURL=menu-item-group2.mjs.map\n","import '../../utils/index.mjs';\nimport Menu from './src/menu.mjs';\nexport { menuEmits, menuProps } from './src/menu.mjs';\nimport MenuItem from './src/menu-item2.mjs';\nimport MenuItemGroup from './src/menu-item-group2.mjs';\nimport SubMenu from './src/sub-menu.mjs';\nexport { subMenuProps } from './src/sub-menu.mjs';\nexport { menuItemEmits, menuItemProps } from './src/menu-item.mjs';\nexport { menuItemGroupProps } from './src/menu-item-group.mjs';\nimport './src/types.mjs';\nimport { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';\n\nconst ElMenu = withInstall(Menu, {\n MenuItem,\n MenuItemGroup,\n SubMenu\n});\nconst ElMenuItem = withNoopInstall(MenuItem);\nconst ElMenuItemGroup = withNoopInstall(MenuItemGroup);\nconst ElSubMenu = withNoopInstall(SubMenu);\n\nexport { ElMenu, ElMenuItem, ElMenuItemGroup, ElSubMenu, ElMenu as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Setting\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar setting = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { setting as default };\n","<template>\n <div class=\"monitor\">\n <div class=\"navs\">\n <el-menu\n :default-active=\"defaultActive\"\n class=\"el-menu-nav\"\n :collapse=\"isCollapse\"\n @select=\"handleSelect\"\n >\n <el-menu-item index=\"overview\">\n <el-icon>\n <DataAnalysis />\n </el-icon>\n <template #title>概况</template>\n </el-menu-item>\n <el-menu-item index=\"user\">\n <el-icon>\n <User />\n </el-icon>\n <template #title>用户</template>\n </el-menu-item>\n <el-menu-item index=\"wish\">\n <el-icon>\n <DataBoard />\n </el-icon>\n <template #title>需求</template>\n </el-menu-item>\n <el-menu-item index=\"config\">\n <el-icon>\n <Setting />\n </el-icon>\n <template #title>配置</template>\n </el-menu-item>\n </el-menu>\n </div>\n <div class=\"container\">\n <router-view></router-view>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { onMounted, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { User, DataBoard, DataAnalysis, Setting } from '@element-plus/icons-vue'\n\nconst defaultActive = ref('overview')\nconst isCollapse = ref(false)\nconst $router = useRouter()\nconst $route = useRoute()\nconst handleSelect = (path: string) => {\n if ($route.path.endsWith(path)) {\n return\n }\n $router.replace({\n path\n })\n}\nonMounted(() => {\n const value = $route.path.split('/').slice(-1)[0]\n defaultActive.value = value\n})\n</script>\n\n<style scoped>\n.monitor {\n width: 96%;\n /* min-height: 100vh; */\n padding: 10px;\n overflow: hidden;\n display: flex;\n}\n.navs {\n min-width: 140px;\n}\n.container {\n padding-left: 20px;\n flex-grow: 1;\n width: calc(100% - 150px);\n}\n\n@media screen and (max-width: 700px) {\n .monitor {\n margin-top: 70px;\n padding: 10px 0;\n width: 100%;\n }\n .navs {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .el-radio-group {\n display: none;\n }\n .el-menu-nav {\n display: flex;\n }\n .container {\n padding-left: 0;\n margin-top: 30px;\n width: 100%;\n }\n}\n</style>\n"],"names":["__default__","_sfc_main","defineComponent","__props","ns","useNamespace","on","el","_ctx","_cache","openBlock","createBlock","Transition","mergeProps","unref","toHandlers","withCtx","renderSlot","CollapseTransition","_export_sfc","app","_CollapseTransition","SubMenu$1","parent","domNode","idx","parentNode","event","prevDef","EVENT_CODE","triggerEvent","MenuItem$1","namespace","menuChild","SubMenu","Menu$1","menuChildren","child","MenuItem","done","addClass","removeClass","hasClass","_sfc_render","$props","$setup","$data","$options","ElMenuCollapseTransition","useMenu","instance","currentIndex","indexPath","computed","path","useMenuColor","props","color","TinyColor","useMenuCssVar","level","subMenuProps","buildProps","COMPONENT_NAME","slots","expose","getCurrentInstance","parentMenu","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","items","ref","subMenus","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","subMenuTitleIcon","ArrowDown","ArrowRight","appendToBody","menuTransitionName","fallbackPlacements","opened","active","isActive","item2","subItem","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","doDestroy","_a","_b","_c","handleCollapseToggle","value","handleClick","handleMouseenter","showTimeout","useTimeoutFn","handleMouseleave","deepDispatch","watch","addSubMenu","removeSubMenu","provide","onMounted","onBeforeUnmount","titleTag","h","ElIcon","ulStyle","ElTooltip","_a2","evt","Fragment","withDirectives","vShow","menuProps","definePropType","mutable","checkIndexPath","isString","menuEmits","index","routerResult","isObject","Menu","emit","router","menu","openedMenus","activeIndex","isMenuPopup","initMenu","activeItem","openMenu","index2","closeMenu","i","handleSubMenuClick","handleMenuItemClick","menuItem","route","res","updateActiveIndex","val","itemsInData","handleResize","nextTick","currentActive","resizeStopper","watchEffect","useResizeObserver","flattedChildren","children","vnodes","result","_d","slot","vShowMore","items2","originalSlot","moreItemWidth","paddingLeft","paddingRight","menuWidth","calcWidth","sliceIndex","slotDefault","slotMore","More","vMenu","menuItemProps","menuItemEmits","nsMenuItem","toRef","Effect","_component_el_tooltip","resolveComponent","createElementBlock","normalizeClass","args","createElementVNode","menuItemGroupProps","createTextVNode","toDisplayString","MenuItemGroup","ElMenu","withInstall","ElMenuItem","withNoopInstall","_hoisted_1","_hoisted_2","_hoisted_3","setting","defaultActive","isCollapse","$router","useRouter","$route","useRoute","handleSelect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}
1
+ {"version":3,"file":"index-78a8b3c7.js","sources":["../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/collapse-transition/src/collapse-transition.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/collapse-transition/index.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/utils/submenu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/utils/menu-item.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/utils/menu-bar.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-collapse-transition.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/use-menu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/use-menu-color.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/use-menu-css-var.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/sub-menu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item-group.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/src/menu-item-group2.mjs","../../node_modules/.pnpm/element-plus@2.2.13_vue@3.3.4/node_modules/element-plus/es/components/menu/index.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/setting.mjs","../../src/pages/dashboard/manage/index.vue"],"sourcesContent":["import { defineComponent, openBlock, createBlock, Transition, mergeProps, unref, toHandlers, withCtx, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst __default__ = {\n name: \"ElCollapseTransition\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n ...__default__,\n setup(__props) {\n const ns = useNamespace(\"collapse-transition\");\n const on = {\n beforeEnter(el) {\n if (!el.dataset)\n el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n },\n enter(el) {\n el.dataset.oldOverflow = el.style.overflow;\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n } else {\n el.style.maxHeight = 0;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n el.style.overflow = \"hidden\";\n },\n afterEnter(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n },\n beforeLeave(el) {\n if (!el.dataset)\n el.dataset = {};\n el.dataset.oldPaddingTop = el.style.paddingTop;\n el.dataset.oldPaddingBottom = el.style.paddingBottom;\n el.dataset.oldOverflow = el.style.overflow;\n el.style.maxHeight = `${el.scrollHeight}px`;\n el.style.overflow = \"hidden\";\n },\n leave(el) {\n if (el.scrollHeight !== 0) {\n el.style.maxHeight = 0;\n el.style.paddingTop = 0;\n el.style.paddingBottom = 0;\n }\n },\n afterLeave(el) {\n el.style.maxHeight = \"\";\n el.style.overflow = el.dataset.oldOverflow;\n el.style.paddingTop = el.dataset.oldPaddingTop;\n el.style.paddingBottom = el.dataset.oldPaddingBottom;\n }\n };\n return (_ctx, _cache) => {\n return openBlock(), createBlock(Transition, mergeProps({\n name: unref(ns).b()\n }, toHandlers(on)), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16, [\"name\"]);\n };\n }\n});\nvar CollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue\"]]);\n\nexport { CollapseTransition as default };\n//# sourceMappingURL=collapse-transition.mjs.map\n","import CollapseTransition from './src/collapse-transition.mjs';\n\nCollapseTransition.install = (app) => {\n app.component(CollapseTransition.name, CollapseTransition);\n};\nconst _CollapseTransition = CollapseTransition;\nconst ElCollapseTransition = _CollapseTransition;\n\nexport { ElCollapseTransition, _CollapseTransition as default };\n//# sourceMappingURL=index.mjs.map\n","import '../../../../utils/index.mjs';\nimport '../../../../constants/index.mjs';\nimport { EVENT_CODE } from '../../../../constants/aria.mjs';\nimport { triggerEvent } from '../../../../utils/dom/aria.mjs';\n\nclass SubMenu {\n constructor(parent, domNode) {\n this.parent = parent;\n this.domNode = domNode;\n this.subIndex = 0;\n this.subIndex = 0;\n this.init();\n }\n init() {\n this.subMenuItems = this.domNode.querySelectorAll(\"li\");\n this.addListeners();\n }\n gotoSubIndex(idx) {\n if (idx === this.subMenuItems.length) {\n idx = 0;\n } else if (idx < 0) {\n idx = this.subMenuItems.length - 1;\n }\n ;\n this.subMenuItems[idx].focus();\n this.subIndex = idx;\n }\n addListeners() {\n const parentNode = this.parent.domNode;\n Array.prototype.forEach.call(this.subMenuItems, (el) => {\n el.addEventListener(\"keydown\", (event) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n this.gotoSubIndex(this.subIndex + 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n this.gotoSubIndex(this.subIndex - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(parentNode, \"mouseleave\");\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n event.currentTarget.click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n event.stopPropagation();\n }\n return false;\n });\n });\n }\n}\n\nexport { SubMenu as default };\n//# sourceMappingURL=submenu.mjs.map\n","import '../../../../utils/index.mjs';\nimport '../../../../constants/index.mjs';\nimport SubMenu from './submenu.mjs';\nimport { EVENT_CODE } from '../../../../constants/aria.mjs';\nimport { triggerEvent } from '../../../../utils/dom/aria.mjs';\n\nclass MenuItem {\n constructor(domNode, namespace) {\n this.domNode = domNode;\n this.submenu = null;\n this.submenu = null;\n this.init(namespace);\n }\n init(namespace) {\n this.domNode.setAttribute(\"tabindex\", \"0\");\n const menuChild = this.domNode.querySelector(`.${namespace}-menu`);\n if (menuChild) {\n this.submenu = new SubMenu(this, menuChild);\n }\n this.addListeners();\n }\n addListeners() {\n this.domNode.addEventListener(\"keydown\", (event) => {\n let prevDef = false;\n switch (event.code) {\n case EVENT_CODE.down: {\n triggerEvent(event.currentTarget, \"mouseenter\");\n this.submenu && this.submenu.gotoSubIndex(0);\n prevDef = true;\n break;\n }\n case EVENT_CODE.up: {\n triggerEvent(event.currentTarget, \"mouseenter\");\n this.submenu && this.submenu.gotoSubIndex(this.submenu.subMenuItems.length - 1);\n prevDef = true;\n break;\n }\n case EVENT_CODE.tab: {\n triggerEvent(event.currentTarget, \"mouseleave\");\n break;\n }\n case EVENT_CODE.enter:\n case EVENT_CODE.space: {\n prevDef = true;\n event.currentTarget.click();\n break;\n }\n }\n if (prevDef) {\n event.preventDefault();\n }\n });\n }\n}\n\nexport { MenuItem as default };\n//# sourceMappingURL=menu-item.mjs.map\n","import MenuItem from './menu-item.mjs';\n\nclass Menu {\n constructor(domNode, namespace) {\n this.domNode = domNode;\n this.init(namespace);\n }\n init(namespace) {\n const menuChildren = this.domNode.childNodes;\n Array.from(menuChildren).forEach((child) => {\n if (child.nodeType === 1) {\n new MenuItem(child, namespace);\n }\n });\n }\n}\n\nexport { Menu as default };\n//# sourceMappingURL=menu-bar.mjs.map\n","import { defineComponent, openBlock, createBlock, Transition, mergeProps, withCtx, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport '../../../utils/index.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { addClass, removeClass, hasClass } from '../../../utils/dom/style.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"ElMenuCollapseTransition\",\n setup() {\n const ns = useNamespace(\"menu\");\n const listeners = {\n onBeforeEnter: (el) => el.style.opacity = \"0.2\",\n onEnter(el, done) {\n addClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = \"1\";\n done();\n },\n onAfterEnter(el) {\n removeClass(el, `${ns.namespace.value}-opacity-transition`);\n el.style.opacity = \"\";\n },\n onBeforeLeave(el) {\n if (!el.dataset) {\n ;\n el.dataset = {};\n }\n if (hasClass(el, ns.m(\"collapse\"))) {\n removeClass(el, ns.m(\"collapse\"));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n addClass(el, ns.m(\"collapse\"));\n } else {\n addClass(el, ns.m(\"collapse\"));\n el.dataset.oldOverflow = el.style.overflow;\n el.dataset.scrollWidth = el.clientWidth.toString();\n removeClass(el, ns.m(\"collapse\"));\n }\n el.style.width = `${el.scrollWidth}px`;\n el.style.overflow = \"hidden\";\n },\n onLeave(el) {\n addClass(el, \"horizontal-collapse-transition\");\n el.style.width = `${el.dataset.scrollWidth}px`;\n }\n };\n return {\n listeners\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createBlock(Transition, mergeProps({ mode: \"out-in\" }, _ctx.listeners), {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 16);\n}\nvar ElMenuCollapseTransition = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue\"]]);\n\nexport { ElMenuCollapseTransition as default };\n//# sourceMappingURL=menu-collapse-transition.mjs.map\n","import { computed } from 'vue';\n\nfunction useMenu(instance, currentIndex) {\n const indexPath = computed(() => {\n let parent = instance.parent;\n const path = [currentIndex.value];\n while (parent.type.name !== \"ElMenu\") {\n if (parent.props.index) {\n path.unshift(parent.props.index);\n }\n parent = parent.parent;\n }\n return path;\n });\n const parentMenu = computed(() => {\n let parent = instance.parent;\n while (parent && ![\"ElMenu\", \"ElSubMenu\"].includes(parent.type.name)) {\n parent = parent.parent;\n }\n return parent;\n });\n return {\n parentMenu,\n indexPath\n };\n}\n\nexport { useMenu as default };\n//# sourceMappingURL=use-menu.mjs.map\n","import { computed } from 'vue';\nimport { TinyColor } from '@ctrl/tinycolor';\n\nfunction useMenuColor(props) {\n const menuBarColor = computed(() => {\n const color = props.backgroundColor;\n if (!color) {\n return \"\";\n } else {\n return new TinyColor(color).shade(20).toString();\n }\n });\n return menuBarColor;\n}\n\nexport { useMenuColor as default };\n//# sourceMappingURL=use-menu-color.mjs.map\n","import { computed } from 'vue';\nimport '../../../hooks/index.mjs';\nimport useMenuColor from './use-menu-color.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst useMenuCssVar = (props, level) => {\n const ns = useNamespace(\"menu\");\n return computed(() => {\n return ns.cssVarBlock({\n \"text-color\": props.textColor || \"\",\n \"hover-text-color\": props.textColor || \"\",\n \"bg-color\": props.backgroundColor || \"\",\n \"hover-bg-color\": useMenuColor(props).value || \"\",\n \"active-color\": props.activeTextColor || \"\",\n level: `${level}`\n });\n });\n};\n\nexport { useMenuCssVar };\n//# sourceMappingURL=use-menu-css-var.mjs.map\n","import { defineComponent, getCurrentInstance, computed, inject, ref, reactive, watch, provide, onMounted, onBeforeUnmount, h, Fragment, withDirectives, vShow } from 'vue';\nimport { useTimeoutFn } from '@vueuse/core';\nimport _CollapseTransition from '../../collapse-transition/index.mjs';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport { ArrowDown, ArrowRight } from '@element-plus/icons-vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport useMenu from './use-menu.mjs';\nimport { useMenuCssVar } from './use-menu-css-var.mjs';\nimport { buildProps } from '../../../utils/vue/props/runtime.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { throwError } from '../../../utils/error.mjs';\n\nconst subMenuProps = buildProps({\n index: {\n type: String,\n required: true\n },\n showTimeout: {\n type: Number,\n default: 300\n },\n hideTimeout: {\n type: Number,\n default: 300\n },\n popperClass: String,\n disabled: Boolean,\n popperAppendToBody: {\n type: Boolean,\n default: void 0\n },\n popperOffset: {\n type: Number,\n default: 6\n }\n});\nconst COMPONENT_NAME = \"ElSubMenu\";\nvar SubMenu = defineComponent({\n name: COMPONENT_NAME,\n props: subMenuProps,\n setup(props, { slots, expose }) {\n const instance = getCurrentInstance();\n const { indexPath, parentMenu } = useMenu(instance, computed(() => props.index));\n const nsMenu = useNamespace(\"menu\");\n const nsSubMenu = useNamespace(\"sub-menu\");\n const rootMenu = inject(\"rootMenu\");\n if (!rootMenu)\n throwError(COMPONENT_NAME, \"can not inject root menu\");\n const subMenu = inject(`subMenu:${parentMenu.value.uid}`);\n if (!subMenu)\n throwError(COMPONENT_NAME, \"can not inject sub menu\");\n const items = ref({});\n const subMenus = ref({});\n let timeout;\n const mouseInChild = ref(false);\n const verticalTitleRef = ref();\n const vPopper = ref(null);\n const currentPlacement = computed(() => mode.value === \"horizontal\" && isFirstLevel.value ? \"bottom-start\" : \"right-start\");\n const subMenuTitleIcon = computed(() => {\n return mode.value === \"horizontal\" && isFirstLevel.value || mode.value === \"vertical\" && !rootMenu.props.collapse ? ArrowDown : ArrowRight;\n });\n const isFirstLevel = computed(() => {\n return subMenu.level === 0;\n });\n const appendToBody = computed(() => {\n return props.popperAppendToBody === void 0 ? isFirstLevel.value : Boolean(props.popperAppendToBody);\n });\n const menuTransitionName = computed(() => rootMenu.props.collapse ? `${nsMenu.namespace.value}-zoom-in-left` : `${nsMenu.namespace.value}-zoom-in-top`);\n const fallbackPlacements = computed(() => mode.value === \"horizontal\" && isFirstLevel.value ? [\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\",\n \"right-start\",\n \"left-start\"\n ] : [\n \"right-start\",\n \"left-start\",\n \"bottom-start\",\n \"bottom-end\",\n \"top-start\",\n \"top-end\"\n ]);\n const opened = computed(() => rootMenu.openedMenus.includes(props.index));\n const active = computed(() => {\n let isActive = false;\n Object.values(items.value).forEach((item2) => {\n if (item2.active) {\n isActive = true;\n }\n });\n Object.values(subMenus.value).forEach((subItem) => {\n if (subItem.active) {\n isActive = true;\n }\n });\n return isActive;\n });\n const backgroundColor = computed(() => rootMenu.props.backgroundColor || \"\");\n const activeTextColor = computed(() => rootMenu.props.activeTextColor || \"\");\n const textColor = computed(() => rootMenu.props.textColor || \"\");\n const mode = computed(() => rootMenu.props.mode);\n const item = reactive({\n index: props.index,\n indexPath,\n active\n });\n const titleStyle = computed(() => {\n if (mode.value !== \"horizontal\") {\n return {\n color: textColor.value\n };\n }\n return {\n borderBottomColor: active.value ? rootMenu.props.activeTextColor ? activeTextColor.value : \"\" : \"transparent\",\n color: active.value ? activeTextColor.value : textColor.value\n };\n });\n const doDestroy = () => {\n var _a, _b, _c;\n return (_c = (_b = (_a = vPopper.value) == null ? void 0 : _a.popperRef) == null ? void 0 : _b.popperInstanceRef) == null ? void 0 : _c.destroy();\n };\n const handleCollapseToggle = (value) => {\n if (!value) {\n doDestroy();\n }\n };\n const handleClick = () => {\n if (rootMenu.props.menuTrigger === \"hover\" && rootMenu.props.mode === \"horizontal\" || rootMenu.props.collapse && rootMenu.props.mode === \"vertical\" || props.disabled)\n return;\n rootMenu.handleSubMenuClick({\n index: props.index,\n indexPath: indexPath.value,\n active: active.value\n });\n };\n const handleMouseenter = (event, showTimeout = props.showTimeout) => {\n var _a;\n if (event.type === \"focus\") {\n return;\n }\n if (rootMenu.props.menuTrigger === \"click\" && rootMenu.props.mode === \"horizontal\" || !rootMenu.props.collapse && rootMenu.props.mode === \"vertical\" || props.disabled) {\n return;\n }\n subMenu.mouseInChild.value = true;\n timeout == null ? void 0 : timeout();\n ({ stop: timeout } = useTimeoutFn(() => {\n rootMenu.openMenu(props.index, indexPath.value);\n }, showTimeout));\n if (appendToBody.value) {\n (_a = parentMenu.value.vnode.el) == null ? void 0 : _a.dispatchEvent(new MouseEvent(\"mouseenter\"));\n }\n };\n const handleMouseleave = (deepDispatch = false) => {\n var _a, _b;\n if (rootMenu.props.menuTrigger === \"click\" && rootMenu.props.mode === \"horizontal\" || !rootMenu.props.collapse && rootMenu.props.mode === \"vertical\") {\n return;\n }\n timeout == null ? void 0 : timeout();\n subMenu.mouseInChild.value = false;\n ({ stop: timeout } = useTimeoutFn(() => !mouseInChild.value && rootMenu.closeMenu(props.index, indexPath.value), props.hideTimeout));\n if (appendToBody.value && deepDispatch) {\n if (((_a = instance.parent) == null ? void 0 : _a.type.name) === \"ElSubMenu\") {\n (_b = subMenu.handleMouseleave) == null ? void 0 : _b.call(subMenu, true);\n }\n }\n };\n watch(() => rootMenu.props.collapse, (value) => handleCollapseToggle(Boolean(value)));\n {\n const addSubMenu = (item2) => {\n subMenus.value[item2.index] = item2;\n };\n const removeSubMenu = (item2) => {\n delete subMenus.value[item2.index];\n };\n provide(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n handleMouseleave,\n mouseInChild,\n level: subMenu.level + 1\n });\n }\n expose({\n opened\n });\n onMounted(() => {\n rootMenu.addSubMenu(item);\n subMenu.addSubMenu(item);\n });\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeSubMenu(item);\n });\n return () => {\n var _a;\n const titleTag = [\n (_a = slots.title) == null ? void 0 : _a.call(slots),\n h(ElIcon, {\n class: nsSubMenu.e(\"icon-arrow\")\n }, { default: () => h(subMenuTitleIcon.value) })\n ];\n const ulStyle = useMenuCssVar(rootMenu.props, subMenu.level + 1);\n const child = rootMenu.isMenuPopup ? h(ElTooltip, {\n ref: vPopper,\n visible: opened.value,\n effect: \"light\",\n pure: true,\n offset: props.popperOffset,\n showArrow: false,\n persistent: true,\n popperClass: props.popperClass,\n placement: currentPlacement.value,\n teleported: appendToBody.value,\n fallbackPlacements: fallbackPlacements.value,\n transition: menuTransitionName.value,\n gpuAcceleration: false\n }, {\n content: () => {\n var _a2;\n return h(\"div\", {\n class: [\n nsMenu.m(mode.value),\n nsMenu.m(\"popup-container\"),\n props.popperClass\n ],\n onMouseenter: (evt) => handleMouseenter(evt, 100),\n onMouseleave: () => handleMouseleave(true),\n onFocus: (evt) => handleMouseenter(evt, 100)\n }, [\n h(\"ul\", {\n class: [\n nsMenu.b(),\n nsMenu.m(\"popup\"),\n nsMenu.m(`popup-${currentPlacement.value}`)\n ],\n style: ulStyle.value\n }, [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)])\n ]);\n },\n default: () => h(\"div\", {\n class: nsSubMenu.e(\"title\"),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value }\n ],\n onClick: handleClick\n }, titleTag)\n }) : h(Fragment, {}, [\n h(\"div\", {\n class: nsSubMenu.e(\"title\"),\n style: [\n titleStyle.value,\n { backgroundColor: backgroundColor.value }\n ],\n ref: verticalTitleRef,\n onClick: handleClick\n }, titleTag),\n h(_CollapseTransition, {}, {\n default: () => {\n var _a2;\n return withDirectives(h(\"ul\", {\n role: \"menu\",\n class: [nsMenu.b(), nsMenu.m(\"inline\")],\n style: ulStyle.value\n }, [(_a2 = slots.default) == null ? void 0 : _a2.call(slots)]), [[vShow, opened.value]]);\n }\n })\n ]);\n return h(\"li\", {\n class: [\n nsSubMenu.b(),\n nsSubMenu.is(\"active\", active.value),\n nsSubMenu.is(\"opened\", opened.value),\n nsSubMenu.is(\"disabled\", props.disabled)\n ],\n role: \"menuitem\",\n ariaHaspopup: true,\n ariaExpanded: opened.value,\n onMouseenter: handleMouseenter,\n onMouseleave: () => handleMouseleave(true),\n onFocus: handleMouseenter\n }, [child]);\n };\n }\n});\n\nexport { SubMenu as default, subMenuProps };\n//# sourceMappingURL=sub-menu.mjs.map\n","import { defineComponent, getCurrentInstance, ref, computed, nextTick, watch, watchEffect, provide, reactive, onMounted, h } from 'vue';\nimport { useResizeObserver } from '@vueuse/core';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { More } from '@element-plus/icons-vue';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport Menu$1 from './utils/menu-bar.mjs';\nimport ElMenuCollapseTransition from './menu-collapse-transition.mjs';\nimport SubMenu from './sub-menu.mjs';\nimport { useMenuCssVar } from './use-menu-css-var.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { mutable } from '../../../utils/typescript.mjs';\nimport { isString, isObject } from '@vue/shared';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst menuProps = buildProps({\n mode: {\n type: String,\n values: [\"horizontal\", \"vertical\"],\n default: \"vertical\"\n },\n defaultActive: {\n type: String,\n default: \"\"\n },\n defaultOpeneds: {\n type: definePropType(Array),\n default: () => mutable([])\n },\n uniqueOpened: Boolean,\n router: Boolean,\n menuTrigger: {\n type: String,\n values: [\"hover\", \"click\"],\n default: \"hover\"\n },\n collapse: Boolean,\n backgroundColor: String,\n textColor: String,\n activeTextColor: String,\n collapseTransition: {\n type: Boolean,\n default: true\n },\n ellipsis: {\n type: Boolean,\n default: true\n }\n});\nconst checkIndexPath = (indexPath) => Array.isArray(indexPath) && indexPath.every((path) => isString(path));\nconst menuEmits = {\n close: (index, indexPath) => isString(index) && checkIndexPath(indexPath),\n open: (index, indexPath) => isString(index) && checkIndexPath(indexPath),\n select: (index, indexPath, item, routerResult) => isString(index) && checkIndexPath(indexPath) && isObject(item) && (routerResult === void 0 || routerResult instanceof Promise)\n};\nvar Menu = defineComponent({\n name: \"ElMenu\",\n props: menuProps,\n emits: menuEmits,\n setup(props, { emit, slots, expose }) {\n const instance = getCurrentInstance();\n const router = instance.appContext.config.globalProperties.$router;\n const menu = ref();\n const nsMenu = useNamespace(\"menu\");\n const nsSubMenu = useNamespace(\"sub-menu\");\n const openedMenus = ref(props.defaultOpeneds && !props.collapse ? props.defaultOpeneds.slice(0) : []);\n const activeIndex = ref(props.defaultActive);\n const items = ref({});\n const subMenus = ref({});\n const isMenuPopup = computed(() => {\n return props.mode === \"horizontal\" || props.mode === \"vertical\" && props.collapse;\n });\n const initMenu = () => {\n const activeItem = activeIndex.value && items.value[activeIndex.value];\n if (!activeItem || props.mode === \"horizontal\" || props.collapse)\n return;\n const indexPath = activeItem.indexPath;\n indexPath.forEach((index) => {\n const subMenu = subMenus.value[index];\n subMenu && openMenu(index, subMenu.indexPath);\n });\n };\n const openMenu = (index, indexPath) => {\n if (openedMenus.value.includes(index))\n return;\n if (props.uniqueOpened) {\n openedMenus.value = openedMenus.value.filter((index2) => indexPath.includes(index2));\n }\n openedMenus.value.push(index);\n emit(\"open\", index, indexPath);\n };\n const closeMenu = (index, indexPath) => {\n const i = openedMenus.value.indexOf(index);\n if (i !== -1) {\n openedMenus.value.splice(i, 1);\n }\n emit(\"close\", index, indexPath);\n };\n const handleSubMenuClick = ({\n index,\n indexPath\n }) => {\n const isOpened = openedMenus.value.includes(index);\n if (isOpened) {\n closeMenu(index, indexPath);\n } else {\n openMenu(index, indexPath);\n }\n };\n const handleMenuItemClick = (menuItem) => {\n if (props.mode === \"horizontal\" || props.collapse) {\n openedMenus.value = [];\n }\n const { index, indexPath } = menuItem;\n if (index === void 0 || indexPath === void 0)\n return;\n if (props.router && router) {\n const route = menuItem.route || index;\n const routerResult = router.push(route).then((res) => {\n if (!res)\n activeIndex.value = index;\n return res;\n });\n emit(\"select\", index, indexPath, { index, indexPath, route }, routerResult);\n } else {\n activeIndex.value = index;\n emit(\"select\", index, indexPath, { index, indexPath });\n }\n };\n const updateActiveIndex = (val) => {\n const itemsInData = items.value;\n const item = itemsInData[val] || activeIndex.value && itemsInData[activeIndex.value] || itemsInData[props.defaultActive];\n if (item) {\n activeIndex.value = item.index;\n } else {\n activeIndex.value = val;\n }\n };\n const handleResize = () => {\n nextTick(() => instance.proxy.$forceUpdate());\n };\n watch(() => props.defaultActive, (currentActive) => {\n if (!items.value[currentActive]) {\n activeIndex.value = \"\";\n }\n updateActiveIndex(currentActive);\n });\n watch(() => props.collapse, (value) => {\n if (value)\n openedMenus.value = [];\n });\n watch(items.value, initMenu);\n let resizeStopper;\n watchEffect(() => {\n if (props.mode === \"horizontal\" && props.ellipsis)\n resizeStopper = useResizeObserver(menu, handleResize).stop;\n else\n resizeStopper == null ? void 0 : resizeStopper();\n });\n {\n const addSubMenu = (item) => {\n subMenus.value[item.index] = item;\n };\n const removeSubMenu = (item) => {\n delete subMenus.value[item.index];\n };\n const addMenuItem = (item) => {\n items.value[item.index] = item;\n };\n const removeMenuItem = (item) => {\n delete items.value[item.index];\n };\n provide(\"rootMenu\", reactive({\n props,\n openedMenus,\n items,\n subMenus,\n activeIndex,\n isMenuPopup,\n addMenuItem,\n removeMenuItem,\n addSubMenu,\n removeSubMenu,\n openMenu,\n closeMenu,\n handleMenuItemClick,\n handleSubMenuClick\n }));\n provide(`subMenu:${instance.uid}`, {\n addSubMenu,\n removeSubMenu,\n mouseInChild: ref(false),\n level: 0\n });\n }\n onMounted(() => {\n if (props.mode === \"horizontal\") {\n new Menu$1(instance.vnode.el, nsMenu.namespace.value);\n }\n });\n {\n const open = (index) => {\n const { indexPath } = subMenus.value[index];\n indexPath.forEach((i) => openMenu(i, indexPath));\n };\n expose({\n open,\n close: closeMenu,\n handleResize\n });\n }\n const flattedChildren = (children) => {\n const vnodes = Array.isArray(children) ? children : [children];\n const result = [];\n vnodes.forEach((child) => {\n if (Array.isArray(child.children)) {\n result.push(...flattedChildren(child.children));\n } else {\n result.push(child);\n }\n });\n return result;\n };\n return () => {\n var _a, _b, _c, _d;\n let slot = (_b = (_a = slots.default) == null ? void 0 : _a.call(slots)) != null ? _b : [];\n const vShowMore = [];\n if (props.mode === \"horizontal\" && menu.value) {\n const items2 = Array.from((_d = (_c = menu.value) == null ? void 0 : _c.childNodes) != null ? _d : []).filter((item) => item.nodeName !== \"#text\" || item.nodeValue);\n const originalSlot = flattedChildren(slot);\n const moreItemWidth = 64;\n const paddingLeft = Number.parseInt(getComputedStyle(menu.value).paddingLeft, 10);\n const paddingRight = Number.parseInt(getComputedStyle(menu.value).paddingRight, 10);\n const menuWidth = menu.value.clientWidth - paddingLeft - paddingRight;\n let calcWidth = 0;\n let sliceIndex = 0;\n items2.forEach((item, index) => {\n calcWidth += item.offsetWidth || 0;\n if (calcWidth <= menuWidth - moreItemWidth) {\n sliceIndex = index + 1;\n }\n });\n const slotDefault = originalSlot.slice(0, sliceIndex);\n const slotMore = originalSlot.slice(sliceIndex);\n if ((slotMore == null ? void 0 : slotMore.length) && props.ellipsis) {\n slot = slotDefault;\n vShowMore.push(h(SubMenu, {\n index: \"sub-menu-more\",\n class: nsSubMenu.e(\"hide-arrow\")\n }, {\n title: () => h(ElIcon, {\n class: nsSubMenu.e(\"icon-more\")\n }, { default: () => h(More) }),\n default: () => slotMore\n }));\n }\n }\n const ulStyle = useMenuCssVar(props, 0);\n const vMenu = h(\"ul\", {\n key: String(props.collapse),\n role: \"menubar\",\n ref: menu,\n style: ulStyle.value,\n class: {\n [nsMenu.b()]: true,\n [nsMenu.m(props.mode)]: true,\n [nsMenu.m(\"collapse\")]: props.collapse\n }\n }, [...slot, ...vShowMore]);\n if (props.collapseTransition && props.mode === \"vertical\") {\n return h(ElMenuCollapseTransition, () => vMenu);\n }\n return vMenu;\n };\n }\n});\n\nexport { Menu as default, menuEmits, menuProps };\n//# sourceMappingURL=menu.mjs.map\n","import '../../../utils/index.mjs';\nimport { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';\nimport { isString } from '@vue/shared';\n\nconst menuItemProps = buildProps({\n index: {\n type: definePropType([String, null]),\n default: null\n },\n route: {\n type: definePropType([String, Object])\n },\n disabled: Boolean\n});\nconst menuItemEmits = {\n click: (item) => isString(item.index) && Array.isArray(item.indexPath)\n};\n\nexport { menuItemEmits, menuItemProps };\n//# sourceMappingURL=menu-item.mjs.map\n","import { defineComponent, getCurrentInstance, inject, toRef, computed, reactive, onMounted, onBeforeUnmount, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, renderSlot, createElementVNode, Fragment } from 'vue';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport '../../popper/index.mjs';\nimport '../../../utils/index.mjs';\nimport '../../../hooks/index.mjs';\nimport useMenu from './use-menu.mjs';\nimport { menuItemProps, menuItemEmits } from './menu-item.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { throwError } from '../../../utils/error.mjs';\nimport { Effect } from '../../popper/src/popper.mjs';\n\nconst COMPONENT_NAME = \"ElMenuItem\";\nconst _sfc_main = defineComponent({\n name: COMPONENT_NAME,\n components: {\n ElTooltip\n },\n props: menuItemProps,\n emits: menuItemEmits,\n setup(props, { emit }) {\n const instance = getCurrentInstance();\n const rootMenu = inject(\"rootMenu\");\n const nsMenu = useNamespace(\"menu\");\n const nsMenuItem = useNamespace(\"menu-item\");\n if (!rootMenu)\n throwError(COMPONENT_NAME, \"can not inject root menu\");\n const { parentMenu, indexPath } = useMenu(instance, toRef(props, \"index\"));\n const subMenu = inject(`subMenu:${parentMenu.value.uid}`);\n if (!subMenu)\n throwError(COMPONENT_NAME, \"can not inject sub menu\");\n const active = computed(() => props.index === rootMenu.activeIndex);\n const item = reactive({\n index: props.index,\n indexPath,\n active\n });\n const handleClick = () => {\n if (!props.disabled) {\n rootMenu.handleMenuItemClick({\n index: props.index,\n indexPath: indexPath.value,\n route: props.route\n });\n emit(\"click\", item);\n }\n };\n onMounted(() => {\n subMenu.addSubMenu(item);\n rootMenu.addMenuItem(item);\n });\n onBeforeUnmount(() => {\n subMenu.removeSubMenu(item);\n rootMenu.removeMenuItem(item);\n });\n return {\n Effect,\n parentMenu,\n rootMenu,\n active,\n nsMenu,\n nsMenuItem,\n handleClick\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_tooltip = resolveComponent(\"el-tooltip\");\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass([\n _ctx.nsMenuItem.b(),\n _ctx.nsMenuItem.is(\"active\", _ctx.active),\n _ctx.nsMenuItem.is(\"disabled\", _ctx.disabled)\n ]),\n role: \"menuitem\",\n tabindex: \"-1\",\n onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))\n }, [\n _ctx.parentMenu.type.name === \"ElMenu\" && _ctx.rootMenu.props.collapse && _ctx.$slots.title ? (openBlock(), createBlock(_component_el_tooltip, {\n key: 0,\n effect: _ctx.Effect.DARK,\n placement: \"right\",\n \"fallback-placements\": [\"left\"],\n persistent: \"\"\n }, {\n content: withCtx(() => [\n renderSlot(_ctx.$slots, \"title\")\n ]),\n default: withCtx(() => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.nsMenu.be(\"tooltip\", \"trigger\"))\n }, [\n renderSlot(_ctx.$slots, \"default\")\n ], 2)\n ]),\n _: 3\n }, 8, [\"effect\"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n renderSlot(_ctx.$slots, \"default\"),\n renderSlot(_ctx.$slots, \"title\")\n ], 64))\n ], 2);\n}\nvar MenuItem = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue\"]]);\n\nexport { MenuItem as default };\n//# sourceMappingURL=menu-item2.mjs.map\n","const menuItemGroupProps = {\n title: String\n};\n\nexport { menuItemGroupProps };\n//# sourceMappingURL=menu-item-group.mjs.map\n","import { defineComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, createTextVNode, toDisplayString, renderSlot } from 'vue';\nimport '../../../hooks/index.mjs';\nimport { menuItemGroupProps } from './menu-item-group.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\n\nconst COMPONENT_NAME = \"ElMenuItemGroup\";\nconst _sfc_main = defineComponent({\n name: COMPONENT_NAME,\n props: menuItemGroupProps,\n setup() {\n const ns = useNamespace(\"menu-item-group\");\n return {\n ns\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"li\", {\n class: normalizeClass(_ctx.ns.b())\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.ns.e(\"title\"))\n }, [\n !_ctx.$slots.title ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [\n createTextVNode(toDisplayString(_ctx.title), 1)\n ], 64)) : renderSlot(_ctx.$slots, \"title\", { key: 1 })\n ], 2),\n createElementVNode(\"ul\", null, [\n renderSlot(_ctx.$slots, \"default\")\n ])\n ], 2);\n}\nvar MenuItemGroup = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue\"]]);\n\nexport { MenuItemGroup as default };\n//# sourceMappingURL=menu-item-group2.mjs.map\n","import '../../utils/index.mjs';\nimport Menu from './src/menu.mjs';\nexport { menuEmits, menuProps } from './src/menu.mjs';\nimport MenuItem from './src/menu-item2.mjs';\nimport MenuItemGroup from './src/menu-item-group2.mjs';\nimport SubMenu from './src/sub-menu.mjs';\nexport { subMenuProps } from './src/sub-menu.mjs';\nexport { menuItemEmits, menuItemProps } from './src/menu-item.mjs';\nexport { menuItemGroupProps } from './src/menu-item-group.mjs';\nimport './src/types.mjs';\nimport { withInstall, withNoopInstall } from '../../utils/vue/install.mjs';\n\nconst ElMenu = withInstall(Menu, {\n MenuItem,\n MenuItemGroup,\n SubMenu\n});\nconst ElMenuItem = withNoopInstall(MenuItem);\nconst ElMenuItemGroup = withNoopInstall(MenuItemGroup);\nconst ElSubMenu = withNoopInstall(SubMenu);\n\nexport { ElMenu, ElMenuItem, ElMenuItemGroup, ElSubMenu, ElMenu as default };\n//# sourceMappingURL=index.mjs.map\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Setting\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar setting = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { setting as default };\n","<template>\n <div class=\"monitor\">\n <div class=\"navs\">\n <el-menu\n :default-active=\"defaultActive\"\n class=\"el-menu-nav\"\n :collapse=\"isCollapse\"\n @select=\"handleSelect\"\n >\n <el-menu-item index=\"overview\">\n <el-icon>\n <DataAnalysis />\n </el-icon>\n <template #title>概况</template>\n </el-menu-item>\n <el-menu-item index=\"user\">\n <el-icon>\n <User />\n </el-icon>\n <template #title>用户</template>\n </el-menu-item>\n <el-menu-item index=\"wish\">\n <el-icon>\n <DataBoard />\n </el-icon>\n <template #title>需求</template>\n </el-menu-item>\n <el-menu-item index=\"config\">\n <el-icon>\n <Setting />\n </el-icon>\n <template #title>配置</template>\n </el-menu-item>\n </el-menu>\n </div>\n <div class=\"container\">\n <router-view></router-view>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { onMounted, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { User, DataBoard, DataAnalysis, Setting } from '@element-plus/icons-vue'\n\nconst defaultActive = ref('overview')\nconst isCollapse = ref(false)\nconst $router = useRouter()\nconst $route = useRoute()\nconst handleSelect = (path: string) => {\n if ($route.path.endsWith(path)) {\n return\n }\n $router.replace({\n path\n })\n}\nonMounted(() => {\n const value = $route.path.split('/').slice(-1)[0]\n defaultActive.value = value\n})\n</script>\n\n<style scoped>\n.monitor {\n width: 96%;\n /* min-height: 100vh; */\n padding: 10px;\n overflow: hidden;\n display: flex;\n}\n.navs {\n min-width: 140px;\n}\n.container {\n padding-left: 20px;\n flex-grow: 1;\n width: calc(100% - 150px);\n}\n\n@media screen and (max-width: 700px) {\n .monitor {\n margin-top: 70px;\n padding: 10px 0;\n width: 100%;\n }\n .navs {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n }\n\n .el-radio-group {\n display: none;\n }\n .el-menu-nav {\n display: flex;\n }\n .container {\n padding-left: 0;\n margin-top: 30px;\n width: 100%;\n }\n}\n</style>\n"],"names":["__default__","_sfc_main","defineComponent","__props","ns","useNamespace","on","el","_ctx","_cache","openBlock","createBlock","Transition","mergeProps","unref","toHandlers","withCtx","renderSlot","CollapseTransition","_export_sfc","app","_CollapseTransition","SubMenu$1","parent","domNode","idx","parentNode","event","prevDef","EVENT_CODE","triggerEvent","MenuItem$1","namespace","menuChild","SubMenu","Menu$1","menuChildren","child","MenuItem","done","addClass","removeClass","hasClass","_sfc_render","$props","$setup","$data","$options","ElMenuCollapseTransition","useMenu","instance","currentIndex","indexPath","computed","path","useMenuColor","props","color","TinyColor","useMenuCssVar","level","subMenuProps","buildProps","COMPONENT_NAME","slots","expose","getCurrentInstance","parentMenu","nsMenu","nsSubMenu","rootMenu","inject","throwError","subMenu","items","ref","subMenus","timeout","mouseInChild","verticalTitleRef","vPopper","currentPlacement","mode","isFirstLevel","subMenuTitleIcon","ArrowDown","ArrowRight","appendToBody","menuTransitionName","fallbackPlacements","opened","active","isActive","item2","subItem","backgroundColor","activeTextColor","textColor","item","reactive","titleStyle","doDestroy","_a","_b","_c","handleCollapseToggle","value","handleClick","handleMouseenter","showTimeout","useTimeoutFn","handleMouseleave","deepDispatch","watch","addSubMenu","removeSubMenu","provide","onMounted","onBeforeUnmount","titleTag","h","ElIcon","ulStyle","ElTooltip","_a2","evt","Fragment","withDirectives","vShow","menuProps","definePropType","mutable","checkIndexPath","isString","menuEmits","index","routerResult","isObject","Menu","emit","router","menu","openedMenus","activeIndex","isMenuPopup","initMenu","activeItem","openMenu","index2","closeMenu","i","handleSubMenuClick","handleMenuItemClick","menuItem","route","res","updateActiveIndex","val","itemsInData","handleResize","nextTick","currentActive","resizeStopper","watchEffect","useResizeObserver","flattedChildren","children","vnodes","result","_d","slot","vShowMore","items2","originalSlot","moreItemWidth","paddingLeft","paddingRight","menuWidth","calcWidth","sliceIndex","slotDefault","slotMore","More","vMenu","menuItemProps","menuItemEmits","nsMenuItem","toRef","Effect","_component_el_tooltip","resolveComponent","createElementBlock","normalizeClass","args","createElementVNode","menuItemGroupProps","createTextVNode","toDisplayString","MenuItemGroup","ElMenu","withInstall","ElMenuItem","withNoopInstall","_hoisted_1","_hoisted_2","_hoisted_3","setting","defaultActive","isCollapse","$router","useRouter","$route","useRoute","handleSelect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}
@@ -1,2 +1,2 @@
1
- import{a4 as $,g as V,d as S,f as s,c as o,a as e,Z as Q,h as j,r as N,O as T,o as q,j as r,w as n,H as U,a6 as O,a7 as D,F as y,C as k,E as L,I as H,p as P,e as R,k as E,b as _,t as f,D as m,S as Z,x as G,v as J,_ as K}from"./index-62c7029f.js";import{E as W,a as X}from"./el-form-item-f40006bf.js";import{T as M}from"./tip-00ddf749.js";import{r as ee}from"./refresh-6ae903c0.js";import"./isEqual-9c466456.js";import"./index-6d7ac779.js";function te(){return $.get("/config/service/overview")}function se(){return $.get("/config/service/config")}function oe(c){return $.put("/config/service/config",c)}const b={getServiceOverview:te,getServiceConfig:se,updateCfg:oe},ae=S({name:"CloseBold"}),ne={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},le=e("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"},null,-1),re=[le];function ce(c,p,x,i,h,g){return s(),o("svg",ne,re)}var ie=V(ae,[["render",ce]]);const de=S({name:"Select"}),ue={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_e=e("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"},null,-1),pe=[_e];function ge(c,p,x,i,h,g){return s(),o("svg",ue,pe)}var fe=V(de,[["render",ge]]);const B=c=>(P("data-v-72be12a2"),c=c(),R(),c),me={class:"user"},he={class:"panel"},ve=B(()=>e("span",null,"服务概况",-1)),ye={class:"service-list"},ke=["src","alt"],Me={key:2},xe={class:"error-panel"},we=B(()=>e("h1",null,"错误信息",-1)),Ce={class:"error"},Ee=B(()=>e("h1",null,"服务相关配置",-1)),be={href:"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE"},$e={class:"config-container"},Se={class:"flex",style:{flex:"1"}},Be=S({__name:"index",setup(c){const p=Q([{name:"MySQL",key:"mysql",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204",status:!1,des:"存储用户数据",errMsg:""},{name:"七牛云",key:"qiniu",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342",status:!1,des:"文件存储"},{name:"MongoDB",key:"mongodb",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777",status:!1,des:"用户数据与日志"},{name:"Redis",key:"redis",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350",status:!1,des:"持久化缓存数据",error:"确保安装redis,且监听端口6379"},{name:"腾讯云",key:"tx",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439",status:!1,des:"短信服务"}]),x=j(),i=N(!1),h=T(()=>p.filter(a=>a.errMsg)),g=()=>{i.value||(i.value=!0,b.getServiceOverview().then(a=>{const{data:v}=a;p.forEach(d=>{const{status:u,errMsg:w}=v[d.key];d.status=u,d.errMsg=w}),L.success("服务状态刷新完成"),i.value=!1}))},z=N([]),A=()=>{b.getServiceConfig().then(a=>{a.data.forEach(v=>{v.data.forEach(d=>{d.disabled=!0})}),z.value=a.data})},I=a=>{b.updateCfg(a).then(()=>{a.disabled=!0,L.success("更新成功"),g()})};return q(()=>{g(),A()}),T(()=>x.getters["public/isMobile"]),(a,v)=>{const d=H,u=G,w=J,Y=W,F=X;return s(),o("div",me,[e("div",he,[e("div",null,[e("h1",null,[ve,r(d,{class:U({loading:i.value}),onClick:g,style:{cursor:"pointer","margin-left":"10px"}},{default:n(()=>[r(E(ee))]),_:1},8,["class"]),O(e("span",null,"数据加载中...",512),[[D,i.value]])]),r(M,null,{default:n(()=>[_("查看各个服务的运行情况")]),_:1}),e("div",ye,[(s(!0),o(y,null,k(p,t=>(s(),o("div",{key:t.key,class:"service-item"},[e("img",{src:t.logo,alt:t.name},null,8,ke),e("p",null,[r(M,null,{default:n(()=>[_(f(t.des),1)]),_:2},1024)]),t.status?(s(),m(u,{key:0,type:"success",size:"small",icon:E(fe),circle:""},null,8,["icon"])):(s(),m(u,{key:1,type:"danger",size:"small",icon:E(ie),circle:""},null,8,["icon"])),!t.status&&t.error?(s(),o("p",Me,[r(M,null,{default:n(()=>[_(f(t.error),1)]),_:2},1024)])):Z("",!0)]))),128))])]),O(e("div",xe,[we,(s(!0),o(y,null,k(h.value,t=>(s(),o("p",{key:t.key},[e("strong",null,f(t.name)+":",1),e("span",Ce,f(t.errMsg),1)]))),128))],512),[[D,h.value.length]]),e("div",null,[Ee,r(M,null,{default:n(()=>[_(" 在此面板,配置服务器运行相关参数 "),e("a",be,[r(u,{type:"primary",link:""},{default:n(()=>[_("配置手册?")]),_:1})])]),_:1})]),e("div",$e,[(s(!0),o(y,null,k(z.value,t=>(s(),o("div",{class:"config-panel",key:t.title},[e("h2",null,f(t.title),1),r(F,{"label-position":"right","label-width":"100px",style:{"max-width":"400px",margin:"0 auto"}},{default:n(()=>[(s(!0),o(y,null,k(t.data,l=>(s(),m(Y,{"label-width":"auto",label:l.label||l.key,key:l.key},{default:n(()=>[e("div",Se,[r(w,{disabled:l.disabled,modelValue:l.value,"onUpdate:modelValue":C=>l.value=C},null,8,["disabled","modelValue","onUpdate:modelValue"]),l.disabled?(s(),m(u,{key:0,onClick:C=>l.disabled=!1,type:"primary",text:""},{default:n(()=>[_("更新")]),_:2},1032,["onClick"])):(s(),m(u,{key:1,onClick:C=>I(l),type:"success",text:""},{default:n(()=>[_("完成")]),_:2},1032,["onClick"]))])]),_:2},1032,["label"]))),128))]),_:2},1024)]))),128))])])])}}});const Ve=K(Be,[["__scopeId","data-v-72be12a2"]]);export{Ve as default};
2
- //# sourceMappingURL=index-f6ffb548.js.map
1
+ import{a4 as $,g as V,d as S,f as s,c as o,a as e,Z as Q,h as j,r as N,O as T,o as q,j as r,w as n,H as U,a6 as O,a7 as D,F as y,C as k,E as L,I as H,p as P,e as R,k as E,b as _,t as f,D as m,S as Z,x as G,v as J,_ as K}from"./index-1639ad54.js";import{E as W,a as X}from"./el-form-item-fb230be3.js";import{T as M}from"./tip-822b05b7.js";import{r as ee}from"./refresh-be31af7a.js";import"./isEqual-95d6c129.js";import"./index-68448dbd.js";function te(){return $.get("/config/service/overview")}function se(){return $.get("/config/service/config")}function oe(c){return $.put("/config/service/config",c)}const b={getServiceOverview:te,getServiceConfig:se,updateCfg:oe},ae=S({name:"CloseBold"}),ne={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},le=e("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"},null,-1),re=[le];function ce(c,p,x,i,h,g){return s(),o("svg",ne,re)}var ie=V(ae,[["render",ce]]);const de=S({name:"Select"}),ue={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_e=e("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"},null,-1),pe=[_e];function ge(c,p,x,i,h,g){return s(),o("svg",ue,pe)}var fe=V(de,[["render",ge]]);const B=c=>(P("data-v-72be12a2"),c=c(),R(),c),me={class:"user"},he={class:"panel"},ve=B(()=>e("span",null,"服务概况",-1)),ye={class:"service-list"},ke=["src","alt"],Me={key:2},xe={class:"error-panel"},we=B(()=>e("h1",null,"错误信息",-1)),Ce={class:"error"},Ee=B(()=>e("h1",null,"服务相关配置",-1)),be={href:"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE"},$e={class:"config-container"},Se={class:"flex",style:{flex:"1"}},Be=S({__name:"index",setup(c){const p=Q([{name:"MySQL",key:"mysql",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204",status:!1,des:"存储用户数据",errMsg:""},{name:"七牛云",key:"qiniu",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342",status:!1,des:"文件存储"},{name:"MongoDB",key:"mongodb",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777",status:!1,des:"用户数据与日志"},{name:"Redis",key:"redis",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350",status:!1,des:"持久化缓存数据",error:"确保安装redis,且监听端口6379"},{name:"腾讯云",key:"tx",logo:"https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439",status:!1,des:"短信服务"}]),x=j(),i=N(!1),h=T(()=>p.filter(a=>a.errMsg)),g=()=>{i.value||(i.value=!0,b.getServiceOverview().then(a=>{const{data:v}=a;p.forEach(d=>{const{status:u,errMsg:w}=v[d.key];d.status=u,d.errMsg=w}),L.success("服务状态刷新完成"),i.value=!1}))},z=N([]),A=()=>{b.getServiceConfig().then(a=>{a.data.forEach(v=>{v.data.forEach(d=>{d.disabled=!0})}),z.value=a.data})},I=a=>{b.updateCfg(a).then(()=>{a.disabled=!0,L.success("更新成功"),g()})};return q(()=>{g(),A()}),T(()=>x.getters["public/isMobile"]),(a,v)=>{const d=H,u=G,w=J,Y=W,F=X;return s(),o("div",me,[e("div",he,[e("div",null,[e("h1",null,[ve,r(d,{class:U({loading:i.value}),onClick:g,style:{cursor:"pointer","margin-left":"10px"}},{default:n(()=>[r(E(ee))]),_:1},8,["class"]),O(e("span",null,"数据加载中...",512),[[D,i.value]])]),r(M,null,{default:n(()=>[_("查看各个服务的运行情况")]),_:1}),e("div",ye,[(s(!0),o(y,null,k(p,t=>(s(),o("div",{key:t.key,class:"service-item"},[e("img",{src:t.logo,alt:t.name},null,8,ke),e("p",null,[r(M,null,{default:n(()=>[_(f(t.des),1)]),_:2},1024)]),t.status?(s(),m(u,{key:0,type:"success",size:"small",icon:E(fe),circle:""},null,8,["icon"])):(s(),m(u,{key:1,type:"danger",size:"small",icon:E(ie),circle:""},null,8,["icon"])),!t.status&&t.error?(s(),o("p",Me,[r(M,null,{default:n(()=>[_(f(t.error),1)]),_:2},1024)])):Z("",!0)]))),128))])]),O(e("div",xe,[we,(s(!0),o(y,null,k(h.value,t=>(s(),o("p",{key:t.key},[e("strong",null,f(t.name)+":",1),e("span",Ce,f(t.errMsg),1)]))),128))],512),[[D,h.value.length]]),e("div",null,[Ee,r(M,null,{default:n(()=>[_(" 在此面板,配置服务器运行相关参数 "),e("a",be,[r(u,{type:"primary",link:""},{default:n(()=>[_("配置手册?")]),_:1})])]),_:1})]),e("div",$e,[(s(!0),o(y,null,k(z.value,t=>(s(),o("div",{class:"config-panel",key:t.title},[e("h2",null,f(t.title),1),r(F,{"label-position":"right","label-width":"100px",style:{"max-width":"400px",margin:"0 auto"}},{default:n(()=>[(s(!0),o(y,null,k(t.data,l=>(s(),m(Y,{"label-width":"auto",label:l.label||l.key,key:l.key},{default:n(()=>[e("div",Se,[r(w,{disabled:l.disabled,modelValue:l.value,"onUpdate:modelValue":C=>l.value=C},null,8,["disabled","modelValue","onUpdate:modelValue"]),l.disabled?(s(),m(u,{key:0,onClick:C=>l.disabled=!1,type:"primary",text:""},{default:n(()=>[_("更新")]),_:2},1032,["onClick"])):(s(),m(u,{key:1,onClick:C=>I(l),type:"success",text:""},{default:n(()=>[_("完成")]),_:2},1032,["onClick"]))])]),_:2},1032,["label"]))),128))]),_:2},1024)]))),128))])])])}}});const Ve=K(Be,[["__scopeId","data-v-72be12a2"]]);export{Ve as default};
2
+ //# sourceMappingURL=index-9e6a9bcf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-f6ffb548.js","sources":["../../src/apis/modules/config.ts","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/close-bold.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/select.mjs","../../src/pages/dashboard/config/index.vue"],"sourcesContent":["import ajax from '../ajax'\n\nfunction getServiceOverview(): ConfigServiceAPITypes.getServiceOverview {\n return ajax.get('/config/service/overview')\n}\n\nfunction getServiceConfig(): ConfigServiceAPITypes.getServiceConfig {\n return ajax.get('/config/service/config')\n}\n\nfunction updateCfg(data: ConfigServiceAPITypes.ServiceConfigItem) {\n return ajax.put('/config/service/config', data)\n}\n\nexport default {\n getServiceOverview,\n getServiceConfig,\n updateCfg\n}\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"CloseBold\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar closeBold = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { closeBold as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Select\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar select = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { select as default };\n","<template>\n <div class=\"user\">\n <div class=\"panel\">\n <!-- 服务概况 -->\n <div>\n <h1>\n <span>服务概况</span>\n <el-icon\n :class=\"{\n loading\n }\"\n @click=\"refreshStatus\"\n style=\"cursor: pointer; margin-left: 10px\"\n >\n <Refresh />\n </el-icon>\n <span v-show=\"loading\">数据加载中...</span>\n </h1>\n <Tip>查看各个服务的运行情况</Tip>\n <div class=\"service-list\">\n <div\n v-for=\"service in serviceList\"\n :key=\"service.key\"\n class=\"service-item\"\n >\n <img :src=\"service.logo\" :alt=\"service.name\" />\n <!-- <p>{{ service.name }}</p> -->\n <p>\n <Tip>{{ service.des }}</Tip>\n </p>\n <el-button\n v-if=\"service.status\"\n type=\"success\"\n size=\"small\"\n :icon=\"Select\"\n circle\n />\n <el-button\n v-else\n type=\"danger\"\n size=\"small\"\n :icon=\"CloseBold\"\n circle\n />\n <p v-if=\"!service.status && service.error\">\n <Tip>{{ service.error }}</Tip>\n </p>\n </div>\n </div>\n </div>\n <div v-show=\"showErrorList.length\" class=\"error-panel\">\n <h1>错误信息</h1>\n <p v-for=\"err in showErrorList\" :key=\"err.key\">\n <strong>{{ err.name }}:</strong>\n <span class=\"error\">{{ err.errMsg }}</span>\n </p>\n </div>\n <div>\n <h1>服务相关配置</h1>\n <Tip>\n 在此面板,配置服务器运行相关参数\n <a\n href=\"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE\"\n >\n <el-button type=\"primary\" link>配置手册?</el-button></a\n >\n </Tip>\n </div>\n <div class=\"config-container\">\n <div\n class=\"config-panel\"\n v-for=\"serverItem in serverConfig\"\n :key=\"serverItem.title\"\n >\n <h2>\n {{ serverItem.title }}\n </h2>\n <el-form\n :label-position=\"'right'\"\n label-width=\"100px\"\n style=\"max-width: 400px; margin: 0 auto\"\n >\n <el-form-item\n :label-width=\"'auto'\"\n v-for=\"cfgItem in serverItem.data\"\n :label=\"cfgItem.label || cfgItem.key\"\n :key=\"cfgItem.key\"\n >\n <div class=\"flex\" style=\"flex: 1\">\n <el-input\n :disabled=\"cfgItem.disabled\"\n v-model=\"cfgItem.value\"\n />\n <el-button\n v-if=\"cfgItem.disabled\"\n @click=\"cfgItem.disabled = false\"\n type=\"primary\"\n text\n >更新</el-button\n >\n <el-button\n v-else\n @click=\"updateCfg(cfgItem)\"\n type=\"success\"\n text\n >完成</el-button\n >\n </div>\n </el-form-item>\n </el-form>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport { useStore } from 'vuex'\nimport { Select, CloseBold, Refresh } from '@element-plus/icons-vue'\nimport { ConfigServiceAPI } from '@/apis'\nimport Tip from '../tasks/components/infoPanel/tip.vue'\n\nconst serviceList = reactive([\n {\n name: 'MySQL',\n key: 'mysql',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204',\n status: false,\n des: '存储用户数据',\n errMsg: ''\n },\n {\n name: '七牛云',\n key: 'qiniu',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342',\n status: false,\n des: '文件存储'\n },\n {\n name: 'MongoDB',\n key: 'mongodb',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777',\n status: false,\n des: '用户数据与日志'\n },\n {\n name: 'Redis',\n key: 'redis',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350',\n status: false,\n des: '持久化缓存数据',\n error: '确保安装redis,且监听端口6379'\n },\n {\n name: '腾讯云',\n key: 'tx',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439',\n status: false,\n des: '短信服务'\n }\n])\nconst $store = useStore()\nconst loading = ref(false)\nconst showErrorList = computed(() => serviceList.filter((item) => item.errMsg))\nconst refreshStatus = () => {\n if (loading.value) return\n loading.value = true\n ConfigServiceAPI.getServiceOverview().then((v) => {\n const { data } = v\n serviceList.forEach((item) => {\n const { status, errMsg } = data[item.key]\n item.status = status\n item.errMsg = errMsg\n })\n ElMessage.success('服务状态刷新完成')\n loading.value = false\n })\n}\n\nconst serverConfig = ref([])\nconst getServiceConfig = () => {\n ConfigServiceAPI.getServiceConfig().then((v) => {\n // console.log(v.data)\n v.data.forEach((v) => {\n v.data.forEach((v) => {\n v.disabled = true\n })\n })\n serverConfig.value = v.data\n })\n}\nconst updateCfg = (item: ConfigServiceAPITypes.ServiceConfigItem) => {\n ConfigServiceAPI.updateCfg(item).then(() => {\n item.disabled = true\n ElMessage.success('更新成功')\n refreshStatus()\n })\n}\nonMounted(() => {\n refreshStatus()\n getServiceConfig()\n})\nconst isMobile = computed(() => $store.getters['public/isMobile'])\n</script>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .user {\n margin-top: 40px !important;\n }\n}\n\n.user {\n margin: 0 auto;\n}\n\n.panel {\n max-width: 1256px;\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\n border-radius: 4px;\n}\n\nh1 {\n margin: 0;\n padding: 10px 0;\n font-size: 20px;\n font-weight: bold;\n text-align: center;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.service-list {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n}\n\n.service-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 10px;\n min-width: 120px;\n\n img {\n width: 80px;\n }\n\n p {\n text-align: center;\n padding-top: 10px;\n font-size: 14px;\n }\n}\n\n@keyframes rotate {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.loading {\n margin-left: 10px;\n animation: rotate 1s linear infinite;\n}\n\n.error-panel {\n padding: 0 20px;\n\n p {\n .error {\n color: red;\n }\n\n margin-bottom: 10px;\n }\n}\n\n.config-container {\n display: flex;\n justify-content: space-around;\n flex-wrap: wrap;\n}\n\n.config-panel {\n h2 {\n text-align: center;\n font-size: 16px;\n margin-bottom: 10px;\n }\n}\n</style>\n"],"names":["getServiceOverview","ajax","getServiceConfig","updateCfg","data","ConfigServiceAPI","_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","closeBold","_export_sfc","select","serviceList","reactive","$store","useStore","loading","ref","showErrorList","computed","item","refreshStatus","v","status","errMsg","ElMessage","serverConfig","v2","v3","onMounted"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"index-9e6a9bcf.js","sources":["../../src/apis/modules/config.ts","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/close-bold.mjs","../../node_modules/.pnpm/@element-plus+icons-vue@1.1.4_vue@3.3.4/node_modules/@element-plus/icons-vue/dist/es/select.mjs","../../src/pages/dashboard/config/index.vue"],"sourcesContent":["import ajax from '../ajax'\n\nfunction getServiceOverview(): ConfigServiceAPITypes.getServiceOverview {\n return ajax.get('/config/service/overview')\n}\n\nfunction getServiceConfig(): ConfigServiceAPITypes.getServiceConfig {\n return ajax.get('/config/service/config')\n}\n\nfunction updateCfg(data: ConfigServiceAPITypes.ServiceConfigItem) {\n return ajax.put('/config/service/config', data)\n}\n\nexport default {\n getServiceOverview,\n getServiceConfig,\n updateCfg\n}\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"CloseBold\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar closeBold = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { closeBold as default };\n","import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';\nimport _export_sfc from './_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n name: \"Select\"\n});\nconst _hoisted_1 = {\n viewBox: \"0 0 1024 1024\",\n xmlns: \"http://www.w3.org/2000/svg\"\n};\nconst _hoisted_2 = /* @__PURE__ */ createElementVNode(\"path\", {\n fill: \"currentColor\",\n d: \"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z\"\n}, null, -1);\nconst _hoisted_3 = [\n _hoisted_2\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", _hoisted_1, _hoisted_3);\n}\nvar select = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { select as default };\n","<template>\n <div class=\"user\">\n <div class=\"panel\">\n <!-- 服务概况 -->\n <div>\n <h1>\n <span>服务概况</span>\n <el-icon\n :class=\"{\n loading\n }\"\n @click=\"refreshStatus\"\n style=\"cursor: pointer; margin-left: 10px\"\n >\n <Refresh />\n </el-icon>\n <span v-show=\"loading\">数据加载中...</span>\n </h1>\n <Tip>查看各个服务的运行情况</Tip>\n <div class=\"service-list\">\n <div\n v-for=\"service in serviceList\"\n :key=\"service.key\"\n class=\"service-item\"\n >\n <img :src=\"service.logo\" :alt=\"service.name\" />\n <!-- <p>{{ service.name }}</p> -->\n <p>\n <Tip>{{ service.des }}</Tip>\n </p>\n <el-button\n v-if=\"service.status\"\n type=\"success\"\n size=\"small\"\n :icon=\"Select\"\n circle\n />\n <el-button\n v-else\n type=\"danger\"\n size=\"small\"\n :icon=\"CloseBold\"\n circle\n />\n <p v-if=\"!service.status && service.error\">\n <Tip>{{ service.error }}</Tip>\n </p>\n </div>\n </div>\n </div>\n <div v-show=\"showErrorList.length\" class=\"error-panel\">\n <h1>错误信息</h1>\n <p v-for=\"err in showErrorList\" :key=\"err.key\">\n <strong>{{ err.name }}:</strong>\n <span class=\"error\">{{ err.errMsg }}</span>\n </p>\n </div>\n <div>\n <h1>服务相关配置</h1>\n <Tip>\n 在此面板,配置服务器运行相关参数\n <a\n href=\"https://docs.ep.sugarat.top/deploy/online-new.html#_5-%E6%9C%80%E5%90%8E%E6%9B%B4%E6%96%B0%E9%85%8D%E7%BD%AE\"\n >\n <el-button type=\"primary\" link>配置手册?</el-button></a\n >\n </Tip>\n </div>\n <div class=\"config-container\">\n <div\n class=\"config-panel\"\n v-for=\"serverItem in serverConfig\"\n :key=\"serverItem.title\"\n >\n <h2>\n {{ serverItem.title }}\n </h2>\n <el-form\n :label-position=\"'right'\"\n label-width=\"100px\"\n style=\"max-width: 400px; margin: 0 auto\"\n >\n <el-form-item\n :label-width=\"'auto'\"\n v-for=\"cfgItem in serverItem.data\"\n :label=\"cfgItem.label || cfgItem.key\"\n :key=\"cfgItem.key\"\n >\n <div class=\"flex\" style=\"flex: 1\">\n <el-input\n :disabled=\"cfgItem.disabled\"\n v-model=\"cfgItem.value\"\n />\n <el-button\n v-if=\"cfgItem.disabled\"\n @click=\"cfgItem.disabled = false\"\n type=\"primary\"\n text\n >更新</el-button\n >\n <el-button\n v-else\n @click=\"updateCfg(cfgItem)\"\n type=\"success\"\n text\n >完成</el-button\n >\n </div>\n </el-form-item>\n </el-form>\n </div>\n </div>\n </div>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ElMessage } from 'element-plus'\nimport { computed, onMounted, reactive, ref } from 'vue'\nimport { useStore } from 'vuex'\nimport { Select, CloseBold, Refresh } from '@element-plus/icons-vue'\nimport { ConfigServiceAPI } from '@/apis'\nimport Tip from '../tasks/components/infoPanel/tip.vue'\n\nconst serviceList = reactive([\n {\n name: 'MySQL',\n key: 'mysql',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTAyMjIwNA==657359022204',\n status: false,\n des: '存储用户数据',\n errMsg: ''\n },\n {\n name: '七牛云',\n key: 'qiniu',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODcyODM0Mg==657358728342',\n status: false,\n des: '文件存储'\n },\n {\n name: 'MongoDB',\n key: 'mongodb',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTA4OTc3Nw==657359089777',\n status: false,\n des: '用户数据与日志'\n },\n {\n name: 'Redis',\n key: 'redis',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1ODgyNzM1MA==657358827350',\n status: false,\n des: '持久化缓存数据',\n error: '确保安装redis,且监听端口6379'\n },\n {\n name: '腾讯云',\n key: 'tx',\n logo: 'https://img.cdn.sugarat.top/mdImg/MTY1NzM1OTE1MzQzOQ==657359153439',\n status: false,\n des: '短信服务'\n }\n])\nconst $store = useStore()\nconst loading = ref(false)\nconst showErrorList = computed(() => serviceList.filter((item) => item.errMsg))\nconst refreshStatus = () => {\n if (loading.value) return\n loading.value = true\n ConfigServiceAPI.getServiceOverview().then((v) => {\n const { data } = v\n serviceList.forEach((item) => {\n const { status, errMsg } = data[item.key]\n item.status = status\n item.errMsg = errMsg\n })\n ElMessage.success('服务状态刷新完成')\n loading.value = false\n })\n}\n\nconst serverConfig = ref([])\nconst getServiceConfig = () => {\n ConfigServiceAPI.getServiceConfig().then((v) => {\n // console.log(v.data)\n v.data.forEach((v) => {\n v.data.forEach((v) => {\n v.disabled = true\n })\n })\n serverConfig.value = v.data\n })\n}\nconst updateCfg = (item: ConfigServiceAPITypes.ServiceConfigItem) => {\n ConfigServiceAPI.updateCfg(item).then(() => {\n item.disabled = true\n ElMessage.success('更新成功')\n refreshStatus()\n })\n}\nonMounted(() => {\n refreshStatus()\n getServiceConfig()\n})\nconst isMobile = computed(() => $store.getters['public/isMobile'])\n</script>\n\n<style scoped lang=\"scss\">\n@media screen and (max-width: 700px) {\n .user {\n margin-top: 40px !important;\n }\n}\n\n.user {\n margin: 0 auto;\n}\n\n.panel {\n max-width: 1256px;\n padding: 1em;\n background-color: #fff;\n margin: 10px auto;\n box-sizing: border-box;\n box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);\n border-radius: 4px;\n}\n\nh1 {\n margin: 0;\n padding: 10px 0;\n font-size: 20px;\n font-weight: bold;\n text-align: center;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.service-list {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-around;\n}\n\n.service-item {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin: 10px;\n min-width: 120px;\n\n img {\n width: 80px;\n }\n\n p {\n text-align: center;\n padding-top: 10px;\n font-size: 14px;\n }\n}\n\n@keyframes rotate {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.loading {\n margin-left: 10px;\n animation: rotate 1s linear infinite;\n}\n\n.error-panel {\n padding: 0 20px;\n\n p {\n .error {\n color: red;\n }\n\n margin-bottom: 10px;\n }\n}\n\n.config-container {\n display: flex;\n justify-content: space-around;\n flex-wrap: wrap;\n}\n\n.config-panel {\n h2 {\n text-align: center;\n font-size: 16px;\n margin-bottom: 10px;\n }\n}\n</style>\n"],"names":["getServiceOverview","ajax","getServiceConfig","updateCfg","data","ConfigServiceAPI","_sfc_main","defineComponent","_hoisted_1","_hoisted_2","createElementVNode","_hoisted_3","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","openBlock","createElementBlock","closeBold","_export_sfc","select","serviceList","reactive","$store","useStore","loading","ref","showErrorList","computed","item","refreshStatus","v","status","errMsg","ElMessage","serverConfig","v2","v3","onMounted"],"mappings":"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","x_google_ignoreList":[1,2]}