import{aI as me,aJ as W,bO as ge,bP as y,aM as M,d as L,r as F,i as E,e as k,q as N,bG as be,aP as A,a as _,w as ee,bQ as we,aL as D,bR as S,as as h,o as B,A as O,B as g,f as C,aQ as he,bS as Ie,bT as ne,n as ye,L as oe,a$ as Ee,bU as ke,bc as Fe,bV as Ce,aD as te,bW as Re,bX as Te,j as le,aK as Y,bl as _e,bf as Se,bY as xe,h as Be,bx as $e,c as U,aX as De,m as H,aa as j,E as Q,bZ as re,b_ as Pe,b$ as Ke,C as Me,Z as Le,aB as V,F as Ge,c0 as ae,c1 as Oe,c2 as ie,c3 as ze,c4 as Ae,c5 as He,aE as Ne,c6 as Ue,c7 as Je,aN as We,aR as se}from"./index-b9299550.js";const Ye=me({style:{type:W([String,Array,Object])},currentTabId:{type:W(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:W(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:je,ElCollectionItem:Qe,COLLECTION_INJECTION_KEY:X,COLLECTION_ITEM_INJECTION_KEY:Ve}=ge("RovingFocusGroup"),Z=Symbol("elRovingFocusGroup"),de=Symbol("elRovingFocusGroupItem"),Xe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},Ze=(e,n,c)=>{const a=((d,u)=>{if(u!=="rtl")return d;switch(d){case y.right:return y.left;case y.left:return y.right;default:return d}})(e.key,c);if(!(n==="vertical"&&[y.left,y.right].includes(a)||n==="horizontal"&&[y.up,y.down].includes(a)))return Xe[a]},q=e=>{const{activeElement:n}=document;for(const c of e)if(c===n||(c.focus(),n!==document.activeElement))return},ue="currentTabIdChange",ce="rovingFocusGroup.entryFocus",qe={bubbles:!1,cancelable:!0},en=L({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:Ye,emits:[ue,"entryFocus"],setup(e,{emit:n}){var c;const a=F((c=e.currentTabId||e.defaultCurrentTabId)!=null?c:null),d=F(!1),u=F(!1),i=F(null),{getItems:r}=E(X,void 0),v=k(()=>[{outline:"none"},e.style]),b=S(l=>{var s;(s=e.onMousedown)==null||s.call(e,l)},()=>{u.value=!0}),w=S(l=>{var s;(s=e.onFocus)==null||s.call(e,l)},l=>{const s=!_(u),{target:f,currentTarget:I}=l;if(f===I&&s&&!_(d)){const P=new Event(ce,qe);if(I==null||I.dispatchEvent(P),!P.defaultPrevented){const R=r().filter(m=>m.focusable),x=[R.find(m=>m.active),R.find(m=>m.id===_(a)),...R].filter(Boolean).map(m=>m.ref);q(x)}}u.value=!1}),t=S(l=>{var s;(s=e.onBlur)==null||s.call(e,l)},()=>{d.value=!1});N(Z,{currentTabbedId:be(a),loop:A(e,"loop"),tabIndex:k(()=>_(d)?-1:0),rovingFocusGroupRef:i,rovingFocusGroupRootStyle:v,orientation:A(e,"orientation"),dir:A(e,"dir"),onItemFocus:l=>{n(ue,l)},onItemShiftTab:()=>{d.value=!0},onBlur:t,onFocus:w,onMousedown:b}),ee(()=>e.currentTabId,l=>{a.value=l??null}),we(i,ce,(...l)=>{n("entryFocus",...l)})}});var nn=M(L({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:je,ElRovingFocusGroupImpl:M(en,[["render",function(e,n,c,a,d,u){return D(e.$slots,"default")}],["__file","/home/runner/work/element-plus/element-plus/packages/components/roving-focus-group/src/roving-focus-group-impl.vue"]])}}),[["render",function(e,n,c,a,d,u){const i=h("el-roving-focus-group-impl"),r=h("el-focus-group-collection");return B(),O(r,null,{default:g(()=>[C(i,he(Ie(e.$attrs)),{default:g(()=>[D(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","/home/runner/work/element-plus/element-plus/packages/components/roving-focus-group/src/roving-focus-group.vue"]]),on=M(L({components:{ElRovingFocusCollectionItem:Qe},props:{focusable:{type:Boolean,default:!0},active:{type:Boolean,default:!1}},emits:["mousedown","focus","keydown"],setup(e,{emit:n}){const{currentTabbedId:c,loop:a,onItemFocus:d,onItemShiftTab:u}=E(Z,void 0),{getItems:i}=E(X,void 0),r=ne(),v=F(null),b=S(s=>{n("mousedown",s)},s=>{e.focusable?d(_(r)):s.preventDefault()}),w=S(s=>{n("focus",s)},()=>{d(_(r))}),t=S(s=>{n("keydown",s)},s=>{const{key:f,shiftKey:I,target:P,currentTarget:R}=s;if(f===y.tab&&I)return void u();if(P!==R)return;const x=Ze(s);if(x){s.preventDefault();let o=i().filter(p=>p.focusable).map(p=>p.ref);switch(x){case"last":o.reverse();break;case"prev":case"next":{x==="prev"&&o.reverse();const p=o.indexOf(R);o=a.value?($=p+1,(m=o).map((T,K)=>m[(K+$)%m.length])):o.slice(p+1);break}}ye(()=>{q(o)})}var m,$}),l=k(()=>c.value===_(r));return N(de,{rovingFocusGroupItemRef:v,tabIndex:k(()=>_(l)?0:-1),handleMousedown:b,handleFocus:w,handleKeydown:t}),{id:r,handleKeydown:t,handleFocus:w,handleMousedown:b}}}),[["render",function(e,n,c,a,d,u){const i=h("el-roving-focus-collection-item");return B(),O(i,{id:e.id,focusable:e.focusable,active:e.active},{default:g(()=>[D(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","/home/runner/work/element-plus/element-plus/packages/components/roving-focus-group/src/roving-focus-item.vue"]]);const J=Symbol("elDropdown"),{ButtonGroup:tn}=oe;var ln=M(L({name:"ElDropdown",components:{ElButton:oe,ElButtonGroup:tn,ElScrollbar:Ee,ElDropdownCollection:ke,ElTooltip:Fe,ElRovingFocusGroup:nn,ElOnlyChild:Ce,ElIcon:te,ArrowDown:Re},props:Te,emits:["visible-change","click","command"],setup(e,{emit:n}){const c=le(),a=Y("dropdown"),{t:d}=_e(),u=F(),i=F(),r=F(null),v=F(null),b=F(null),w=F(null),t=F(!1),l=[y.enter,y.space,y.down],s=k(()=>({maxHeight:Se(e.maxHeight)})),f=k(()=>[a.m(m.value)]),I=k(()=>xe(e.trigger)),P=ne().value,R=k(()=>e.id||P);function x(){var o;(o=r.value)==null||o.onClose()}ee([u,I],([o,p],[T])=>{var K,z,G;(K=T==null?void 0:T.$el)!=null&&K.removeEventListener&&T.$el.removeEventListener("pointerenter",$),(z=o==null?void 0:o.$el)!=null&&z.removeEventListener&&o.$el.removeEventListener("pointerenter",$),(G=o==null?void 0:o.$el)!=null&&G.addEventListener&&p.includes("hover")&&o.$el.addEventListener("pointerenter",$)},{immediate:!0}),Be(()=>{var o,p;(p=(o=u.value)==null?void 0:o.$el)!=null&&p.removeEventListener&&u.value.$el.removeEventListener("pointerenter",$)});const m=$e();function $(){var o,p;(p=(o=u.value)==null?void 0:o.$el)==null||p.focus()}return N(J,{contentRef:v,role:k(()=>e.role),triggerId:R,isUsingKeyboard:t,onItemEnter:function(){},onItemLeave:function(){const o=_(v);I.value.includes("hover")&&(o==null||o.focus()),w.value=null}}),N("elDropdown",{instance:c,dropdownSize:m,handleClick:function(){x()},commandHandler:function(...o){n("command",...o)},trigger:A(e,"trigger"),hideOnClick:A(e,"hideOnClick")}),{t:d,ns:a,scrollbar:b,wrapStyle:s,dropdownTriggerKls:f,dropdownSize:m,triggerId:R,triggerKeys:l,currentTabId:w,handleCurrentTabIdChange:function(o){w.value=o},handlerMainButtonClick:o=>{n("click",o)},handleEntryFocus:function(o){t.value||(o.preventDefault(),o.stopImmediatePropagation())},handleClose:x,handleOpen:function(){var o;(o=r.value)==null||o.onOpen()},handleBeforeShowTooltip:function(){n("visible-change",!0)},handleShowTooltip:function(o){(o==null?void 0:o.type)==="keydown"&&v.value.focus()},handleBeforeHideTooltip:function(){n("visible-change",!1)},onFocusAfterTrapped:o=>{var p,T;o.preventDefault(),(T=(p=v.value)==null?void 0:p.focus)==null||T.call(p,{preventScroll:!0})},popperRef:r,contentRef:v,triggeringElementRef:u,referenceElementRef:i}}}),[["render",function(e,n,c,a,d,u){var i;const r=h("el-dropdown-collection"),v=h("el-roving-focus-group"),b=h("el-scrollbar"),w=h("el-only-child"),t=h("el-tooltip"),l=h("el-button"),s=h("arrow-down"),f=h("el-icon"),I=h("el-button-group");return B(),U("div",{class:j([e.ns.b(),e.ns.is("disabled",e.disabled)])},[C(t,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"hide-after":e.trigger==="hover"?e.hideTimeout:0,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":(i=e.referenceElementRef)==null?void 0:i.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-after":e.trigger==="hover"?e.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":e.triggeringElementRef,"virtual-triggering":e.splitButton,disabled:e.disabled,transition:`${e.ns.namespace.value}-zoom-in-top`,teleported:e.teleported,pure:"",persistent:"",onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},De({content:g(()=>[C(b,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:g(()=>[C(v,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:g(()=>[C(r,null,{default:g(()=>[D(e.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[e.splitButton?void 0:{name:"default",fn:g(()=>[C(w,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:g(()=>[D(e.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(B(),O(I,{key:0},{default:g(()=>[C(l,H({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:g(()=>[D(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),C(l,H({id:e.triggerId,ref:"triggeringElementRef"},e.buttonProps,{role:"button",size:e.dropdownSize,type:e.type,class:e.ns.e("caret-button"),disabled:e.disabled,tabindex:e.tabindex,"aria-label":e.t("el.dropdown.toggleDropdown")}),{default:g(()=>[C(f,{class:j(e.ns.e("icon"))},{default:g(()=>[C(s)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):Q("v-if",!0)],2)}],["__file","/home/runner/work/element-plus/element-plus/packages/components/dropdown/src/dropdown.vue"]]);const rn=L({name:"DropdownItemImpl",components:{ElIcon:te},props:re,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:n}){const c=Y("dropdown"),{role:a}=E(J,void 0),{collectionItemRef:d}=E(Pe,void 0),{collectionItemRef:u}=E(Ve,void 0),{rovingFocusGroupItemRef:i,tabIndex:r,handleFocus:v,handleKeydown:b,handleMousedown:w}=E(de,void 0),t=ae(d,u,i),l=k(()=>a.value==="menu"?"menuitem":a.value==="navigation"?"link":"button"),s=S(f=>{const{code:I}=f;if(I===y.enter||I===y.space)return f.preventDefault(),f.stopImmediatePropagation(),n("clickimpl",f),!0},b);return{ns:c,itemRef:t,dataset:{[Ke]:""},role:l,tabIndex:r,handleFocus:v,handleKeydown:s,handleMousedown:w}}}),an=["aria-disabled","tabindex","role"],pe=()=>{const e=E("elDropdown",{}),n=k(()=>e==null?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:n}},sn=L({name:"ElDropdownItem",components:{ElDropdownCollectionItem:Oe,ElRovingFocusItem:on,ElDropdownItemImpl:M(rn,[["render",function(e,n,c,a,d,u){const i=h("el-icon");return B(),U(Ge,null,[e.divided?(B(),U("li",H({key:0,role:"separator",class:e.ns.bem("menu","item","divided")},e.$attrs),null,16)):Q("v-if",!0),Me("li",H({ref:e.itemRef},{...e.dataset,...e.$attrs},{"aria-disabled":e.disabled,class:[e.ns.be("menu","item"),e.ns.is("disabled",e.disabled)],tabindex:e.tabIndex,role:e.role,onClick:n[0]||(n[0]=r=>e.$emit("clickimpl",r)),onFocus:n[1]||(n[1]=(...r)=>e.handleFocus&&e.handleFocus(...r)),onKeydown:n[2]||(n[2]=V((...r)=>e.handleKeydown&&e.handleKeydown(...r),["self"])),onMousedown:n[3]||(n[3]=(...r)=>e.handleMousedown&&e.handleMousedown(...r)),onPointermove:n[4]||(n[4]=r=>e.$emit("pointermove",r)),onPointerleave:n[5]||(n[5]=r=>e.$emit("pointerleave",r))}),[e.icon?(B(),O(i,{key:0},{default:g(()=>[(B(),O(Le(e.icon)))]),_:1})):Q("v-if",!0),D(e.$slots,"default")],16,an)],64)}],["__file","/home/runner/work/element-plus/element-plus/packages/components/dropdown/src/dropdown-item-impl.vue"]])},inheritAttrs:!1,props:re,emits:["pointermove","pointerleave","click"],setup(e,{emit:n,attrs:c}){const{elDropdown:a}=pe(),d=le(),u=F(null),i=k(()=>{var t,l;return(l=(t=_(u))==null?void 0:t.textContent)!=null?l:""}),{onItemEnter:r,onItemLeave:v}=E(J,void 0),b=S(t=>(n("pointermove",t),t.defaultPrevented),ie(t=>{if(e.disabled)return void v(t);const l=t.currentTarget;l===document.activeElement||l.contains(document.activeElement)||(r(t),t.defaultPrevented||l==null||l.focus())})),w=S(t=>(n("pointerleave",t),t.defaultPrevented),ie(t=>{v(t)}));return{handleClick:S(t=>{if(!e.disabled)return n("click",t),t.type!=="keydown"&&t.defaultPrevented},t=>{var l,s,f;e.disabled?t.stopImmediatePropagation():((l=a==null?void 0:a.hideOnClick)!=null&&l.value&&((s=a.handleClick)==null||s.call(a)),(f=a.commandHandler)==null||f.call(a,e.command,d,t))}),handlePointerMove:b,handlePointerLeave:w,textContent:i,propsAndAttrs:k(()=>({...e,...c}))}}});var ve=M(sn,[["render",function(e,n,c,a,d,u){var i;const r=h("el-dropdown-item-impl"),v=h("el-roving-focus-item"),b=h("el-dropdown-collection-item");return B(),O(b,{disabled:e.disabled,"text-value":(i=e.textValue)!=null?i:e.textContent},{default:g(()=>[C(v,{focusable:!e.disabled},{default:g(()=>[C(r,H(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:g(()=>[D(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","/home/runner/work/element-plus/element-plus/packages/components/dropdown/src/dropdown-item.vue"]]);const dn=L({name:"ElDropdownMenu",props:ze,setup(e){const n=Y("dropdown"),{_elDropdownSize:c}=pe(),a=c.value,{focusTrapRef:d,onKeydown:u}=E(Ae,void 0),{contentRef:i,role:r,triggerId:v}=E(J,void 0),{collectionRef:b,getItems:w}=E(He,void 0),{rovingFocusGroupRef:t,rovingFocusGroupRootStyle:l,tabIndex:s,onBlur:f,onFocus:I,onMousedown:P}=E(Z,void 0),{collectionRef:R}=E(X,void 0),x=k(()=>[n.b("menu"),n.bm("menu",a==null?void 0:a.value)]),m=ae(i,b,d,t,R),$=S(o=>{var p;(p=e.onKeydown)==null||p.call(e,o)},o=>{const{currentTarget:p,code:T,target:K}=o;if(p.contains(K),y.tab===T&&o.stopImmediatePropagation(),o.preventDefault(),K!==_(i)||!Ue.includes(T))return;const z=w().filter(G=>!G.disabled).map(G=>G.ref);Je.includes(T)&&z.reverse(),q(z)});return{size:a,rovingFocusGroupRootStyle:l,tabIndex:s,dropdownKls:x,role:r,triggerId:v,dropdownListWrapperRef:m,handleKeydown:o=>{$(o),u(o)},onBlur:f,onFocus:I,onMousedown:P}}}),un=["role","aria-labelledby"];var fe=M(dn,[["render",function(e,n,c,a,d,u){return B(),U("ul",{ref:e.dropdownListWrapperRef,class:j(e.dropdownKls),style:Ne(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:n[0]||(n[0]=(...i)=>e.onBlur&&e.onBlur(...i)),onFocus:n[1]||(n[1]=(...i)=>e.onFocus&&e.onFocus(...i)),onKeydown:n[2]||(n[2]=V((...i)=>e.handleKeydown&&e.handleKeydown(...i),["self"])),onMousedown:n[3]||(n[3]=V((...i)=>e.onMousedown&&e.onMousedown(...i),["self"]))},[D(e.$slots,"default")],46,un)}],["__file","/home/runner/work/element-plus/element-plus/packages/components/dropdown/src/dropdown-menu.vue"]]);const cn=We(ln,{DropdownItem:ve,DropdownMenu:fe}),pn=se(ve),vn=se(fe);export{pn as E,vn as a,cn as b};