1var e,t,r;import{o as s}from"./C_JJxWoe.js";import{Dr as o,Vr as n}from"./CGcjPoY7.js";import{f as a,l as i,o as u,r as c,t as l,u as p}from"./BiWktRCH.js";import{C as d,Et as m,J as g,Ot as f,S as v,T as b,at as j,h as y,q as h,w as x}from"./BDaugZDl.js";import{c as T}from"./DUS-nzxL.js";import{o as R,s as M}from"./Deh7axN0.js";import{i as E,t as w,y as F}from"./C9HL7yLd.js";import{r as S}from"./QOsZkgNX.js";import{t as O}from"./DM6pN49A.js";import{t as C}from"./BcHTGNfs.js";import{i as D,t as k}from"./CuN125mL.js";import{t as A}from"./MIPIcdpX.js";import{l as I,r as P,t as B}from"./Bdr0HBqH.js";import{t as N}from"./bLJSsYhf.js";import{t as U}from"./B1-s371o.js";e=s(n(),1),t=o(),r=f(function(r,s){const{render:o,className:n,style:f,disabled:F=!1,nativeButton:L=!0,id:G,openOnHover:H,delay:$=100,closeDelay:q=0,handle:J,payload:K,...V}=r,z=I(!0),Q=O(J)??z?.store;if(!Q)throw new Error(i(85));const W=w(G),X=Q.useState("isTriggerActive",W),Y=Q.useState("floatingRootContext"),Z=Q.useState("isOpenedByTrigger",W),_=Q.useState("triggerPopupId",W),ee=e.useRef(null),te=function(){const t=P(!0);return e.useMemo(()=>t?{type:"menubar",context:t}:{type:void 0},[t])}(),re=D(!0),se=x(),oe=e.useMemo(()=>se??new b,[se]),ne=v(oe),ae=d(),{registerTrigger:ie,isMountedByThisTrigger:ue}=y(W,ee,Q,{payload:K,closeDelay:q,parent:te,floatingTreeRoot:oe,floatingNodeId:ne,floatingParentNodeId:ae,keyboardEventRelay:re?.relayKeyboardEvent}),ce="menubar"===te.type,le=Q.useState("disabled"),pe=F||le||ce&&te.context.disabled,{getButtonProps:de,buttonRef:me}=k({disabled:pe,native:L});e.useEffect(()=>{Z||void 0!==te.type||(Q.context.allowMouseUpTriggerRef.current=!1)},[Q,Z,te.type]);const ge=e.useRef(null),fe=m(),ve=u(e=>{if(!ge.current)return;fe.clear(),Q.context.allowMouseUpTriggerRef.current=!1;const t=e.target;T(ge.current,t)||T(Q.select("positionerElement"),t)||t===ge.current||null!=t&&B(t)===Q.select("rootId")||N(e,ge.current)||oe.events.emit("close",{domEvent:e,reason:E})});e.useEffect(()=>{Z&&"trigger-hover"===Q.select("lastOpenChangeReason")&&g(ge.current).addEventListener("mouseup",ve,{once:!0})},[Z,ve,Q]);const be=ce&&te.context.hasSubmenuOpen,je=M(Y,{enabled:(H??be)&&!pe&&(!ce||be&&!ue),handleClose:R({blockPointerEvents:!ce}),mouseOnly:!0,move:!1,restMs:void 0===te.type?$:void 0,delay:{close:q},triggerElementRef:ee,externalTree:oe,isActiveTrigger:X,isClosing:()=>"ending"===Q.select("transitionStatus")}),ye=function(t,r){const s=m(),[o,n]=e.useState(!1);return p(()=>{t&&"trigger-hover"===r?(n(!0),s.start(500,()=>{n(!1)})):t||(s.clear(),n(!1))},[t,r,s]),o}(Z,Q.select("lastOpenChangeReason")),he=S(Y,{enabled:!pe,event:Z&&ce?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:void 0===te.type&&ye}),xe=C(Y,{enabled:!pe&&be}),Te=function(t){const{enabled:r=!0,mouseDownAction:s,open:o}=t,n=e.useRef(!1);return e.useMemo(()=>r?{onMouseDown:e=>{("open"===s&&!o||"close"===s&&o)&&(n.current=!0,g(e.currentTarget).addEventListener("click",()=>{n.current=!1},{once:!0}))},onClick:e=>{n.current&&(n.current=!1,e.preventBaseUIHandler())}}:a,[r,s,o])}({open:Z,enabled:ce,mouseDownAction:"open"}),Re=e.useMemo(()=>c(xe.reference,he.reference),[xe.reference,he.reference]),Me=Q.useState("triggerProps",ue),{preFocusGuardRef:Ee,handlePreFocusGuardFocus:we,handleFocusTargetFocus:Fe}=U(Q,ee),Se={disabled:pe,open:Z},Oe=[ge,s,me,ie,ee],Ce=[Re,je??a,Me,{"aria-haspopup":"menu","aria-controls":_,id:W,onMouseDown:e=>{Q.select("open")||(fe.start(200,()=>{Q.context.allowMouseUpTriggerRef.current=!0}),g(e.currentTarget).addEventListener("mouseup",ve,{once:!0}))}},ce?{role:"menuitem"}:{},Te,V,de],De=l("button",r,{enabled:!ce,stateAttributesMapping:j,state:Se,ref:Oe,props:Ce});return ce?(0,t.jsx)(A,{tag:"button",render:o,className:n,style:f,state:Se,refs:Oe,props:Ce,stateAttributesMapping:j}):Z?(0,t.jsxs)(e.Fragment,{children:[(0,t.jsx)(h,{ref:Ee,onFocus:we},`${W}-pre-focus-guard`),(0,t.jsx)(e.Fragment,{children:De},W),(0,t.jsx)(h,{ref:Q.context.triggerFocusTargetRef,onFocus:Fe},`${W}-post-focus-guard`)]}):(0,t.jsx)(e.Fragment,{children:De},W)});export{r as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.