import{b as e,h as o,_ as n,d as t,f as l,r,j as a,F as i,cq as s,g as d,p as u,aE as c,cr as p,D as v,cs as f,a_ as m,m as g,e as b,w,N as h,bi as I,bj as y,c as E,al as F,bC as C,J as R,n as _,aj as k,E as T,ct as x,ap as S,bg as B,an as $,a as D,u as P,X as M,ab as K,B as L,cp as G,aw as O,k as z,Y as A,ai as H,l as N,q as j,Q as J,a7 as U,cu as Y,cv as q,$ as W,cw as Q,v as V,s as X}from"./index.1760005586751DsaOmpPz.js";import{c as Z,d as ee,E as oe,a as ne,C as te,b as le,e as re,f as ae,g as ie,F as se,L as de}from"./dropdown.1760005586751B1-b8CSg.js";const ue=e({style:{type:o([String,Array,Object])},currentTabId:{type:o(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:o(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:ce,ElCollectionItem:pe,COLLECTION_INJECTION_KEY:ve,COLLECTION_ITEM_INJECTION_KEY:fe}=Z("RovingFocusGroup"),me=Symbol("elRovingFocusGroup"),ge=Symbol("elRovingFocusGroupItem"),be={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},we=e=>{const{activeElement:o}=document;for(const n of e){if(n===o)return;if(n.focus(),o!==document.activeElement)return}},he="currentTabIdChange",Ie="rovingFocusGroup.entryFocus",ye={bubbles:!1,cancelable:!0},Ee=t({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:ue,emits:[he,"entryFocus"],setup(e,{emit:o}){var n;const t=r(null!=(n=e.currentTabId||e.defaultCurrentTabId)?n:null),l=r(!1),m=r(!1),g=r(),{getItems:b}=a(ve,void 0),w=i(()=>[{outline:"none"},e.style]),h=s(o=>{var n;null==(n=e.onMousedown)||n.call(e,o)},()=>{m.value=!0}),I=s(o=>{var n;null==(n=e.onFocus)||n.call(e,o)},e=>{const o=!d(m),{target:n,currentTarget:r}=e;if(n===r&&o&&!d(l)){const e=new Event(Ie,ye);if(null==r||r.dispatchEvent(e),!e.defaultPrevented){const e=b().filter(e=>e.focusable),o=[e.find(e=>e.active),e.find(e=>e.id===d(t)),...e].filter(Boolean).map(e=>e.ref);we(o)}}m.value=!1}),y=s(o=>{var n;null==(n=e.onBlur)||n.call(e,o)},()=>{l.value=!1});u(me,{currentTabbedId:p(t),loop:c(e,"loop"),tabIndex:i(()=>d(l)?-1:0),rovingFocusGroupRef:g,rovingFocusGroupRootStyle:w,orientation:c(e,"orientation"),dir:c(e,"dir"),onItemFocus:e=>{o(he,e)},onItemShiftTab:()=>{l.value=!0},onBlur:y,onFocus:I,onMousedown:h}),v(()=>e.currentTabId,e=>{t.value=null!=e?e:null}),f(g,Ie,(...e)=>{o("entryFocus",...e)})}});var Fe=n(t({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:ce,ElRovingFocusGroupImpl:n(Ee,[["render",function(e,o,n,t,r,a){return l(e.$slots,"default")}],["__file","roving-focus-group-impl.vue"]])}}),[["render",function(e,o,n,t,r,a){const i=m("el-roving-focus-group-impl"),s=m("el-focus-group-collection");return b(),g(s,null,{default:w(()=>[h(i,I(y(e.$attrs)),{default:w(()=>[l(e.$slots,"default")]),_:3},16)]),_:3})}],["__file","roving-focus-group.vue"]]);const Ce=Symbol("elDropdown"),Re="elDropdown",{ButtonGroup:_e}=$;var ke=n(t({name:"ElDropdown",components:{ElButton:$,ElButtonGroup:_e,ElScrollbar:B,ElDropdownCollection:oe,ElTooltip:S,ElRovingFocusGroup:Fe,ElOnlyChild:x,ElIcon:T,ArrowDown:k},props:ee,emits:["visible-change","click","command"],setup(e,{emit:o}){const n=z(),t=D("dropdown"),{t:l}=P(),a=r(),s=r(),p=r(),f=r(),m=r(null),g=r(null),b=r(!1),w=i(()=>({maxHeight:M(e.maxHeight)})),h=i(()=>[t.m(C.value)]),I=i(()=>L(e.trigger)),y=G().value,E=i(()=>e.id||y);function F(){var e;null==(e=p.value)||e.onClose()}v([a,I],([e,o],[n])=>{var t,l,r;(null==(t=null==n?void 0:n.$el)?void 0:t.removeEventListener)&&n.$el.removeEventListener("pointerenter",R),(null==(l=null==e?void 0:e.$el)?void 0:l.removeEventListener)&&e.$el.removeEventListener("pointerenter",R),(null==(r=null==e?void 0:e.$el)?void 0:r.addEventListener)&&o.includes("hover")&&e.$el.addEventListener("pointerenter",R)},{immediate:!0}),O(()=>{var e,o;(null==(o=null==(e=a.value)?void 0:e.$el)?void 0:o.removeEventListener)&&a.value.$el.removeEventListener("pointerenter",R)});const C=K();function R(){var e,o;null==(o=null==(e=a.value)?void 0:e.$el)||o.focus()}u(Ce,{contentRef:f,role:i(()=>e.role),triggerId:E,isUsingKeyboard:b,onItemEnter:function(){},onItemLeave:function(){const e=d(f);I.value.includes("hover")&&(null==e||e.focus()),g.value=null}}),u(Re,{instance:n,dropdownSize:C,handleClick:function(){F()},commandHandler:function(...e){o("command",...e)},trigger:c(e,"trigger"),hideOnClick:c(e,"hideOnClick")});return{t:l,ns:t,scrollbar:m,wrapStyle:w,dropdownTriggerKls:h,dropdownSize:C,triggerId:E,currentTabId:g,handleCurrentTabIdChange:function(e){g.value=e},handlerMainButtonClick:e=>{o("click",e)},handleEntryFocus:function(e){b.value||(e.preventDefault(),e.stopImmediatePropagation())},handleClose:F,handleOpen:function(){var e;null==(e=p.value)||e.onOpen()},handleBeforeShowTooltip:function(){o("visible-change",!0)},handleShowTooltip:function(e){var o;"keydown"===(null==e?void 0:e.type)&&(null==(o=f.value)||o.focus())},handleBeforeHideTooltip:function(){o("visible-change",!1)},onFocusAfterTrapped:e=>{var o,n;e.preventDefault(),null==(n=null==(o=f.value)?void 0:o.focus)||n.call(o,{preventScroll:!0})},popperRef:p,contentRef:f,triggeringElementRef:a,referenceElementRef:s}}}),[["render",function(e,o,n,t,r,a){var i;const s=m("el-dropdown-collection"),d=m("el-roving-focus-group"),u=m("el-scrollbar"),c=m("el-only-child"),p=m("el-tooltip"),v=m("el-button"),f=m("arrow-down"),I=m("el-icon"),y=m("el-button-group");return b(),E("div",{class:_([e.ns.b(),e.ns.is("disabled",e.disabled)])},[h(p,{ref:"popperRef",role:e.role,effect:e.effect,"fallback-placements":["bottom","top"],"popper-options":e.popperOptions,"gpu-acceleration":!1,"hide-after":"hover"===e.trigger?e.hideTimeout:0,"manual-mode":!0,placement:e.placement,"popper-class":[e.ns.e("popper"),e.popperClass],"reference-element":null==(i=e.referenceElementRef)?void 0:i.$el,trigger:e.trigger,"trigger-keys":e.triggerKeys,"trigger-target-el":e.contentRef,"show-after":"hover"===e.trigger?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:e.persistent,onBeforeShow:e.handleBeforeShowTooltip,onShow:e.handleShowTooltip,onBeforeHide:e.handleBeforeHideTooltip},C({content:w(()=>[h(u,{ref:"scrollbar","wrap-style":e.wrapStyle,tag:"div","view-class":e.ns.e("list")},{default:w(()=>[h(d,{loop:e.loop,"current-tab-id":e.currentTabId,orientation:"horizontal",onCurrentTabIdChange:e.handleCurrentTabIdChange,onEntryFocus:e.handleEntryFocus},{default:w(()=>[h(s,null,{default:w(()=>[l(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:w(()=>[h(c,{id:e.triggerId,ref:"triggeringElementRef",role:"button",tabindex:e.tabindex},{default:w(()=>[l(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","persistent","onBeforeShow","onShow","onBeforeHide"]),e.splitButton?(b(),g(y,{key:0},{default:w(()=>[h(v,R({ref:"referenceElementRef"},e.buttonProps,{size:e.dropdownSize,type:e.type,disabled:e.disabled,tabindex:e.tabindex,onClick:e.handlerMainButtonClick}),{default:w(()=>[l(e.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),h(v,R({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:w(()=>[h(I,{class:_(e.ns.e("icon"))},{default:w(()=>[h(f)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):F("v-if",!0)],2)}],["__file","dropdown.vue"]]);var Te=n(t({components:{ElRovingFocusCollectionItem:pe},props:{focusable:{type:Boolean,default:!0},active:Boolean},emits:["mousedown","focus","keydown"],setup(e,{emit:o}){const{currentTabbedId:n,loop:t,onItemFocus:l,onItemShiftTab:c}=a(me,void 0),{getItems:p}=a(ve,void 0),v=G(),f=r(),m=s(e=>{o("mousedown",e)},o=>{e.focusable?l(d(v)):o.preventDefault()}),g=s(e=>{o("focus",e)},()=>{l(d(v))}),b=s(e=>{o("keydown",e)},e=>{const{code:o,shiftKey:n,target:l,currentTarget:r}=e;if(o===A.tab&&n)return void c();if(l!==r)return;const a=(e=>{const o=e.code;return be[o]})(e);if(a){e.preventDefault();let o=p().filter(e=>e.focusable).map(e=>e.ref);switch(a){case"last":o.reverse();break;case"prev":case"next":{"prev"===a&&o.reverse();const e=o.indexOf(r);o=t.value?(s=e+1,(i=o).map((e,o)=>i[(o+s)%i.length])):o.slice(e+1);break}}H(()=>{we(o)})}var i,s}),w=i(()=>n.value===d(v));return u(ge,{rovingFocusGroupItemRef:f,tabIndex:i(()=>d(w)?0:-1),handleMousedown:m,handleFocus:g,handleKeydown:b}),{id:v,handleKeydown:b,handleFocus:g,handleMousedown:m}}}),[["render",function(e,o,n,t,r,a){const i=m("el-roving-focus-collection-item");return b(),g(i,{id:e.id,focusable:e.focusable,active:e.active},{default:w(()=>[l(e.$slots,"default")]),_:3},8,["id","focusable","active"])}],["__file","roving-focus-item.vue"]]);const xe=t({name:"DropdownItemImpl",components:{ElIcon:T},props:ne,emits:["pointermove","pointerleave","click","clickimpl"],setup(e,{emit:o}){const n=D("dropdown"),{role:t}=a(Ce,void 0),{collectionItemRef:l}=a(le,void 0),{collectionItemRef:r}=a(fe,void 0),{rovingFocusGroupItemRef:d,tabIndex:u,handleFocus:c,handleKeydown:p,handleMousedown:v}=a(ge,void 0),f=Y(l,r,d),m=i(()=>"menu"===t.value?"menuitem":"navigation"===t.value?"link":"button"),g=s(e=>{if([A.enter,A.numpadEnter,A.space].includes(e.code))return e.preventDefault(),e.stopImmediatePropagation(),o("clickimpl",e),!0},p);return{ns:n,itemRef:f,dataset:{[te]:""},role:m,tabIndex:u,handleFocus:c,handleKeydown:g,handleMousedown:v}}});const Se=()=>{const e=a(Re,{}),o=i(()=>null==e?void 0:e.dropdownSize);return{elDropdown:e,_elDropdownSize:o}};var Be=n(t({name:"ElDropdownItem",components:{ElDropdownCollectionItem:re,ElRovingFocusItem:Te,ElDropdownItemImpl:n(xe,[["render",function(e,o,n,t,r,a){const i=m("el-icon");return b(),E(U,null,[e.divided?(b(),E("li",{key:0,role:"separator",class:_(e.ns.bem("menu","item","divided"))},null,2)):F("v-if",!0),N("li",R({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:o=>e.$emit("clickimpl",o),onFocus:e.handleFocus,onKeydown:J(e.handleKeydown,["self"]),onMousedown:e.handleMousedown,onPointermove:o=>e.$emit("pointermove",o),onPointerleave:o=>e.$emit("pointerleave",o)}),[e.icon?(b(),g(i,{key:0},{default:w(()=>[(b(),g(j(e.icon)))]),_:1})):F("v-if",!0),l(e.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}],["__file","dropdown-item-impl.vue"]])},inheritAttrs:!1,props:ne,emits:["pointermove","pointerleave","click"],setup(e,{emit:o,attrs:n}){const{elDropdown:t}=Se(),l=z(),u=r(null),c=i(()=>{var e,o;return null!=(o=null==(e=d(u))?void 0:e.textContent)?o:""}),{onItemEnter:p,onItemLeave:v}=a(Ce,void 0),f=s(e=>(o("pointermove",e),e.defaultPrevented),q(o=>{if(e.disabled)return void v(o);const n=o.currentTarget;n===document.activeElement||n.contains(document.activeElement)||(p(o),o.defaultPrevented||null==n||n.focus())})),m=s(e=>(o("pointerleave",e),e.defaultPrevented),q(v));return{handleClick:s(n=>{if(!e.disabled)return o("click",n),"keydown"!==n.type&&n.defaultPrevented},o=>{var n,r,a;e.disabled?o.stopImmediatePropagation():((null==(n=null==t?void 0:t.hideOnClick)?void 0:n.value)&&(null==(r=t.handleClick)||r.call(t)),null==(a=t.commandHandler)||a.call(t,e.command,l,o))}),handlePointerMove:f,handlePointerLeave:m,textContent:c,propsAndAttrs:i(()=>({...e,...n}))}}}),[["render",function(e,o,n,t,r,a){var i;const s=m("el-dropdown-item-impl"),d=m("el-roving-focus-item"),u=m("el-dropdown-collection-item");return b(),g(u,{disabled:e.disabled,"text-value":null!=(i=e.textValue)?i:e.textContent},{default:w(()=>[h(d,{focusable:!e.disabled},{default:w(()=>[h(s,R(e.propsAndAttrs,{onPointerleave:e.handlePointerLeave,onPointermove:e.handlePointerMove,onClickimpl:e.handleClick}),{default:w(()=>[l(e.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}],["__file","dropdown-item.vue"]]);var $e=n(t({name:"ElDropdownMenu",props:ae,setup(e){const o=D("dropdown"),{_elDropdownSize:n}=Se(),t=n.value,{focusTrapRef:l,onKeydown:r}=a(Q,void 0),{contentRef:u,role:c,triggerId:p}=a(Ce,void 0),{collectionRef:v,getItems:f}=a(ie,void 0),{rovingFocusGroupRef:m,rovingFocusGroupRootStyle:g,tabIndex:b,onBlur:w,onFocus:h,onMousedown:I}=a(me,void 0),{collectionRef:y}=a(ve,void 0),E=i(()=>[o.b("menu"),o.bm("menu",null==t?void 0:t.value)]),F=Y(u,v,l,m,y),C=s(o=>{var n;null==(n=e.onKeydown)||n.call(e,o)},e=>{const{currentTarget:o,code:n,target:t}=e;if(o.contains(t),A.tab===n&&e.stopImmediatePropagation(),e.preventDefault(),t!==d(u)||!se.includes(n))return;const l=f().filter(e=>!e.disabled).map(e=>e.ref);de.includes(n)&&l.reverse(),we(l)});return{size:t,rovingFocusGroupRootStyle:g,tabIndex:b,dropdownKls:E,role:c,triggerId:p,dropdownListWrapperRef:F,handleKeydown:e=>{C(e),r(e)},onBlur:w,onFocus:h,onMousedown:I}}}),[["render",function(e,o,n,t,r,a){return b(),E("ul",{ref:e.dropdownListWrapperRef,class:_(e.dropdownKls),style:W(e.rovingFocusGroupRootStyle),tabindex:-1,role:e.role,"aria-labelledby":e.triggerId,onBlur:e.onBlur,onFocus:e.onFocus,onKeydown:J(e.handleKeydown,["self"]),onMousedown:J(e.onMousedown,["self"])},[l(e.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}],["__file","dropdown-menu.vue"]]);const De=V(ke,{DropdownItem:Be,DropdownMenu:$e}),Pe=X(Be),Me=X($e);export{Me as E,De as a,Pe as b};