@data-slot/navigation-menu 0.2.160 → 0.2.163
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.
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@data-slot/core`);const t=[`start`,`center`,`end`],n=[`top`,`right`,`bottom`,`left`],r=[`absolute`,`fixed`],i=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},a=(e,t,n)=>{let r=i(n,t);return e===`top`?{x:r.x,y:n.top}:e===`bottom`?{x:r.x,y:n.bottom}:e===`left`?{x:n.left,y:r.y}:{x:n.right,y:r.y}},o=e=>{let t=getComputedStyle(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;if(e instanceof HTMLElement){let t=e.offsetWidth||n,i=e.offsetHeight||r;(Math.round(n)!==t||Math.round(r)!==i)&&(n=t,r=i)}return{width:n,height:r}},s=`@data-slot/navigation-menu`;function c(i,c={}){let l=(0,e.reuseRootBinding)(i,s,`[@data-slot/navigation-menu] createNavigationMenu() called more than once for the same root. Returning the existing controller. Destroy it before rebinding with new options.`);if(l)return l;let u=c.delayOpen??(0,e.getDataNumber)(i,`delayOpen`)??0,d=c.delayClose??(0,e.getDataNumber)(i,`delayClose`)??0,f=c.openOnFocus??(0,e.getDataBool)(i,`openOnFocus`)??!1,ee=c.side??(0,e.getDataEnum)(i,`side`,n)??`bottom`,p=c.align??(0,e.getDataEnum)(i,`align`,t)??`start`,te=c.sideOffset??(0,e.getDataNumber)(i,`sideOffset`)??0,ne=c.alignOffset??(0,e.getDataNumber)(i,`alignOffset`)??0,re=c.positionMethod??(0,e.getDataEnum)(i,`positionMethod`,r)??`absolute`,ie=c.safeTriangle??(0,e.getDataBool)(i,`safeTriangle`)??!1,ae=c.debugSafeTriangle??(0,e.getDataBool)(i,`debugSafeTriangle`)??!1,oe=ie||ae,m=c.onValueChange,se=e=>e.replace(/[^a-z0-9\-_:.]/gi,`-`),h=(e,t)=>{`inert`in e&&(e.inert=t)},g=(0,e.getPart)(i,`navigation-menu-list`),_=(0,e.getParts)(i,`navigation-menu-item`),v=(0,e.getPart)(i,`navigation-menu-viewport`),y=(0,e.getPart)(i,`navigation-menu-indicator`);if(!g||_.length===0)throw Error(`NavigationMenu requires navigation-menu-list and at least one navigation-menu-item`);let b=null,x=null,ce=-1,le=null,S=null,C=null,w=!1,T=null,E=null,D=!1,ue=!1,O=null,k=null,de=null,fe=0,pe=0,A=!1,j=!1,M=[],N=new Map,P=new Map,F=new WeakMap,I=new Map,me=(e,t)=>{if(e){if(t){e.setAttribute(`data-open`,``),e.removeAttribute(`data-closed`);return}e.setAttribute(`data-closed`,``),e.removeAttribute(`data-open`)}},L=(e,t)=>{e&&(e.setAttribute(`data-state`,t?`open`:`closed`),me(e,t))},he=(e,t)=>{e.setAttribute(`data-state`,t?`active`:`inactive`),me(e,t)},R=(e,t)=>{if(t){e.setAttribute(`data-activation-direction`,t);return}e.removeAttribute(`data-activation-direction`)},z=()=>{if(!v)return{popup:null,positioner:null,portal:null};let e=null,t=null,n=null,r=v.parentElement,a=`popup`;for(;r&&r!==i;){let i=r.getAttribute(`data-slot`);if(i===`navigation-menu-portal`){n=r;break}if(a===`popup`&&i===`navigation-menu-popup`){e=r,a=`positioner`,r=r.parentElement;continue}if((a===`popup`||a===`positioner`)&&(i===`navigation-menu-positioner`||i===`navigation-menu-viewport-positioner`)){t=r,a=`portal`,r=r.parentElement;continue}r=r.parentElement}return{popup:e,positioner:t,portal:n}},B=null,ge=e=>{ue||B!==e||!e.isClosing||!e.popupExitComplete||!e.viewportExitComplete||Ve()},V={committed:{width:0,height:0},live:{width:0,height:0}},H=null,_e=null,ve=null,ye=e=>{e.width>0&&(V.committed.width=e.width),e.height>0&&(V.committed.height=e.height)},be=e=>{e.width>0&&(V.live.width=e.width),e.height>0&&(V.live.height=e.height)},xe=()=>{V={committed:{width:0,height:0},live:{width:0,height:0}}},Se=()=>{ve!==null&&(cancelAnimationFrame(ve),ve=null)},Ce=(e,t)=>{if(t===`auto`){e.style.setProperty(`--popup-width`,`auto`),e.style.setProperty(`--popup-height`,`auto`);return}e.style.setProperty(`--popup-width`,`${t.width}px`),e.style.setProperty(`--popup-height`,`${t.height}px`)},we=(e,t,n)=>{Ce(e,{width:t,height:n})},Te=(e,t)=>{v&&(v.style.setProperty(`--viewport-width`,`${e}px`),v.style.setProperty(`--viewport-height`,`${t}px`))},Ee=(e,t)=>{if(t===`max-content`){e.style.setProperty(`--positioner-width`,`max-content`),e.style.setProperty(`--positioner-height`,`max-content`);return}e.style.setProperty(`--positioner-width`,`${t.width}px`),e.style.setProperty(`--positioner-height`,`${t.height}px`)},De=(e,t)=>{let n=new Map;for(let[r,i]of Object.entries(t))n.set(r,e.style.getPropertyValue(r)),e.style.setProperty(r,i);return()=>{for(let[t,r]of n)r?e.style.setProperty(t,r):e.style.removeProperty(t)}},Oe=(e,t)=>{let n=De(e.popup,{"--popup-width":`auto`,"--popup-height":`auto`,position:`static`,transform:`none`,scale:`1`,top:``,right:``,bottom:``,left:``}),r=De(e.positioner,{"--positioner-width":`max-content`,"--positioner-height":`max-content`,"--available-width":`max-content`,"--available-height":`max-content`}),i=o(e.popup);return r(),n(),i},ke=()=>{let e=W();if(!e)return{...V.committed};let t=o(e),n={width:e.offsetWidth||t.width||V.live.width||V.committed.width,height:e.offsetHeight||t.height||V.live.height||V.committed.height};return be(n),n},Ae=()=>{let e=V.committed;if(e.width<=0||e.height<=0)return!1;let t=ke();return Math.abs(t.width-e.width)>1||Math.abs(t.height-e.height)>1},U=(e,t)=>{if(t){let t=P.get(e)??{applied:!1,left:``,position:``,top:``};t.applied||(t.position=e.style.position,t.top=e.style.top,t.left=e.style.left),t.applied=!0,P.set(e,t),e.style.position=`absolute`,e.style.top=`0px`,e.style.left=`0px`;return}let n=P.get(e);n?.applied&&(n.position?e.style.position=n.position:e.style.removeProperty(`position`),n.top?e.style.top=n.top:e.style.removeProperty(`top`),n.left?e.style.left=n.left:e.style.removeProperty(`left`),n.applied=!1)},je=e=>{let t=F.get(e);t?.applied&&(t.position?e.style.position=t.position:e.style.removeProperty(`position`),t.top?e.style.top=t.top:e.style.removeProperty(`top`),t.right?e.style.right=t.right:e.style.removeProperty(`right`),t.bottom?e.style.bottom=t.bottom:e.style.removeProperty(`bottom`),t.left?e.style.left=t.left:e.style.removeProperty(`left`),t.applied=!1)},Me=(e,t)=>{if(t===null){je(e);return}let n=F.get(e)??{applied:!1,bottom:``,left:``,position:``,right:``,top:``};if(n.applied||(n.position=e.style.position,n.top=e.style.top,n.right=e.style.right,n.bottom=e.style.bottom,n.left=e.style.left),n.applied=!0,F.set(e,n),t===`top`){e.style.position=`absolute`,e.style.top=``,e.style.right=``,e.style.bottom=`0px`,e.style.left=`0px`;return}e.style.position=`absolute`,e.style.top=`0px`,e.style.right=`0px`,e.style.bottom=``,e.style.left=``},W=()=>B?.popup??z().popup,G=()=>B?.positioner??z().positioner,Ne=e=>{H?.disconnect(),H=null,!(!e||typeof ResizeObserver!=`function`)&&(H=new ResizeObserver(t=>{let n=t[0],r=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.inlineSize:void 0,i=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.blockSize:void 0;be({width:Math.ceil(r??e.offsetWidth),height:Math.ceil(i??e.offsetHeight)})}),H.observe(e))},Pe=(e,t)=>{let n=(i.ownerDocument??document).createElement(`div`);n.setAttribute(`data-slot`,t),t===`navigation-menu-positioner`&&(n.style.isolation=`isolate`,n.style.zIndex=`50`);let r=e.parentNode;if(!r)throw Error(`NavigationMenu expected popup stack child to have a parent node`);return r.insertBefore(n,e),n.appendChild(e),n},Fe=e=>{let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);e.remove()}},Ie=()=>{let e=G();e&&(e.style.position=``,e.style.top=``,e.style.left=``,e.style.margin=``,e.style.willChange=``,e.style.pointerEvents=``,e.style.transform=``,e.style.removeProperty(`--transform-origin`),e.style.removeProperty(`--positioner-width`),e.style.removeProperty(`--positioner-height`),e.style.removeProperty(`--available-width`),e.style.removeProperty(`--available-height`));let t=W();t&&(t.style.willChange=``,t.style.pointerEvents=``,je(t),t.style.removeProperty(`scale`),t.style.removeProperty(`--transform-origin`),t.style.removeProperty(`--popup-width`),t.style.removeProperty(`--popup-height`)),v&&(v.style.top=``,v.style.left=``,v.style.willChange=``,v.style.removeProperty(`--transform-origin`),v.style.removeProperty(`--viewport-width`),v.style.removeProperty(`--viewport-height`))},Le=()=>{de!==null&&(cancelAnimationFrame(de),de=null)},Re=()=>{let e=A||j;v&&(e?v.setAttribute(`data-instant`,``):v.removeAttribute(`data-instant`));let t=W();t&&(e?t.setAttribute(`data-instant`,``):t.removeAttribute(`data-instant`));let n=G();n&&(e?n.setAttribute(`data-instant`,``):n.removeAttribute(`data-instant`))},ze=()=>{Le(),de=requestAnimationFrame(()=>{de=null,A=!1,j=!1,Re()})},Be=()=>{Le(),A=!1,j=!1,Re()},Ve=()=>{let e=B;!e||!v||(Se(),H?.disconnect(),H=null,Be(),Ie(),xe(),fe=0,pe=0,v.hidden=!0,v.style.pointerEvents=`none`,e.popup.hidden=!0,e.popup.style.pointerEvents=`none`,e.popupPortal.restore(),e.generatedPopup&&Fe(e.popup),e.generatedPositioner&&Fe(e.positioner),e.generatedPortal&&Fe(e.portal),e.popupPresence.cleanup(),e.viewportPresence.cleanup(),B=null)},He=()=>{if(!v)return null;if(B)return B;let t=z(),n=t.popup,r=t.positioner,a=t.portal,o=!1,s=!1,c=!1;(!n||!n.contains(v))&&(n=Pe(v,`navigation-menu-popup`),o=!0),(!r||!r.contains(n))&&(r=Pe(n,`navigation-menu-positioner`),s=!0),(!a||!a.contains(r))&&(a=Pe(r,`navigation-menu-portal`),c=!0);let l=(0,e.createPortalLifecycle)({content:n,root:i,enabled:!0,container:r,mountTarget:a}),u={popup:n,positioner:r,portal:a,popupPortal:l,popupPresence:null,viewportPresence:null,generatedPopup:o,generatedPositioner:s,generatedPortal:c,isClosing:!1,popupExitComplete:!1,viewportExitComplete:!1},d=(0,e.createPresenceLifecycle)({element:v,onExitComplete:()=>{u.viewportExitComplete=!0,ge(u)}});return u.popupPresence=(0,e.createPresenceLifecycle)({element:n,onExitComplete:()=>{u.popupExitComplete=!0,ge(u)}}),u.viewportPresence=d,B=u,Ne(n),B},Ue=e=>{if(!v)return;let t=I.get(e)??{originalParent:null,originalNextSibling:null,mountedInViewport:!1};t.mountedInViewport||(t.originalParent=e.parentNode,t.originalNextSibling=e.nextSibling,t.mountedInViewport=!0,I.set(e,t)),e.parentNode!==v&&v.appendChild(e)},We=e=>{let t=I.get(e);if(!t||!t.mountedInViewport)return;let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.mountedInViewport=!1,t.originalParent=null,t.originalNextSibling=null},Ge=()=>{if(!v)return;let e=G();if(!e)return;let t=i.ownerDocument.defaultView??window,n=i.getBoundingClientRect(),r=re===`fixed`,a=n.top+pe+(r?0:t.scrollY),o=n.left+fe+(r?0:t.scrollX);e.style.position=re,e.style.top=`${a}px`,e.style.left=`${o}px`,e.style.margin=`0`,e.style.willChange=`top,left`,e.style.pointerEvents=`none`},Ke=null,qe=e=>{Se(),ve=requestAnimationFrame(()=>{if(ve=null,!v||b===null)return;let t=jt();if(!t||t.content!==e.content)return;let n=He();if(!n||n.isClosing)return;let r=Ye(t.item,t.content);if(n.popup.hasAttribute(`data-starting-style`)||Ae()){Ht(t.content,t.trigger,r,{defer:!1,mode:`sync-current`});return}Ht(t.content,t.trigger,r,{defer:!1,mode:`measure-target`})})},Je=e=>{Ke?.disconnect(),Ke=null,_e?.disconnect(),_e=null,Se(),!(!v||!e)&&(Ke=new ResizeObserver(()=>{qe(e)}),Ke.observe(e.content),typeof MutationObserver==`function`&&(_e=new MutationObserver(()=>{qe(e)}),_e.observe(e.content,{childList:!0,subtree:!0,characterData:!0})))};M.push(()=>Ke?.disconnect()),M.push(()=>_e?.disconnect()),M.push(Se),M.push(()=>{Be(),N.forEach(e=>e.cleanup()),N.clear(),I.forEach((e,t)=>{We(t),U(t,!1),t.hidden=!0,t.style.pointerEvents=`none`}),P.clear(),I.clear(),H?.disconnect(),H=null,Ve()});let K=new Map,Ye=(r,i)=>({side:c.side??(0,e.getDataEnum)(i,`side`,n)??(0,e.getDataEnum)(r,`side`,n)??ee,align:c.align??(0,e.getDataEnum)(i,`align`,t)??(0,e.getDataEnum)(r,`align`,t)??p,sideOffset:c.sideOffset??(0,e.getDataNumber)(i,`sideOffset`)??(0,e.getDataNumber)(r,`sideOffset`)??te,alignOffset:c.alignOffset??(0,e.getDataNumber)(i,`alignOffset`)??(0,e.getDataNumber)(r,`alignOffset`)??ne}),Xe=0;_.forEach(t=>{let n=t.dataset.value;if(!n)return;let r=(0,e.getPart)(t,`navigation-menu-trigger`),i=(0,e.getPart)(t,`navigation-menu-content`);if(r&&i){K.set(n,{value:n,item:t,trigger:r,content:i,index:Xe++}),N.set(i,(0,e.createPresenceLifecycle)({element:i,onExitComplete:()=>{ue||(he(i,!1),R(i,null),i.removeAttribute(`data-motion`),U(i,!1),We(i),i.hidden=!0,i.style.pointerEvents=`none`)}}));let a=se(n),o=(0,e.ensureId)(r,`nav-menu-trigger-${a}`),s=(0,e.ensureId)(i,`nav-menu-content-${a}`);r.setAttribute(`aria-haspopup`,`true`),r.setAttribute(`aria-controls`,s),i.setAttribute(`aria-labelledby`,o)}});let Ze=Array.from(K.values()).map(e=>e.trigger),Qe=`a[href], button:not([disabled]), [role="link"], [role="button"], [tabindex]:not([tabindex="-1"])`,$e=e=>{let t=e?.closest(`[data-slot="navigation-menu-item"]`);if(!t)return null;let n=t.dataset.value;if(!n)return null;let r=K.get(n);return!r||r.item!==t?null:r},et=e=>{if(e.matches(Qe))return e;let t=e.querySelectorAll(Qe);for(let n of t)if(e.contains(n)&&!n.closest(`[data-slot="navigation-menu-content"]`)&&!(n.hidden||n.closest(`[hidden]`)))return n;return null},q=[],tt=new Map;_.forEach(e=>{let t=$e(e);if(t){let e={kind:`submenu`,element:t.trigger,item:t.item,value:t.value,trigger:t.trigger};q.push(e),tt.set(e.element,e),tt.set(e.item,e);return}let n=et(e);if(!n)return;let r={kind:`plain`,element:n};q.push(r),tt.set(r.element,r)});let nt=e=>{let t=e instanceof HTMLElement?e:null;if(!t)return null;let n=t;for(;n&&n!==g;){let e=tt.get(n);if(e)return e;n=n.parentElement}return null},rt=e=>{let t=nt(e);return t?.kind===`plain`?t:null},it=e=>{let t=nt(e);return t?.kind===`submenu`?t:null},at=()=>{let e=i.ownerDocument.defaultView;if(!e?.matchMedia)return!0;try{return e.matchMedia(`(any-hover: hover)`).matches}catch{return!0}},ot=e=>{try{return e.matches(`:hover`)}catch{return!1}},st=()=>{for(let e of q){if(e.kind===`submenu`){if(ot(e.item)||ot(e.trigger))return e;continue}if(ot(e.element))return e}return null},ct=(e,t={})=>{let n=i.ownerDocument,r=t.preserveOpenOnPlain??!1;return e.kind===`submenu`?(e.trigger.focus(),n.activeElement===e.trigger?(qt(e.trigger),!0):!1):(b!==null&&!r&&$(),e.element.focus(),n.activeElement===e.element?(b!==null&&r?qt():Z(e.element),!0):!1)},lt=(e,t,n={})=>{for(let r=e+t;r>=0&&r<q.length;r+=t){let e=q[r];if(e&&ct(e,n))return!0}return!1},ut=(e,t,n={})=>{let r=q.indexOf(e);return r===-1?!1:lt(r,t,n)},dt=(e,t,n={})=>{let r=q.findIndex(t=>t.kind===`submenu`&&t.trigger===e);return r===-1?!1:lt(r,t,n)},ft=e=>{if(!(e instanceof Node)||!g.contains(e))return!1;let t=e instanceof HTMLElement?e:e.parentElement;return!t||t.closest(`[data-slot="navigation-menu-indicator"]`)||$e(t)?!1:t.closest(`[data-slot="navigation-menu-item"]`)?!0:!!t.closest(`a[href], button, [role='link'], [role='button']`)},pt=`a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])`,mt=e=>Array.from(e.querySelectorAll(pt)).filter(e=>!e.hidden&&!e.closest(`[hidden]`)),ht=e=>!e.isConnected||e.hidden||e.closest(`[hidden]`)||`disabled`in e&&e.disabled||e.getAttribute(`aria-hidden`)===`true`||e.getAttribute(`tabindex`)===`-1`?!1:e.matches(pt)?!0:e.tabIndex>=0,gt=e=>{if(i.contains(e)||v?.contains(e)||W()?.contains(e)||G()?.contains(e))return!0;for(let{content:t}of K.values())if(t.contains(e))return!0;return!1},_t=()=>{let e=i.ownerDocument,t=Array.from(e.querySelectorAll(`*`));for(let n of t)if(ht(n)&&!gt(n)&&(i.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)!==0&&(n.focus(),e.activeElement===n))return!0;return!1},vt=e=>{requestAnimationFrame(()=>{if(b!==e)return;let t=K.get(e);if(!t)return;let n=mt(t.content)[0];n?n.focus():t.content.focus()})},J=()=>{le&&=(clearTimeout(le),null),S&&=(clearTimeout(S),null)},yt=()=>{J(),x=null},bt=()=>{T=null,E=null},xt=()=>{k!==null&&(cancelAnimationFrame(k),k=null)},Y=null,St=()=>v?G()||W()||(v.parentElement instanceof HTMLElement?v.parentElement:v):null,Ct=()=>{let t=St();return Y||(Y=document.createElement(`div`),Y.setAttribute(`data-slot`,`navigation-menu-bridge`),Y.style.cssText=`position: absolute; pointer-events: auto; z-index: 0; display: none;`,M.push((0,e.on)(Y,`pointerenter`,()=>{J()}),(0,e.on)(Y,`pointerleave`,t=>{if(w||b===null)return;let n=t.relatedTarget;zt(n)||n&&(0,e.containsWithPortals)(i,n)||(Q(null),Z(null))}))),t&&Y.parentElement!==t&&t.insertBefore(Y,t.firstChild),Y},wt=()=>{Y&&(Y.style.height=`0`,Y.style.width=`0`,Y.style.top=`0px`,Y.style.left=`0px`,Y.style.right=`0px`,Y.style.bottom=`auto`,Y.style.transform=`none`,Y.style.clipPath=`none`,Y.style.display=`none`)},Tt=()=>{if(!ae)return null;let e=i.ownerDocument.body;return e?(O||(O=i.ownerDocument.createElement(`div`),O.setAttribute(`data-slot`,`navigation-menu-safe-triangle`),O.style.cssText=[`position: fixed`,`pointer-events: none`,`display: none`,`z-index: 2147483647`,`background: rgba(255, 0, 0, 0.18)`,`border: 1px solid rgba(255, 0, 0, 0.45)`].join(`; `)),O.parentElement!==e&&e.appendChild(O),O):null},Et=()=>{O&&(O.style.width=`0`,O.style.height=`0`,O.style.clipPath=`none`,O.style.display=`none`)},X=()=>{ae||Et()},Dt=e=>{let t=Tt();if(!t)return;let n=e.apex.x,r=e.apex.y,i=e.edgeA.x,a=e.edgeA.y,o=e.edgeB.x,s=e.edgeB.y,c=Math.min(n,i,o),l=Math.min(r,a,s),u=Math.max(n,i,o),d=Math.max(r,a,s),f=Math.max(1,u-c),ee=Math.max(1,d-l),p=(e,t)=>`${(e-c)/f*100}% ${(t-l)/ee*100}%`;t.style.display=`block`,t.style.left=`${c}px`,t.style.top=`${l}px`,t.style.width=`${f}px`,t.style.height=`${ee}px`,t.style.clipPath=`polygon(${p(n,r)}, ${p(i,a)}, ${p(o,s)})`},Ot=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),kt=(e,t,n,r)=>{let i=Ot(e,t,n),a=Ot(e,n,r),o=Ot(e,r,t);return!((i<0||a<0||o<0)&&(i>0||a>0||o>0))},At=(e,t,n)=>{let r=.5;if(n.top>=t.bottom-r)return[{x:n.left,y:n.top},{x:n.right,y:n.top}];if(n.bottom<=t.top+r)return[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}];if(n.left>=t.right-r)return[{x:n.left,y:n.top},{x:n.left,y:n.bottom}];if(n.right<=t.left+r)return[{x:n.right,y:n.top},{x:n.right,y:n.bottom}];let i=[[{x:n.left,y:n.top},{x:n.right,y:n.top}],[{x:n.right,y:n.top},{x:n.right,y:n.bottom}],[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}],[{x:n.left,y:n.top},{x:n.left,y:n.bottom}]],a=([t,n])=>t.y===n.y?Math.abs(e.y-t.y):Math.abs(e.x-t.x),o=i[0],s=a(o);for(let e=1;e<i.length;e++){let t=i[e],n=a(t);n<s&&(o=t,s=n)}return o},jt=()=>b?K.get(b)??null:null,Mt=(e,t,n)=>{if(n.width<=0||n.height<=0)return null;let r={x:e.left+e.width/2,y:e.top+e.height*.62},[i,a]=At(r,t,n);if(i.x===a.x){let e=Math.min(i.y,a.y),t=Math.max(i.y,a.y),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:i.x,y:e+r},a={x:a.x,y:t-r}}else{let e=Math.min(i.x,a.x),t=Math.max(i.x,a.x),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:e+r,y:i.y},a={x:t-r,y:a.y}}return{apex:r,edgeA:i,edgeB:a}},Nt=()=>{if(!oe||!v||b===null)return null;let e=jt();if(!e)return null;let t=i.getBoundingClientRect(),n=e.trigger.getBoundingClientRect(),r=v.getBoundingClientRect(),a=e.content.getBoundingClientRect();return Mt(n,t,r.width>0&&r.height>0?r:a)},Pt=e=>{let t=Nt();return t?kt({x:e.clientX,y:e.clientY},t.apex,t.edgeA,t.edgeB):!1},Ft=(e,t)=>({x:e.x-t.left,y:e.y-t.top}),It=e=>{if(e.length<=1)return e.slice();let t=e=>`${e.x.toFixed(3)}:${e.y.toFixed(3)}`,n=new Map;for(let r of e)n.set(t(r),r);let r=Array.from(n.values()).sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x);if(r.length<=2)return r;let i=(e,t,n)=>(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),a=[];for(let e of r){for(;a.length>=2&&i(a[a.length-2],a[a.length-1],e)<=0;)a.pop();a.push(e)}let o=[];for(let e=r.length-1;e>=0;e--){let t=r[e];for(;o.length>=2&&i(o[o.length-2],o[o.length-1],t)<=0;)o.pop();o.push(t)}return a.pop(),o.pop(),a.concat(o)},Lt=e=>{if(e.length<3){wt();return}let t=Ct(),n=t.parentElement,r=It(n&&n===G()?e.map(e=>({x:e.x-fe,y:e.y-pe})):e);if(r.length<3){wt();return}let i=Math.min(...r.map(e=>e.x)),a=Math.min(...r.map(e=>e.y)),o=Math.max(...r.map(e=>e.x)),s=Math.max(...r.map(e=>e.y)),c=Math.max(1,o-i),l=Math.max(1,s-a),u=e=>`${(e.x-i)/c*100}% ${(e.y-a)/l*100}%`;t.style.display=`block`,t.style.transform=`none`,t.style.bottom=`auto`,t.style.right=`auto`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.width=`${c}px`,t.style.height=`${l}px`,t.style.clipPath=`polygon(${r.map(u).join(`, `)})`},Rt=()=>{if(!ae)return;let e=Nt();if(!e){Et();return}Dt(e)},zt=e=>e?!!(jt()?.content.contains(e)||v?.contains(e)||W()?.contains(e)||Y?.contains(e)||G()?.contains(e)):!1;M.push(X),M.push(xt),M.push(wt),M.push(()=>{Et(),O?.parentElement&&O.parentElement.removeChild(O),O=null});let Bt=(e,t,n,r,a,o)=>{let s=i.ownerDocument.defaultView??window,c=s.visualViewport,l=c?.offsetLeft??0,u=c?.offsetTop??0,d=c?.width??s.innerWidth,f=c?.height??s.innerHeight,ee=n===`left`?Math.max(0,t.left-l-r):n===`right`?Math.max(0,l+d-t.right-r):Math.max(0,d),p=n===`top`?Math.max(0,t.top-u-r):n===`bottom`?Math.max(0,u+f-t.bottom-r):Math.max(0,f);Ee(e,{width:a,height:o}),e.style.setProperty(`--available-width`,`${ee}px`),e.style.setProperty(`--available-height`,`${p}px`)},Vt=(t,r,o,s={})=>{let c=He();if(!v||!c)return;let{popup:l,positioner:u}=c,d=s.mode??`measure-target`,f=d!==`sync-current`;if(v.getAttribute(`data-state`)!==`open`||t.getAttribute(`data-state`)!==`active`)return;U(t,!1);let ee=t.firstElementChild,p=t.lastElementChild,te=ee?getComputedStyle(ee):null,ne=p?getComputedStyle(p):null,re=te&&parseFloat(te.marginTop)||0,ie=ne&&parseFloat(ne.marginBottom)||0,ae=(...e)=>{let t=0;for(let n of e)Number.isFinite(n)&&(t=Math.max(t,n));return t},m=t.getBoundingClientRect(),se={width:ae(m.width,t.scrollWidth,t.offsetWidth,t.clientWidth),height:ae(m.height,t.scrollHeight,t.offsetHeight,t.clientHeight)+re+ie},h={...V.committed},g=f?Oe(c,o.side):ke(),_={width:d===`sync-current`?h.width||g.width||se.width:g.width||se.width,height:d===`sync-current`?h.height||g.height||se.height:g.height||se.height};be(g.width>0&&g.height>0?g:_),f&&ye(_);let y=_.width,b=_.height;if(y<=0||b<=0)return;let x={top:m.top,left:m.left,width:y,height:b,right:m.left+y,bottom:m.top+b},ce=getComputedStyle(v),le=parseFloat(ce.marginTop)||0;Te(y,b);let S=i.getBoundingClientRect(),C=r.getBoundingClientRect(),w=(0,e.computeFloatingPosition)({anchorRect:C,contentRect:x,side:o.side,align:o.align,sideOffset:o.sideOffset,alignOffset:o.alignOffset,avoidCollisions:!1,collisionPadding:0,allowedSides:n}),T=w.x-S.left,E=w.y-S.top;fe=T,pe=E;let D=a(w.side,w.align,C),ue=D.x-(S.left+T),O=D.y-(S.top+E),k=D.x-S.left,de=D.y-S.top,A=`${ue}px ${O}px`,j=`${k}px ${de}px`;if(l.style.willChange=`width,height`,l.style.pointerEvents=`auto`,w.side===`top`?Me(l,`top`):w.side===`left`?Me(l,`left`):Me(l,null),l.style.setProperty(`--transform-origin`,A),v.style.top=`0px`,v.style.left=`0px`,v.style.willChange=`transform,width,height`,v.style.setProperty(`--transform-origin`,A),t.style.setProperty(`--transform-origin`,A),l.setAttribute(`data-side`,w.side),l.setAttribute(`data-align`,w.align),v.setAttribute(`data-side`,w.side),v.setAttribute(`data-align`,w.align),t.setAttribute(`data-side`,w.side),t.setAttribute(`data-align`,w.align),u.setAttribute(`data-side`,w.side),u.setAttribute(`data-align`,w.align),u.style.setProperty(`--transform-origin`,j),Bt(u,C,w.side,o.sideOffset,y,b),Ge(),d===`measure-target`)we(l,y,b);else if(d===`initial-open`)we(l,y,b);else{let e=l.style.getPropertyValue(`--popup-width`).trim(),t=l.style.getPropertyValue(`--popup-height`).trim();(!e||!t)&&we(l,h.width||y,h.height||b)}let M=v.getBoundingClientRect(),N=[],P=Math.max(0,M.top-S.bottom),F=Math.max(0,S.top-M.bottom),I=Math.max(0,M.left-S.right),me=Math.max(0,S.left-M.right),L=Math.max(0,le),he=Math.max(P,F,L),R=Math.max(I,me),z=oe?Mt(C,S,M):null,B=(e,t,n,r)=>{n<=0||r<=0||N.push({x:e,y:t},{x:e+n,y:t},{x:e+n,y:t+r},{x:e,y:t+r})};if(he>=R&&he>0){let e=Math.max(P,F,L),t=T,n=F>P&&F>=L?E+b:E-e,r=y;if(z){let e=Math.min(z.edgeA.x,z.edgeB.x)-S.left,n=Math.max(z.edgeA.x,z.edgeB.x)-S.left;t=e-8,r=n-e+16}B(t,n,r,e)}else if(R>0){let e=Math.max(I,me),t=E,n=me>I?T+y:T-e,r=b;if(z){let e=Math.min(z.edgeA.y,z.edgeB.y)-S.top,n=Math.max(z.edgeA.y,z.edgeB.y)-S.top;t=e-8,r=n-e+16}B(n,t,e,r)}if(z){let e=Ft(z.apex,S),t=Ft(z.edgeA,S),n=Ft(z.edgeB,S);N.push(e,t,n)}Lt(N),Rt()},Ht=(e,t,n,r={})=>{if(!v)return;let i=()=>{Vt(e,t,n,r)};if(r.defer===!1){i();return}requestAnimationFrame(()=>{v.getAttribute(`data-state`)!==`open`||e.getAttribute(`data-state`)!==`active`||i()})},Ut=(e=jt(),t={})=>{if(!e)return;let n=Ye(e.item,e.content);Ht(e.content,e.trigger,n,t)},Wt=(0,e.createPositionSync)({observedElements:[i,...Ze],isActive:()=>b!==null,ancestorScroll:!0,syncOnScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,onUpdate:()=>{j=!0,Re(),Ut(void 0,{defer:!1,mode:`sync-current`}),ze()}});M.push(()=>Wt.stop());let Gt=e=>ce===-1||e>ce?`right`:`left`,Z=e=>{if(!y)return;if(C=e,!e){xt(),y.removeAttribute(`data-instant`),y.setAttribute(`data-state`,`hidden`);return}y.getAttribute(`data-state`)!==`visible`&&(xt(),y.setAttribute(`data-instant`,``),k=requestAnimationFrame(()=>{k=requestAnimationFrame(()=>{y.removeAttribute(`data-instant`),k=null})}));let t=g.getBoundingClientRect(),n=e.getBoundingClientRect();y.style.setProperty(`--indicator-left`,`${n.left-t.left}px`),y.style.setProperty(`--indicator-width`,`${n.width}px`),y.style.setProperty(`--indicator-top`,`${n.top-t.top}px`);let r=(v&&parseFloat(getComputedStyle(v).marginTop)||0)<1?1:0;y.style.setProperty(`--indicator-height`,`${n.height-r}px`),y.setAttribute(`data-state`,`visible`)},Kt=()=>b?K.get(b)?.trigger??null:null,qt=(e=null)=>{let t=Kt();if(t){Z(t);return}Z(e)},Q=(t,n=!1)=>{if(X(),t===b){t===null?yt():J();return}if(!n&&t!==null&&t===x)return;J(),x=t===null?null:t;let r=()=>{let n=b,r=t?K.get(t):null,a=ke(),o=t!==null,s=n===null&&o,c=n!==null&&t!==null&&n!==t,l=c&&r?Gt(r.index):null,u=document.activeElement;if(t===null&&u&&n){let t=K.get(n);t&&(0,e.containsWithPortals)(t.content,u)&&t.trigger.focus()}if(K.forEach(({trigger:r,content:i,item:a},o)=>{let s=o===t,c=o===n;if((0,e.setAria)(r,`expanded`,s),r.setAttribute(`data-state`,s?`open`:`closed`),a.setAttribute(`data-state`,s?`open`:`closed`),!s){let e=N.get(i);if(he(i,!1),i.setAttribute(`aria-hidden`,`true`),h(i,!0),i.style.pointerEvents=`none`,t===null)c&&(R(i,null),i.removeAttribute(`data-motion`));else if(c&&l){R(i,l);let e=l===`right`?`to-left`:`to-right`;i.setAttribute(`data-motion`,e)}else c&&(R(i,null),i.removeAttribute(`data-motion`));c?(U(i,!0),e?.exit()):e?.isExiting||(R(i,null),i.removeAttribute(`data-motion`),U(i,!1),We(i),i.hidden=!0)}}),r){let e=He();if(e?.popupPortal.mount(),e&&(e.isClosing=!1,e.popupExitComplete=!1,e.viewportExitComplete=!1),v&&s&&(L(i,!0),L(e?.positioner??G(),!0),L(e?.popup??W(),!0),L(v,!0),v.style.pointerEvents=`auto`,A=!0,Le(),j=!1,Re(),ze()),e?.popup&&(e.popup.hidden=!1,e.popup.style.pointerEvents=`auto`),v&&(v.hidden=!1),n===null&&(e?.popupPresence.enter(),e?.viewportPresence.enter()),Ue(r.content),N.get(r.content)?.enter(),Wt.start(),l){R(r.content,l);let e=l===`right`?`from-right`:`from-left`;r.content.setAttribute(`data-motion`,e)}else R(r.content,null),r.content.removeAttribute(`data-motion`);he(r.content,!0),U(r.content,!1),r.content.removeAttribute(`aria-hidden`),h(r.content,!1),r.content.hidden=!1,r.content.style.pointerEvents=`auto`,ce=r.index,c&&(A=!1,Le(),j=!1,Re()),Ut(r,{defer:s||c?!1:void 0,mode:s?`initial-open`:`measure-target`}),Je(r),Z(r.trigger)}else Wt.stop(),wt(),X(),B&&(a.width>0&&a.height>0&&(we(B.popup,a.width,a.height),Ee(B.positioner,{width:a.width,height:a.height}),Te(a.width,a.height)),B.isClosing=!0,B.popupExitComplete=!1,B.viewportExitComplete=!1,B.popupPresence.exit(),B.viewportPresence.exit()),Je(null);if(L(i,o),l?i.setAttribute(`data-motion`,l===`right`?`from-right`:`from-left`):i.removeAttribute(`data-motion`),v){let e=W();L(G(),o),L(e,o),L(v,o),v.style.pointerEvents=o?`auto`:`none`,A=s,(!o||c)&&(Le(),j=!1),Re(),l?v.style.setProperty(`--motion-direction`,l===`right`?`1`:`-1`):v.style.removeProperty(`--motion-direction`)}b=t,x=null,t===null&&Z(null),Rt(),(0,e.emit)(i,`navigation-menu:change`,{value:t}),m?.(t)};n?r():t!==null&&b===null?le=setTimeout(r,u):t!==null&&b!==null?r():S=setTimeout(r,d)},Jt=z();L(i,!1),v&&(L(Jt.positioner,!1),L(Jt.popup,!1),L(v,!1),v.hidden=!0,v.style.pointerEvents=`none`,Jt.popup&&(Jt.popup.hidden=!0,Jt.popup.style.pointerEvents=`none`)),y&&y.setAttribute(`data-state`,`hidden`),K.forEach(({trigger:t,content:n,item:r})=>{t.tagName===`BUTTON`&&!t.hasAttribute(`type`)&&(t.type=`button`),(0,e.setAria)(t,`expanded`,!1),t.setAttribute(`data-state`,`closed`),t.tabIndex=0,r.setAttribute(`data-state`,`closed`),he(n,!1),n.setAttribute(`aria-hidden`,`true`),n.tabIndex=-1,h(n,!0),n.hidden=!0,U(n,!1),n.style.pointerEvents=`none`}),K.forEach(({item:t,trigger:n},r)=>{M.push((0,e.on)(n,`pointerenter`,e=>{if(!w){if(b!==r&&Pt(e))return;Z(n)}})),M.push((0,e.on)(t,`pointerenter`,e=>{if(!w){if(b!==r&&Pt(e))return;Q(r)}})),M.push((0,e.on)(t,`pointerleave`,t=>{if(x===r&&b===null&&yt(),b===r&&!w){let n=t.relatedTarget;if(zt(n))return;(!n||!(0,e.containsWithPortals)(i,n))&&(Q(null),Z(null))}})),M.push((0,e.on)(n,`focus`,()=>{if(T===n){T=null;return}f&&Q(r,!0),qt(n)})),M.push((0,e.on)(n,`pointerdown`,()=>{T=n,E=n}),(0,e.on)(n,`keydown`,()=>{E=null})),M.push((0,e.on)(n,`click`,()=>{let e=E===n;E=null,T=null,yt(),b===r&&w?(w=!1,Q(null,!0),Z(null)):b===r&&!w?(w=!0,Z(n),e||vt(r)):(w=!0,Q(r,!0),Z(n),e||vt(r))}))}),M.push((0,e.on)(g,`pointerover`,e=>{let t=e;if(t.pointerType===`touch`)return;let n=it(t.target);if(n){if(D=!0,w||b!==n.value&&Pt(t))return;Z(n.trigger),Q(n.value);return}let r=rt(t.target);if(r){if(D=!0,b!==null){if(w)return;$()}Z(r.element);return}b!==null&&(w||ft(t.target)&&$())}),(0,e.on)(g,`click`,e=>{b!==null&&ft(e.target)&&$()})),M.push((0,e.on)(g,`focusin`,e=>{let t=rt(e.target);if(t){if(b!==null){qt();return}Z(t.element)}}),(0,e.on)(i,`pointerenter`,()=>{D=!0}),(0,e.on)(i,`pointerleave`,e=>{let t=e.relatedTarget;if(!zt(t)&&(D=!1,!w)){if(Pt(e)){J();return}Q(null),Z(null)}}),(0,e.on)(i,`pointerdown`,()=>{X(),yt()}));let Yt=()=>{if(!at()||b!==null||x!==null||w)return;let e=st();if(D=e!==null||i instanceof HTMLElement&&ot(i),e){if(e.kind===`submenu`){Q(e.value,!0);return}Z(e.element)}};v&&M.push((0,e.on)(v,`pointerenter`,()=>{X(),J()}),(0,e.on)(v,`transitionend`,e=>{if(e.target!==v)return;let t=b?K.get(b):null;t&&Ut(t,{defer:!1,mode:`sync-current`})})),K.forEach(({content:t})=>{M.push((0,e.on)(t,`pointerenter`,()=>{X(),J()}),(0,e.on)(t,`pointerleave`,t=>{if(w)return;let n=t.relatedTarget;zt(n)||(0,e.containsWithPortals)(i,n)||(Q(null),Z(null))}))}),M.push((0,e.on)(g,`keydown`,e=>{let t=nt(e.target);if(!t)return;let n=q.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`Tab`:if(e.shiftKey||b===null)return;(ut(t,1,{preserveOpenOnPlain:!0})||_t())&&e.preventDefault();return;case`ArrowLeft`:r=n-1,r<0&&(r=q.length-1);break;case`ArrowRight`:r=n+1,r>=q.length&&(r=0);break;case`ArrowDown`:if(t.kind===`submenu`){e.preventDefault();let n=t.value;w=!0,Q(n,!0),vt(n)}return;case`Home`:r=0;break;case`End`:r=q.length-1;break;case`Escape`:w=!1,Q(null,!0),Z(null);return;default:return}e.preventDefault();let i=q[r];i&&ct(i,{preserveOpenOnPlain:!0})})),K.forEach(({content:t,trigger:n})=>{M.push((0,e.on)(t,`keydown`,e=>{let r=e.target,i=mt(t),a=i.indexOf(r);if(a!==-1)switch(e.key){case`Tab`:if(!e.shiftKey&&a===i.length-1){(dt(n,1,{preserveOpenOnPlain:!0})||_t())&&e.preventDefault();return}if(e.shiftKey&&a===0){e.preventDefault(),n.focus();return}return;case`ArrowDown`:case`ArrowRight`:{e.preventDefault();let t=a+1;t<i.length&&i[t]?.focus();break}case`ArrowUp`:case`ArrowLeft`:e.preventDefault(),a===0?n.focus():i[a-1]?.focus();break;case`Escape`:e.preventDefault(),w=!1,Q(null,!0),Z(null),n.focus();break}}))});let Xt=()=>(0,e.containsWithPortals)(i,document.activeElement)||D||w,$=()=>{X(),yt(),bt(),w=!1,Q(null,!0),Z(null),Rt()};M.push((0,e.on)(document,`focusin`,t=>{let n=t.target;if(!(0,e.containsWithPortals)(i,n)){if(b!==null){$();return}Z(null)}})),M.push((0,e.createDismissLayer)({root:i,isOpen:()=>b!==null&&Xt(),onDismiss:$,closeOnClickOutside:!0,closeOnEscape:!0,preventEscapeDefault:!1,isInside:t=>!!t&&(0,e.containsWithPortals)(i,t)})),M.push((0,e.on)(window,`resize`,()=>{(b||C)&&requestAnimationFrame(()=>qt(C))}),(0,e.on)(g,`scroll`,()=>{(b||C)&&requestAnimationFrame(()=>qt(C))})),M.push((0,e.on)(i,`navigation-menu:set`,e=>{let t=e.detail;if(t?.value!==void 0){if(t.value===null)$();else if(K.has(t.value)){w=!0,Q(t.value,!0);let e=K.get(t.value);e&&Z(e.trigger)}}}));let Zt={get value(){return b},open:e=>Q(e,!0),close:()=>$(),destroy:()=>{ue=!0,yt(),bt(),M.forEach(e=>e()),M.length=0,(0,e.clearRootBinding)(i,s,Zt)}};return Yt(),(0,e.setRootBinding)(i,s,Zt),Zt}function l(t=document){let n=[];for(let r of(0,e.getRoots)(t,`navigation-menu`))(0,e.hasRootBinding)(r,s)||n.push(c(r));return n}exports.create=l,exports.createNavigationMenu=c;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@data-slot/core`);const t=[`start`,`center`,`end`],n=[`top`,`right`,`bottom`,`left`],r=[`absolute`,`fixed`],i=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},a=(e,t,n)=>{let r=i(n,t);return e===`top`?{x:r.x,y:n.top}:e===`bottom`?{x:r.x,y:n.bottom}:e===`left`?{x:n.left,y:r.y}:{x:n.right,y:r.y}},o=e=>{let t=getComputedStyle(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;if(e instanceof HTMLElement){let t=e.offsetWidth||n,i=e.offsetHeight||r;(Math.round(n)!==t||Math.round(r)!==i)&&(n=t,r=i)}return{width:n,height:r}},s=`@data-slot/navigation-menu`;function c(i,c={}){let l=(0,e.reuseRootBinding)(i,s,`[@data-slot/navigation-menu] createNavigationMenu() called more than once for the same root. Returning the existing controller. Destroy it before rebinding with new options.`);if(l)return l;let u=c.delayOpen??(0,e.getDataNumber)(i,`delayOpen`)??0,d=c.delayClose??(0,e.getDataNumber)(i,`delayClose`)??0,f=c.openOnFocus??(0,e.getDataBool)(i,`openOnFocus`)??!1,p=c.side??(0,e.getDataEnum)(i,`side`,n)??`bottom`,m=c.align??(0,e.getDataEnum)(i,`align`,t)??`start`,ee=c.sideOffset??(0,e.getDataNumber)(i,`sideOffset`)??0,te=c.alignOffset??(0,e.getDataNumber)(i,`alignOffset`)??0,ne=c.positionMethod??(0,e.getDataEnum)(i,`positionMethod`,r)??`absolute`,re=c.safeTriangle??(0,e.getDataBool)(i,`safeTriangle`)??!1,ie=c.debugSafeTriangle??(0,e.getDataBool)(i,`debugSafeTriangle`)??!1,ae=re||ie,h=c.onValueChange,oe=e=>e.replace(/[^a-z0-9\-_:.]/gi,`-`),g=(e,t)=>{`inert`in e&&(e.inert=t)},_=(0,e.getPart)(i,`navigation-menu-list`),v=(0,e.getParts)(i,`navigation-menu-item`),y=(0,e.getPart)(i,`navigation-menu-viewport`),b=(0,e.getPart)(i,`navigation-menu-indicator`);if(!_||v.length===0)throw Error(`NavigationMenu requires navigation-menu-list and at least one navigation-menu-item`);let x=null,S=null,se=-1,ce=null,C=null,w=null,T=!1,E=null,D=null,O=!1,le=!1,k=null,A=null,ue=null,de=0,fe=0,j=!1,M=0,N=!1,P=[],F=new Map,I=new Map,pe=new WeakMap,L=new Map,me=(e,t)=>{if(e){if(t){e.setAttribute(`data-open`,``),e.removeAttribute(`data-closed`);return}e.setAttribute(`data-closed`,``),e.removeAttribute(`data-open`)}},R=(e,t)=>{e&&(e.setAttribute(`data-state`,t?`open`:`closed`),me(e,t))},he=(e,t)=>{e.setAttribute(`data-state`,t?`active`:`inactive`),me(e,t)},z=(e,t)=>{if(t){e.setAttribute(`data-activation-direction`,t);return}e.removeAttribute(`data-activation-direction`)},ge=()=>{if(!y)return{popup:null,positioner:null,portal:null};let e=null,t=null,n=null,r=y.parentElement,a=`popup`;for(;r&&r!==i;){let i=r.getAttribute(`data-slot`);if(i===`navigation-menu-portal`){n=r;break}if(a===`popup`&&i===`navigation-menu-popup`){e=r,a=`positioner`,r=r.parentElement;continue}if((a===`popup`||a===`positioner`)&&(i===`navigation-menu-positioner`||i===`navigation-menu-viewport-positioner`)){t=r,a=`portal`,r=r.parentElement;continue}r=r.parentElement}return{popup:e,positioner:t,portal:n}},B=null,_e=e=>{le||B!==e||!e.isClosing||!e.popupExitComplete||!e.viewportExitComplete||Ue()},V={committed:{width:0,height:0},live:{width:0,height:0}},H=null,ve=null,ye=null,be=e=>{e.width>0&&(V.committed.width=e.width),e.height>0&&(V.committed.height=e.height)},xe=e=>{e.width>0&&(V.live.width=e.width),e.height>0&&(V.live.height=e.height)},Se=()=>{V={committed:{width:0,height:0},live:{width:0,height:0}}},Ce=()=>{ye!==null&&(cancelAnimationFrame(ye),ye=null)},we=(e,t)=>{if(t===`auto`){e.style.setProperty(`--popup-width`,`auto`),e.style.setProperty(`--popup-height`,`auto`);return}e.style.setProperty(`--popup-width`,`${t.width}px`),e.style.setProperty(`--popup-height`,`${t.height}px`)},Te=(e,t,n)=>{we(e,{width:t,height:n})},Ee=(e,t)=>{y&&(y.style.setProperty(`--viewport-width`,`${e}px`),y.style.setProperty(`--viewport-height`,`${t}px`))},De=(e,t)=>{if(t===`max-content`){e.style.setProperty(`--positioner-width`,`max-content`),e.style.setProperty(`--positioner-height`,`max-content`);return}e.style.setProperty(`--positioner-width`,`${t.width}px`),e.style.setProperty(`--positioner-height`,`${t.height}px`)},Oe=(e,t)=>{let n=new Map;for(let[r,i]of Object.entries(t))n.set(r,e.style.getPropertyValue(r)),e.style.setProperty(r,i);return()=>{for(let[t,r]of n)r?e.style.setProperty(t,r):e.style.removeProperty(t)}},ke=(e,t)=>{let n=Oe(e.popup,{"--popup-width":`auto`,"--popup-height":`auto`,position:`static`,transform:`none`,scale:`1`,top:``,right:``,bottom:``,left:``}),r=Oe(e.positioner,{"--positioner-width":`max-content`,"--positioner-height":`max-content`,"--available-width":`max-content`,"--available-height":`max-content`}),i=o(e.popup);return r(),n(),i},Ae=()=>{let e=W();if(!e)return{...V.committed};let t=o(e),n={width:e.offsetWidth||t.width||V.live.width||V.committed.width,height:e.offsetHeight||t.height||V.live.height||V.committed.height};return xe(n),n},je=()=>{let e=V.committed;if(e.width<=0||e.height<=0)return!1;let t=Ae();return Math.abs(t.width-e.width)>1||Math.abs(t.height-e.height)>1},U=(e,t)=>{if(t){let t=I.get(e)??{applied:!1,left:``,position:``,top:``};t.applied||(t.position=e.style.position,t.top=e.style.top,t.left=e.style.left),t.applied=!0,I.set(e,t),e.style.position=`absolute`,e.style.top=`0px`,e.style.left=`0px`;return}let n=I.get(e);n?.applied&&(n.position?e.style.position=n.position:e.style.removeProperty(`position`),n.top?e.style.top=n.top:e.style.removeProperty(`top`),n.left?e.style.left=n.left:e.style.removeProperty(`left`),n.applied=!1)},Me=e=>{let t=pe.get(e);t?.applied&&(t.position?e.style.position=t.position:e.style.removeProperty(`position`),t.top?e.style.top=t.top:e.style.removeProperty(`top`),t.right?e.style.right=t.right:e.style.removeProperty(`right`),t.bottom?e.style.bottom=t.bottom:e.style.removeProperty(`bottom`),t.left?e.style.left=t.left:e.style.removeProperty(`left`),t.applied=!1)},Ne=(e,t)=>{if(t===null){Me(e);return}let n=pe.get(e)??{applied:!1,bottom:``,left:``,position:``,right:``,top:``};if(n.applied||(n.position=e.style.position,n.top=e.style.top,n.right=e.style.right,n.bottom=e.style.bottom,n.left=e.style.left),n.applied=!0,pe.set(e,n),t===`top`){e.style.position=`absolute`,e.style.top=``,e.style.right=``,e.style.bottom=`0px`,e.style.left=`0px`;return}e.style.position=`absolute`,e.style.top=`0px`,e.style.right=`0px`,e.style.bottom=``,e.style.left=``},W=()=>B?.popup??ge().popup,G=()=>B?.positioner??ge().positioner,Pe=e=>{H?.disconnect(),H=null,!(!e||typeof ResizeObserver!=`function`)&&(H=new ResizeObserver(t=>{let n=t[0],r=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.inlineSize:void 0,i=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.blockSize:void 0;xe({width:Math.ceil(r??e.offsetWidth),height:Math.ceil(i??e.offsetHeight)})}),H.observe(e))},Fe=(e,t)=>{let n=(i.ownerDocument??document).createElement(`div`);n.setAttribute(`data-slot`,t),t===`navigation-menu-positioner`&&(n.style.isolation=`isolate`,n.style.zIndex=`50`);let r=e.parentNode;if(!r)throw Error(`NavigationMenu expected popup stack child to have a parent node`);return r.insertBefore(n,e),n.appendChild(e),n},Ie=e=>{let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);e.remove()}},Le=()=>{let e=G();e&&(e.style.position=``,e.style.top=``,e.style.left=``,e.style.margin=``,e.style.willChange=``,e.style.pointerEvents=``,e.style.transform=``,e.style.removeProperty(`--transform-origin`),e.style.removeProperty(`--positioner-width`),e.style.removeProperty(`--positioner-height`),e.style.removeProperty(`--available-width`),e.style.removeProperty(`--available-height`));let t=W();t&&(t.style.willChange=``,t.style.pointerEvents=``,Me(t),t.style.removeProperty(`scale`),t.style.removeProperty(`--transform-origin`),t.style.removeProperty(`--popup-width`),t.style.removeProperty(`--popup-height`)),y&&(y.style.top=``,y.style.left=``,y.style.willChange=``,y.style.removeProperty(`--transform-origin`),y.style.removeProperty(`--viewport-width`),y.style.removeProperty(`--viewport-height`))},Re=()=>{ue!==null&&(cancelAnimationFrame(ue),ue=null)},ze=()=>{let e=j||N;y&&(e?y.setAttribute(`data-instant`,``):y.removeAttribute(`data-instant`));let t=W();t&&(e?t.setAttribute(`data-instant`,``):t.removeAttribute(`data-instant`));let n=G();n&&(e?n.setAttribute(`data-instant`,``):n.removeAttribute(`data-instant`))},Be=()=>{Re(),ue=requestAnimationFrame(()=>{if(ue=null,j&&M>0){--M,Be();return}M=0,j=!1,N=!1,ze()})},Ve=()=>{Re(),M=0,j=!1,N=!1,ze()},He=(e=4)=>{j=!0,M=Math.max(M,e),ze(),Be()},Ue=()=>{let e=B;!e||!y||(Ce(),H?.disconnect(),H=null,Ve(),Le(),Se(),de=0,fe=0,y.hidden=!0,y.style.pointerEvents=`none`,e.popup.hidden=!0,e.popup.style.pointerEvents=`none`,e.popupPortal.restore(),e.generatedPopup&&Ie(e.popup),e.generatedPositioner&&Ie(e.positioner),e.generatedPortal&&Ie(e.portal),e.popupPresence.cleanup(),e.viewportPresence.cleanup(),B=null)},We=()=>{if(!y)return null;if(B)return B;let t=ge(),n=t.popup,r=t.positioner,a=t.portal,o=!1,s=!1,c=!1;(!n||!n.contains(y))&&(n=Fe(y,`navigation-menu-popup`),o=!0),(!r||!r.contains(n))&&(r=Fe(n,`navigation-menu-positioner`),s=!0),(!a||!a.contains(r))&&(a=Fe(r,`navigation-menu-portal`),c=!0);let l=(0,e.createPortalLifecycle)({content:n,root:i,enabled:!0,container:r,mountTarget:a}),u={popup:n,positioner:r,portal:a,popupPortal:l,popupPresence:null,viewportPresence:null,generatedPopup:o,generatedPositioner:s,generatedPortal:c,isClosing:!1,popupExitComplete:!1,viewportExitComplete:!1},d=(0,e.createPresenceLifecycle)({element:y,onExitComplete:()=>{u.viewportExitComplete=!0,_e(u)}});return u.popupPresence=(0,e.createPresenceLifecycle)({element:n,onExitComplete:()=>{u.popupExitComplete=!0,_e(u)}}),u.viewportPresence=d,B=u,Pe(n),B},Ge=e=>{if(!y)return;let t=L.get(e)??{originalParent:null,originalNextSibling:null,mountedInViewport:!1};t.mountedInViewport||(t.originalParent=e.parentNode,t.originalNextSibling=e.nextSibling,t.mountedInViewport=!0,L.set(e,t)),e.parentNode!==y&&y.appendChild(e)},Ke=e=>{let t=L.get(e);if(!t||!t.mountedInViewport)return;let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.mountedInViewport=!1,t.originalParent=null,t.originalNextSibling=null},qe=()=>{if(!y)return;let e=G();if(!e)return;let t=i.ownerDocument.defaultView??window,n=i.getBoundingClientRect(),r=ne===`fixed`,a=n.top+fe+(r?0:t.scrollY),o=n.left+de+(r?0:t.scrollX);e.style.position=ne,e.style.top=`${a}px`,e.style.left=`${o}px`,e.style.margin=`0`,e.style.willChange=`top,left`,e.style.pointerEvents=`none`},Je=null,Ye=e=>{Ce(),ye=requestAnimationFrame(()=>{if(ye=null,!y||x===null)return;let t=Nt();if(!t||t.content!==e.content)return;let n=We();if(!n||n.isClosing)return;j&&He();let r=Ze(t.item,t.content);if(n.popup.hasAttribute(`data-starting-style`)||je()){Wt(t.content,t.trigger,r,{defer:!1,mode:`sync-current`});return}Wt(t.content,t.trigger,r,{defer:!1,mode:`measure-target`})})},Xe=e=>{Je?.disconnect(),Je=null,ve?.disconnect(),ve=null,Ce(),!(!y||!e)&&(Je=new ResizeObserver(()=>{Ye(e)}),Je.observe(e.content),typeof MutationObserver==`function`&&(ve=new MutationObserver(()=>{Ye(e)}),ve.observe(e.content,{childList:!0,subtree:!0,characterData:!0})))};P.push(()=>Je?.disconnect()),P.push(()=>ve?.disconnect()),P.push(Ce),P.push(()=>{Ve(),F.forEach(e=>e.cleanup()),F.clear(),L.forEach((e,t)=>{Ke(t),U(t,!1),t.hidden=!0,t.style.pointerEvents=`none`}),I.clear(),L.clear(),H?.disconnect(),H=null,Ue()});let K=new Map,Ze=(r,i)=>({side:c.side??(0,e.getDataEnum)(i,`side`,n)??(0,e.getDataEnum)(r,`side`,n)??p,align:c.align??(0,e.getDataEnum)(i,`align`,t)??(0,e.getDataEnum)(r,`align`,t)??m,sideOffset:c.sideOffset??(0,e.getDataNumber)(i,`sideOffset`)??(0,e.getDataNumber)(r,`sideOffset`)??ee,alignOffset:c.alignOffset??(0,e.getDataNumber)(i,`alignOffset`)??(0,e.getDataNumber)(r,`alignOffset`)??te}),Qe=0;v.forEach(t=>{let n=t.dataset.value;if(!n)return;let r=(0,e.getPart)(t,`navigation-menu-trigger`),i=(0,e.getPart)(t,`navigation-menu-content`);if(r&&i){K.set(n,{value:n,item:t,trigger:r,content:i,index:Qe++}),F.set(i,(0,e.createPresenceLifecycle)({element:i,onExitComplete:()=>{le||(he(i,!1),z(i,null),i.removeAttribute(`data-motion`),U(i,!1),Ke(i),i.hidden=!0,i.style.pointerEvents=`none`)}}));let a=oe(n),o=(0,e.ensureId)(r,`nav-menu-trigger-${a}`),s=(0,e.ensureId)(i,`nav-menu-content-${a}`);r.setAttribute(`aria-haspopup`,`true`),r.setAttribute(`aria-controls`,s),i.setAttribute(`aria-labelledby`,o)}});let $e=Array.from(K.values()).map(e=>e.trigger),et=`a[href], button:not([disabled]), [role="link"], [role="button"], [tabindex]:not([tabindex="-1"])`,tt=e=>{let t=e?.closest(`[data-slot="navigation-menu-item"]`);if(!t)return null;let n=t.dataset.value;if(!n)return null;let r=K.get(n);return!r||r.item!==t?null:r},nt=e=>{if(e.matches(et))return e;let t=e.querySelectorAll(et);for(let n of t)if(e.contains(n)&&!n.closest(`[data-slot="navigation-menu-content"]`)&&!(n.hidden||n.closest(`[hidden]`)))return n;return null},q=[],rt=new Map;v.forEach(e=>{let t=tt(e);if(t){let e={kind:`submenu`,element:t.trigger,item:t.item,value:t.value,trigger:t.trigger};q.push(e),rt.set(e.element,e),rt.set(e.item,e);return}let n=nt(e);if(!n)return;let r={kind:`plain`,element:n};q.push(r),rt.set(r.element,r)});let it=e=>{let t=e instanceof HTMLElement?e:null;if(!t)return null;let n=t;for(;n&&n!==_;){let e=rt.get(n);if(e)return e;n=n.parentElement}return null},at=e=>{let t=it(e);return t?.kind===`plain`?t:null},ot=e=>{let t=it(e);return t?.kind===`submenu`?t:null},st=()=>{let e=i.ownerDocument.defaultView;if(!e?.matchMedia)return!0;try{return e.matchMedia(`(any-hover: hover)`).matches}catch{return!0}},ct=e=>{try{return e.matches(`:hover`)}catch{return!1}},lt=()=>{for(let e of q){if(e.kind===`submenu`){if(ct(e.item)||ct(e.trigger))return e;continue}if(ct(e.element))return e}return null},ut=(e,t={})=>{let n=i.ownerDocument,r=t.preserveOpenOnPlain??!1;return e.kind===`submenu`?(e.trigger.focus(),n.activeElement===e.trigger?(Yt(e.trigger),!0):!1):(x!==null&&!r&&$(),e.element.focus(),n.activeElement===e.element?(x!==null&&r?Yt():Z(e.element),!0):!1)},dt=(e,t,n={})=>{for(let r=e+t;r>=0&&r<q.length;r+=t){let e=q[r];if(e&&ut(e,n))return!0}return!1},ft=(e,t,n={})=>{let r=q.indexOf(e);return r===-1?!1:dt(r,t,n)},pt=(e,t,n={})=>{let r=q.findIndex(t=>t.kind===`submenu`&&t.trigger===e);return r===-1?!1:dt(r,t,n)},mt=e=>{if(!(e instanceof Node)||!_.contains(e))return!1;let t=e instanceof HTMLElement?e:e.parentElement;return!t||t.closest(`[data-slot="navigation-menu-indicator"]`)||tt(t)?!1:t.closest(`[data-slot="navigation-menu-item"]`)?!0:!!t.closest(`a[href], button, [role='link'], [role='button']`)},ht=`a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])`,gt=e=>Array.from(e.querySelectorAll(ht)).filter(e=>!e.hidden&&!e.closest(`[hidden]`)),_t=e=>!e.isConnected||e.hidden||e.closest(`[hidden]`)||`disabled`in e&&e.disabled||e.getAttribute(`aria-hidden`)===`true`||e.getAttribute(`tabindex`)===`-1`?!1:e.matches(ht)?!0:e.tabIndex>=0,vt=e=>{if(i.contains(e)||y?.contains(e)||W()?.contains(e)||G()?.contains(e))return!0;for(let{content:t}of K.values())if(t.contains(e))return!0;return!1},yt=()=>{let e=i.ownerDocument,t=Array.from(e.querySelectorAll(`*`));for(let n of t)if(_t(n)&&!vt(n)&&(i.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)!==0&&(n.focus(),e.activeElement===n))return!0;return!1},bt=e=>{requestAnimationFrame(()=>{if(x!==e)return;let t=K.get(e);if(!t)return;let n=gt(t.content)[0];n?n.focus():t.content.focus()})},J=()=>{ce&&=(clearTimeout(ce),null),C&&=(clearTimeout(C),null)},xt=()=>{J(),S=null},St=()=>{E=null,D=null},Ct=()=>{A!==null&&(cancelAnimationFrame(A),A=null)},Y=null,wt=()=>y?G()||W()||(y.parentElement instanceof HTMLElement?y.parentElement:y):null,Tt=()=>{let t=wt();return Y||(Y=document.createElement(`div`),Y.setAttribute(`data-slot`,`navigation-menu-bridge`),Y.style.cssText=`position: absolute; pointer-events: auto; z-index: 0; display: none;`,P.push((0,e.on)(Y,`pointerenter`,()=>{J()}),(0,e.on)(Y,`pointerleave`,t=>{if(T||x===null)return;let n=t.relatedTarget;Vt(n)||n&&(0,e.containsWithPortals)(i,n)||(Q(null),Z(null))}))),t&&Y.parentElement!==t&&t.insertBefore(Y,t.firstChild),Y},Et=()=>{Y&&(Y.style.height=`0`,Y.style.width=`0`,Y.style.top=`0px`,Y.style.left=`0px`,Y.style.right=`0px`,Y.style.bottom=`auto`,Y.style.transform=`none`,Y.style.clipPath=`none`,Y.style.display=`none`)},Dt=()=>{if(!ie)return null;let e=i.ownerDocument.body;return e?(k||(k=i.ownerDocument.createElement(`div`),k.setAttribute(`data-slot`,`navigation-menu-safe-triangle`),k.style.cssText=[`position: fixed`,`pointer-events: none`,`display: none`,`z-index: 2147483647`,`background: rgba(255, 0, 0, 0.18)`,`border: 1px solid rgba(255, 0, 0, 0.45)`].join(`; `)),k.parentElement!==e&&e.appendChild(k),k):null},Ot=()=>{k&&(k.style.width=`0`,k.style.height=`0`,k.style.clipPath=`none`,k.style.display=`none`)},X=()=>{ie||Ot()},kt=e=>{let t=Dt();if(!t)return;let n=e.apex.x,r=e.apex.y,i=e.edgeA.x,a=e.edgeA.y,o=e.edgeB.x,s=e.edgeB.y,c=Math.min(n,i,o),l=Math.min(r,a,s),u=Math.max(n,i,o),d=Math.max(r,a,s),f=Math.max(1,u-c),p=Math.max(1,d-l),m=(e,t)=>`${(e-c)/f*100}% ${(t-l)/p*100}%`;t.style.display=`block`,t.style.left=`${c}px`,t.style.top=`${l}px`,t.style.width=`${f}px`,t.style.height=`${p}px`,t.style.clipPath=`polygon(${m(n,r)}, ${m(i,a)}, ${m(o,s)})`},At=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),jt=(e,t,n,r)=>{let i=At(e,t,n),a=At(e,n,r),o=At(e,r,t);return!((i<0||a<0||o<0)&&(i>0||a>0||o>0))},Mt=(e,t,n)=>{let r=.5;if(n.top>=t.bottom-r)return[{x:n.left,y:n.top},{x:n.right,y:n.top}];if(n.bottom<=t.top+r)return[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}];if(n.left>=t.right-r)return[{x:n.left,y:n.top},{x:n.left,y:n.bottom}];if(n.right<=t.left+r)return[{x:n.right,y:n.top},{x:n.right,y:n.bottom}];let i=[[{x:n.left,y:n.top},{x:n.right,y:n.top}],[{x:n.right,y:n.top},{x:n.right,y:n.bottom}],[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}],[{x:n.left,y:n.top},{x:n.left,y:n.bottom}]],a=([t,n])=>t.y===n.y?Math.abs(e.y-t.y):Math.abs(e.x-t.x),o=i[0],s=a(o);for(let e=1;e<i.length;e++){let t=i[e],n=a(t);n<s&&(o=t,s=n)}return o},Nt=()=>x?K.get(x)??null:null,Pt=(e,t,n)=>{if(n.width<=0||n.height<=0)return null;let r={x:e.left+e.width/2,y:e.top+e.height*.62},[i,a]=Mt(r,t,n);if(i.x===a.x){let e=Math.min(i.y,a.y),t=Math.max(i.y,a.y),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:i.x,y:e+r},a={x:a.x,y:t-r}}else{let e=Math.min(i.x,a.x),t=Math.max(i.x,a.x),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:e+r,y:i.y},a={x:t-r,y:a.y}}return{apex:r,edgeA:i,edgeB:a}},Ft=()=>{if(!ae||!y||x===null)return null;let e=Nt();if(!e)return null;let t=i.getBoundingClientRect(),n=e.trigger.getBoundingClientRect(),r=y.getBoundingClientRect(),a=e.content.getBoundingClientRect();return Pt(n,t,r.width>0&&r.height>0?r:a)},It=e=>{let t=Ft();return t?jt({x:e.clientX,y:e.clientY},t.apex,t.edgeA,t.edgeB):!1},Lt=(e,t)=>({x:e.x-t.left,y:e.y-t.top}),Rt=e=>{if(e.length<=1)return e.slice();let t=e=>`${e.x.toFixed(3)}:${e.y.toFixed(3)}`,n=new Map;for(let r of e)n.set(t(r),r);let r=Array.from(n.values()).sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x);if(r.length<=2)return r;let i=(e,t,n)=>(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),a=[];for(let e of r){for(;a.length>=2&&i(a[a.length-2],a[a.length-1],e)<=0;)a.pop();a.push(e)}let o=[];for(let e=r.length-1;e>=0;e--){let t=r[e];for(;o.length>=2&&i(o[o.length-2],o[o.length-1],t)<=0;)o.pop();o.push(t)}return a.pop(),o.pop(),a.concat(o)},zt=e=>{if(e.length<3){Et();return}let t=Tt(),n=t.parentElement,r=Rt(n&&n===G()?e.map(e=>({x:e.x-de,y:e.y-fe})):e);if(r.length<3){Et();return}let i=Math.min(...r.map(e=>e.x)),a=Math.min(...r.map(e=>e.y)),o=Math.max(...r.map(e=>e.x)),s=Math.max(...r.map(e=>e.y)),c=Math.max(1,o-i),l=Math.max(1,s-a),u=e=>`${(e.x-i)/c*100}% ${(e.y-a)/l*100}%`;t.style.display=`block`,t.style.transform=`none`,t.style.bottom=`auto`,t.style.right=`auto`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.width=`${c}px`,t.style.height=`${l}px`,t.style.clipPath=`polygon(${r.map(u).join(`, `)})`},Bt=()=>{if(!ie)return;let e=Ft();if(!e){Ot();return}kt(e)},Vt=e=>e?!!(Nt()?.content.contains(e)||y?.contains(e)||W()?.contains(e)||Y?.contains(e)||G()?.contains(e)):!1;P.push(X),P.push(Ct),P.push(Et),P.push(()=>{Ot(),k?.parentElement&&k.parentElement.removeChild(k),k=null});let Ht=(e,t,n,r,a,o)=>{let s=i.ownerDocument.defaultView??window,c=s.visualViewport,l=c?.offsetLeft??0,u=c?.offsetTop??0,d=c?.width??s.innerWidth,f=c?.height??s.innerHeight,p=n===`left`?Math.max(0,t.left-l-r):n===`right`?Math.max(0,l+d-t.right-r):Math.max(0,d),m=n===`top`?Math.max(0,t.top-u-r):n===`bottom`?Math.max(0,u+f-t.bottom-r):Math.max(0,f);De(e,{width:a,height:o}),e.style.setProperty(`--available-width`,`${p}px`),e.style.setProperty(`--available-height`,`${m}px`)},Ut=(t,r,o,s={})=>{let c=We();if(!y||!c)return;let{popup:l,positioner:u}=c,d=s.mode??`measure-target`,f=d!==`sync-current`;if(y.getAttribute(`data-state`)!==`open`||t.getAttribute(`data-state`)!==`active`)return;U(t,!1);let p=t.firstElementChild,m=t.lastElementChild,ee=p?getComputedStyle(p):null,te=m?getComputedStyle(m):null,ne=ee&&parseFloat(ee.marginTop)||0,re=te&&parseFloat(te.marginBottom)||0,ie=(...e)=>{let t=0;for(let n of e)Number.isFinite(n)&&(t=Math.max(t,n));return t},h=t.getBoundingClientRect(),oe={width:ie(h.width,t.scrollWidth,t.offsetWidth,t.clientWidth),height:ie(h.height,t.scrollHeight,t.offsetHeight,t.clientHeight)+ne+re},g={...V.committed},_=f?ke(c,o.side):Ae(),v={width:d===`sync-current`?g.width||_.width||oe.width:_.width||oe.width,height:d===`sync-current`?g.height||_.height||oe.height:_.height||oe.height};xe(_.width>0&&_.height>0?_:v),f&&be(v);let b=v.width,x=v.height;if(b<=0||x<=0)return;let S={top:h.top,left:h.left,width:b,height:x,right:h.left+b,bottom:h.top+x},se=getComputedStyle(y),ce=parseFloat(se.marginTop)||0;Ee(b,x);let C=i.getBoundingClientRect(),w=r.getBoundingClientRect(),T=(0,e.computeFloatingPosition)({anchorRect:w,contentRect:S,side:o.side,align:o.align,sideOffset:o.sideOffset,alignOffset:o.alignOffset,avoidCollisions:!1,collisionPadding:0,allowedSides:n}),E=T.x-C.left,D=T.y-C.top;de=E,fe=D;let O=a(T.side,T.align,w),le=O.x-(C.left+E),k=O.y-(C.top+D),A=O.x-C.left,ue=O.y-C.top,j=`${le}px ${k}px`,M=`${A}px ${ue}px`;if(l.style.willChange=`width,height`,l.style.pointerEvents=`auto`,T.side===`top`?Ne(l,`top`):T.side===`left`?Ne(l,`left`):Ne(l,null),l.style.setProperty(`--transform-origin`,j),y.style.top=`0px`,y.style.left=`0px`,y.style.willChange=`transform,width,height`,y.style.setProperty(`--transform-origin`,j),t.style.setProperty(`--transform-origin`,j),l.setAttribute(`data-side`,T.side),l.setAttribute(`data-align`,T.align),y.setAttribute(`data-side`,T.side),y.setAttribute(`data-align`,T.align),t.setAttribute(`data-side`,T.side),t.setAttribute(`data-align`,T.align),u.setAttribute(`data-side`,T.side),u.setAttribute(`data-align`,T.align),u.style.setProperty(`--transform-origin`,M),Ht(u,w,T.side,o.sideOffset,b,x),qe(),d===`measure-target`)Te(l,b,x);else if(d===`initial-open`)Te(l,b,x);else{let e=l.style.getPropertyValue(`--popup-width`).trim(),t=l.style.getPropertyValue(`--popup-height`).trim();(!e||!t)&&Te(l,g.width||b,g.height||x)}let N=y.getBoundingClientRect(),P=[],F=Math.max(0,N.top-C.bottom),I=Math.max(0,C.top-N.bottom),pe=Math.max(0,N.left-C.right),L=Math.max(0,C.left-N.right),me=Math.max(0,ce),R=Math.max(F,I,me),he=Math.max(pe,L),z=ae?Pt(w,C,N):null,ge=(e,t,n,r)=>{n<=0||r<=0||P.push({x:e,y:t},{x:e+n,y:t},{x:e+n,y:t+r},{x:e,y:t+r})};if(R>=he&&R>0){let e=Math.max(F,I,me),t=E,n=I>F&&I>=me?D+x:D-e,r=b;if(z){let e=Math.min(z.edgeA.x,z.edgeB.x)-C.left,n=Math.max(z.edgeA.x,z.edgeB.x)-C.left;t=e-8,r=n-e+16}ge(t,n,r,e)}else if(he>0){let e=Math.max(pe,L),t=D,n=L>pe?E+b:E-e,r=x;if(z){let e=Math.min(z.edgeA.y,z.edgeB.y)-C.top,n=Math.max(z.edgeA.y,z.edgeB.y)-C.top;t=e-8,r=n-e+16}ge(n,t,e,r)}if(z){let e=Lt(z.apex,C),t=Lt(z.edgeA,C),n=Lt(z.edgeB,C);P.push(e,t,n)}zt(P),Bt()},Wt=(e,t,n,r={})=>{if(!y)return;let i=()=>{Ut(e,t,n,r)};if(r.defer===!1){i();return}requestAnimationFrame(()=>{y.getAttribute(`data-state`)!==`open`||e.getAttribute(`data-state`)!==`active`||i()})},Gt=(e=Nt(),t={})=>{if(!e)return;let n=Ze(e.item,e.content);Wt(e.content,e.trigger,n,t)},Kt=(0,e.createPositionSync)({observedElements:[i,...$e],isActive:()=>x!==null,ancestorScroll:!0,syncOnScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,onUpdate:()=>{N=!0,ze(),Gt(void 0,{defer:!1,mode:`sync-current`}),Be()}});P.push(()=>Kt.stop());let qt=e=>se===-1||e>se?`right`:`left`,Z=e=>{if(!b)return;if(w=e,!e){Ct(),b.removeAttribute(`data-instant`),b.setAttribute(`data-state`,`hidden`);return}b.getAttribute(`data-state`)!==`visible`&&(Ct(),b.setAttribute(`data-instant`,``),A=requestAnimationFrame(()=>{A=requestAnimationFrame(()=>{b.removeAttribute(`data-instant`),A=null})}));let t=_.getBoundingClientRect(),n=e.getBoundingClientRect();b.style.setProperty(`--indicator-left`,`${n.left-t.left}px`),b.style.setProperty(`--indicator-width`,`${n.width}px`),b.style.setProperty(`--indicator-top`,`${n.top-t.top}px`);let r=(y&&parseFloat(getComputedStyle(y).marginTop)||0)<1?1:0;b.style.setProperty(`--indicator-height`,`${n.height-r}px`),b.setAttribute(`data-state`,`visible`)},Jt=()=>x?K.get(x)?.trigger??null:null,Yt=(e=null)=>{let t=Jt();if(t){Z(t);return}Z(e)},Q=(t,n=!1)=>{if(X(),t===x){t===null?xt():J();return}if(!n&&t!==null&&t===S)return;J(),S=t===null?null:t;let r=()=>{let n=x,r=t?K.get(t):null,a=Ae(),o=t!==null,s=n===null&&o,c=n!==null&&t!==null&&n!==t,l=c&&r?qt(r.index):null,u=document.activeElement;if(t===null&&u&&n){let t=K.get(n);t&&(0,e.containsWithPortals)(t.content,u)&&t.trigger.focus()}if(K.forEach(({trigger:r,content:i,item:a},o)=>{let s=o===t,c=o===n;if((0,e.setAria)(r,`expanded`,s),r.setAttribute(`data-state`,s?`open`:`closed`),a.setAttribute(`data-state`,s?`open`:`closed`),!s){let e=F.get(i);if(he(i,!1),i.setAttribute(`aria-hidden`,`true`),g(i,!0),i.style.pointerEvents=`none`,t===null)c&&(z(i,null),i.removeAttribute(`data-motion`));else if(c&&l){z(i,l);let e=l===`right`?`to-left`:`to-right`;i.setAttribute(`data-motion`,e)}else c&&(z(i,null),i.removeAttribute(`data-motion`));c?(U(i,!0),e?.exit()):e?.isExiting||(z(i,null),i.removeAttribute(`data-motion`),U(i,!1),Ke(i),i.hidden=!0)}}),r){let e=We();if(e?.popupPortal.mount(),e&&(e.isClosing=!1,e.popupExitComplete=!1,e.viewportExitComplete=!1),y&&s&&(R(i,!0),R(e?.positioner??G(),!0),R(e?.popup??W(),!0),R(y,!0),y.style.pointerEvents=`auto`,Re(),N=!1,He()),e?.popup&&(e.popup.hidden=!1,e.popup.style.pointerEvents=`auto`),y&&(y.hidden=!1),n===null&&(e?.popupPresence.enter(),e?.viewportPresence.enter()),Ge(r.content),F.get(r.content)?.enter(),Kt.start(),l){z(r.content,l);let e=l===`right`?`from-right`:`from-left`;r.content.setAttribute(`data-motion`,e)}else z(r.content,null),r.content.removeAttribute(`data-motion`);he(r.content,!0),U(r.content,!1),r.content.removeAttribute(`aria-hidden`),g(r.content,!1),r.content.hidden=!1,r.content.style.pointerEvents=`auto`,se=r.index,c&&(M=0,j=!1,Re(),N=!1,ze()),Gt(r,{defer:s||c?!1:void 0,mode:s?`initial-open`:`measure-target`}),Xe(r),Z(r.trigger)}else Kt.stop(),Et(),X(),B&&(a.width>0&&a.height>0&&(Te(B.popup,a.width,a.height),De(B.positioner,{width:a.width,height:a.height}),Ee(a.width,a.height)),B.isClosing=!0,B.popupExitComplete=!1,B.viewportExitComplete=!1,B.popupPresence.exit(),B.viewportPresence.exit()),Xe(null);if(R(i,o),l?i.setAttribute(`data-motion`,l===`right`?`from-right`:`from-left`):i.removeAttribute(`data-motion`),y){let e=W();R(G(),o),R(e,o),R(y,o),y.style.pointerEvents=o?`auto`:`none`,j=s,M=s?Math.max(M,4):0,(!o||c)&&(Re(),N=!1),ze(),l?y.style.setProperty(`--motion-direction`,l===`right`?`1`:`-1`):y.style.removeProperty(`--motion-direction`)}x=t,S=null,t===null&&Z(null),Bt(),(0,e.emit)(i,`navigation-menu:change`,{value:t}),h?.(t)};n?r():t!==null&&x===null?ce=setTimeout(r,u):t!==null&&x!==null?r():C=setTimeout(r,d)},Xt=ge();R(i,!1),y&&(R(Xt.positioner,!1),R(Xt.popup,!1),R(y,!1),y.hidden=!0,y.style.pointerEvents=`none`,Xt.popup&&(Xt.popup.hidden=!0,Xt.popup.style.pointerEvents=`none`)),b&&b.setAttribute(`data-state`,`hidden`),K.forEach(({trigger:t,content:n,item:r})=>{t.tagName===`BUTTON`&&!t.hasAttribute(`type`)&&(t.type=`button`),(0,e.setAria)(t,`expanded`,!1),t.setAttribute(`data-state`,`closed`),t.tabIndex=0,r.setAttribute(`data-state`,`closed`),he(n,!1),n.setAttribute(`aria-hidden`,`true`),n.tabIndex=-1,g(n,!0),n.hidden=!0,U(n,!1),n.style.pointerEvents=`none`}),K.forEach(({item:t,trigger:n},r)=>{P.push((0,e.on)(n,`pointerenter`,e=>{if(!T){if(x!==r&&It(e))return;Z(n)}})),P.push((0,e.on)(t,`pointerenter`,e=>{if(!T){if(x!==r&&It(e))return;Q(r)}})),P.push((0,e.on)(t,`pointerleave`,t=>{if(S===r&&x===null&&xt(),x===r&&!T){let n=t.relatedTarget;if(Vt(n))return;(!n||!(0,e.containsWithPortals)(i,n))&&(Q(null),Z(null))}})),P.push((0,e.on)(n,`focus`,()=>{if(E===n){E=null;return}f&&Q(r,!0),Yt(n)})),P.push((0,e.on)(n,`pointerdown`,()=>{E=n,D=n}),(0,e.on)(n,`keydown`,()=>{D=null})),P.push((0,e.on)(n,`click`,()=>{let e=D===n;D=null,E=null,xt(),x===r&&T?(T=!1,Q(null,!0),Z(null)):x===r&&!T?(T=!0,Z(n),e||bt(r)):(T=!0,Q(r,!0),Z(n),e||bt(r))}))}),P.push((0,e.on)(_,`pointerover`,e=>{let t=e;if(t.pointerType===`touch`)return;let n=ot(t.target);if(n){if(O=!0,T||x!==n.value&&It(t))return;Z(n.trigger),Q(n.value);return}let r=at(t.target);if(r){if(O=!0,x!==null){if(T)return;$()}Z(r.element);return}x!==null&&(T||mt(t.target)&&$())}),(0,e.on)(_,`click`,e=>{x!==null&&mt(e.target)&&$()})),P.push((0,e.on)(_,`focusin`,e=>{let t=at(e.target);if(t){if(x!==null){Yt();return}Z(t.element)}}),(0,e.on)(i,`pointerenter`,()=>{O=!0}),(0,e.on)(i,`pointerleave`,e=>{let t=e.relatedTarget;if(!Vt(t)&&(O=!1,!T)){if(It(e)){J();return}Q(null),Z(null)}}),(0,e.on)(i,`pointerdown`,()=>{X(),xt()}));let Zt=()=>{if(!st()||x!==null||S!==null||T)return;let e=lt();if(O=e!==null||i instanceof HTMLElement&&ct(i),e){if(e.kind===`submenu`){Q(e.value,!0);return}Z(e.element)}};y&&P.push((0,e.on)(y,`pointerenter`,()=>{X(),J()}),(0,e.on)(y,`transitionend`,e=>{if(e.target!==y)return;let t=x?K.get(x):null;t&&Gt(t,{defer:!1,mode:`sync-current`})})),K.forEach(({content:t})=>{P.push((0,e.on)(t,`pointerenter`,()=>{X(),J()}),(0,e.on)(t,`pointerleave`,t=>{if(T)return;let n=t.relatedTarget;Vt(n)||(0,e.containsWithPortals)(i,n)||(Q(null),Z(null))}))}),P.push((0,e.on)(_,`keydown`,e=>{let t=it(e.target);if(!t)return;let n=q.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`Tab`:if(e.shiftKey||x===null)return;(ft(t,1,{preserveOpenOnPlain:!0})||yt())&&e.preventDefault();return;case`ArrowLeft`:r=n-1,r<0&&(r=q.length-1);break;case`ArrowRight`:r=n+1,r>=q.length&&(r=0);break;case`ArrowDown`:if(t.kind===`submenu`){e.preventDefault();let n=t.value;T=!0,Q(n,!0),bt(n)}return;case`Home`:r=0;break;case`End`:r=q.length-1;break;case`Escape`:T=!1,Q(null,!0),Z(null);return;default:return}e.preventDefault();let i=q[r];i&&ut(i,{preserveOpenOnPlain:!0})})),K.forEach(({content:t,trigger:n})=>{P.push((0,e.on)(t,`keydown`,e=>{let r=e.target,i=gt(t),a=i.indexOf(r);if(a!==-1)switch(e.key){case`Tab`:if(!e.shiftKey&&a===i.length-1){(pt(n,1,{preserveOpenOnPlain:!0})||yt())&&e.preventDefault();return}if(e.shiftKey&&a===0){e.preventDefault(),n.focus();return}return;case`ArrowDown`:case`ArrowRight`:{e.preventDefault();let t=a+1;t<i.length&&i[t]?.focus();break}case`ArrowUp`:case`ArrowLeft`:e.preventDefault(),a===0?n.focus():i[a-1]?.focus();break;case`Escape`:e.preventDefault(),T=!1,Q(null,!0),Z(null),n.focus();break}}))});let Qt=()=>(0,e.containsWithPortals)(i,document.activeElement)||O||T,$=()=>{X(),xt(),St(),T=!1,Q(null,!0),Z(null),Bt()};P.push((0,e.on)(document,`focusin`,t=>{let n=t.target;if(!(0,e.containsWithPortals)(i,n)){if(x!==null){$();return}Z(null)}})),P.push((0,e.createDismissLayer)({root:i,isOpen:()=>x!==null&&Qt(),onDismiss:$,closeOnClickOutside:!0,closeOnEscape:!0,preventEscapeDefault:!1,isInside:t=>!!t&&(0,e.containsWithPortals)(i,t)})),P.push((0,e.on)(window,`resize`,()=>{(x||w)&&requestAnimationFrame(()=>Yt(w))}),(0,e.on)(_,`scroll`,()=>{(x||w)&&requestAnimationFrame(()=>Yt(w))})),P.push((0,e.on)(i,`navigation-menu:set`,e=>{let t=e.detail;if(t?.value!==void 0){if(t.value===null)$();else if(K.has(t.value)){T=!0,Q(t.value,!0);let e=K.get(t.value);e&&Z(e.trigger)}}}));let $t={get value(){return x},open:e=>Q(e,!0),close:()=>$(),destroy:()=>{le=!0,xt(),St(),P.forEach(e=>e()),P.length=0,(0,e.clearRootBinding)(i,s,$t)}};return Zt(),(0,e.setRootBinding)(i,s,$t),$t}function l(t=document){let n=[];for(let r of(0,e.getRoots)(t,`navigation-menu`))(0,e.hasRootBinding)(r,s)||n.push(c(r));return n}exports.create=l,exports.createNavigationMenu=c;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{clearRootBinding as e,computeFloatingPosition as t,containsWithPortals as n,createDismissLayer as r,createPortalLifecycle as i,createPositionSync as a,createPresenceLifecycle as o,emit as s,ensureId as c,getDataBool as l,getDataEnum as u,getDataNumber as d,getPart as f,getParts as ee,getRoots as p,hasRootBinding as m,on as h,reuseRootBinding as te,setAria as g,setRootBinding as ne}from"@data-slot/core";const _=[`start`,`center`,`end`],re=[`top`,`right`,`bottom`,`left`],v=[`absolute`,`fixed`],y=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},ie=(e,t,n)=>{let r=y(n,t);return e===`top`?{x:r.x,y:n.top}:e===`bottom`?{x:r.x,y:n.bottom}:e===`left`?{x:n.left,y:r.y}:{x:n.right,y:r.y}},b=e=>{let t=getComputedStyle(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;if(e instanceof HTMLElement){let t=e.offsetWidth||n,i=e.offsetHeight||r;(Math.round(n)!==t||Math.round(r)!==i)&&(n=t,r=i)}return{width:n,height:r}},x=`@data-slot/navigation-menu`;function ae(p,m={}){let y=te(p,x,`[@data-slot/navigation-menu] createNavigationMenu() called more than once for the same root. Returning the existing controller. Destroy it before rebinding with new options.`);if(y)return y;let ae=m.delayOpen??d(p,`delayOpen`)??0,oe=m.delayClose??d(p,`delayClose`)??0,se=m.openOnFocus??l(p,`openOnFocus`)??!1,S=m.side??u(p,`side`,re)??`bottom`,ce=m.align??u(p,`align`,_)??`start`,C=m.sideOffset??d(p,`sideOffset`)??0,le=m.alignOffset??d(p,`alignOffset`)??0,w=m.positionMethod??u(p,`positionMethod`,v)??`absolute`,ue=m.safeTriangle??l(p,`safeTriangle`)??!1,de=m.debugSafeTriangle??l(p,`debugSafeTriangle`)??!1,fe=ue||de,pe=m.onValueChange,me=e=>e.replace(/[^a-z0-9\-_:.]/gi,`-`),he=(e,t)=>{`inert`in e&&(e.inert=t)},T=f(p,`navigation-menu-list`),ge=ee(p,`navigation-menu-item`),E=f(p,`navigation-menu-viewport`),D=f(p,`navigation-menu-indicator`);if(!T||ge.length===0)throw Error(`NavigationMenu requires navigation-menu-list and at least one navigation-menu-item`);let O=null,k=null,A=-1,_e=null,ve=null,j=null,M=!1,ye=null,N=null,P=!1,be=!1,F=null,xe=null,Se=null,Ce=0,we=0,Te=!1,I=!1,L=[],Ee=new Map,De=new Map,Oe=new WeakMap,ke=new Map,Ae=(e,t)=>{if(e){if(t){e.setAttribute(`data-open`,``),e.removeAttribute(`data-closed`);return}e.setAttribute(`data-closed`,``),e.removeAttribute(`data-open`)}},R=(e,t)=>{e&&(e.setAttribute(`data-state`,t?`open`:`closed`),Ae(e,t))},je=(e,t)=>{e.setAttribute(`data-state`,t?`active`:`inactive`),Ae(e,t)},z=(e,t)=>{if(t){e.setAttribute(`data-activation-direction`,t);return}e.removeAttribute(`data-activation-direction`)},Me=()=>{if(!E)return{popup:null,positioner:null,portal:null};let e=null,t=null,n=null,r=E.parentElement,i=`popup`;for(;r&&r!==p;){let a=r.getAttribute(`data-slot`);if(a===`navigation-menu-portal`){n=r;break}if(i===`popup`&&a===`navigation-menu-popup`){e=r,i=`positioner`,r=r.parentElement;continue}if((i===`popup`||i===`positioner`)&&(a===`navigation-menu-positioner`||a===`navigation-menu-viewport-positioner`)){t=r,i=`portal`,r=r.parentElement;continue}r=r.parentElement}return{popup:e,positioner:t,portal:n}},B=null,Ne=e=>{be||B!==e||!e.isClosing||!e.popupExitComplete||!e.viewportExitComplete||it()},V={committed:{width:0,height:0},live:{width:0,height:0}},H=null,Pe=null,Fe=null,Ie=e=>{e.width>0&&(V.committed.width=e.width),e.height>0&&(V.committed.height=e.height)},Le=e=>{e.width>0&&(V.live.width=e.width),e.height>0&&(V.live.height=e.height)},Re=()=>{V={committed:{width:0,height:0},live:{width:0,height:0}}},ze=()=>{Fe!==null&&(cancelAnimationFrame(Fe),Fe=null)},Be=(e,t)=>{if(t===`auto`){e.style.setProperty(`--popup-width`,`auto`),e.style.setProperty(`--popup-height`,`auto`);return}e.style.setProperty(`--popup-width`,`${t.width}px`),e.style.setProperty(`--popup-height`,`${t.height}px`)},Ve=(e,t,n)=>{Be(e,{width:t,height:n})},He=(e,t)=>{E&&(E.style.setProperty(`--viewport-width`,`${e}px`),E.style.setProperty(`--viewport-height`,`${t}px`))},Ue=(e,t)=>{if(t===`max-content`){e.style.setProperty(`--positioner-width`,`max-content`),e.style.setProperty(`--positioner-height`,`max-content`);return}e.style.setProperty(`--positioner-width`,`${t.width}px`),e.style.setProperty(`--positioner-height`,`${t.height}px`)},We=(e,t)=>{let n=new Map;for(let[r,i]of Object.entries(t))n.set(r,e.style.getPropertyValue(r)),e.style.setProperty(r,i);return()=>{for(let[t,r]of n)r?e.style.setProperty(t,r):e.style.removeProperty(t)}},Ge=(e,t)=>{let n=We(e.popup,{"--popup-width":`auto`,"--popup-height":`auto`,position:`static`,transform:`none`,scale:`1`,top:``,right:``,bottom:``,left:``}),r=We(e.positioner,{"--positioner-width":`max-content`,"--positioner-height":`max-content`,"--available-width":`max-content`,"--available-height":`max-content`}),i=b(e.popup);return r(),n(),i},Ke=()=>{let e=W();if(!e)return{...V.committed};let t=b(e),n={width:e.offsetWidth||t.width||V.live.width||V.committed.width,height:e.offsetHeight||t.height||V.live.height||V.committed.height};return Le(n),n},qe=()=>{let e=V.committed;if(e.width<=0||e.height<=0)return!1;let t=Ke();return Math.abs(t.width-e.width)>1||Math.abs(t.height-e.height)>1},U=(e,t)=>{if(t){let t=De.get(e)??{applied:!1,left:``,position:``,top:``};t.applied||(t.position=e.style.position,t.top=e.style.top,t.left=e.style.left),t.applied=!0,De.set(e,t),e.style.position=`absolute`,e.style.top=`0px`,e.style.left=`0px`;return}let n=De.get(e);n?.applied&&(n.position?e.style.position=n.position:e.style.removeProperty(`position`),n.top?e.style.top=n.top:e.style.removeProperty(`top`),n.left?e.style.left=n.left:e.style.removeProperty(`left`),n.applied=!1)},Je=e=>{let t=Oe.get(e);t?.applied&&(t.position?e.style.position=t.position:e.style.removeProperty(`position`),t.top?e.style.top=t.top:e.style.removeProperty(`top`),t.right?e.style.right=t.right:e.style.removeProperty(`right`),t.bottom?e.style.bottom=t.bottom:e.style.removeProperty(`bottom`),t.left?e.style.left=t.left:e.style.removeProperty(`left`),t.applied=!1)},Ye=(e,t)=>{if(t===null){Je(e);return}let n=Oe.get(e)??{applied:!1,bottom:``,left:``,position:``,right:``,top:``};if(n.applied||(n.position=e.style.position,n.top=e.style.top,n.right=e.style.right,n.bottom=e.style.bottom,n.left=e.style.left),n.applied=!0,Oe.set(e,n),t===`top`){e.style.position=`absolute`,e.style.top=``,e.style.right=``,e.style.bottom=`0px`,e.style.left=`0px`;return}e.style.position=`absolute`,e.style.top=`0px`,e.style.right=`0px`,e.style.bottom=``,e.style.left=``},W=()=>B?.popup??Me().popup,G=()=>B?.positioner??Me().positioner,Xe=e=>{H?.disconnect(),H=null,!(!e||typeof ResizeObserver!=`function`)&&(H=new ResizeObserver(t=>{let n=t[0],r=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.inlineSize:void 0,i=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.blockSize:void 0;Le({width:Math.ceil(r??e.offsetWidth),height:Math.ceil(i??e.offsetHeight)})}),H.observe(e))},Ze=(e,t)=>{let n=(p.ownerDocument??document).createElement(`div`);n.setAttribute(`data-slot`,t),t===`navigation-menu-positioner`&&(n.style.isolation=`isolate`,n.style.zIndex=`50`);let r=e.parentNode;if(!r)throw Error(`NavigationMenu expected popup stack child to have a parent node`);return r.insertBefore(n,e),n.appendChild(e),n},Qe=e=>{let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);e.remove()}},$e=()=>{let e=G();e&&(e.style.position=``,e.style.top=``,e.style.left=``,e.style.margin=``,e.style.willChange=``,e.style.pointerEvents=``,e.style.transform=``,e.style.removeProperty(`--transform-origin`),e.style.removeProperty(`--positioner-width`),e.style.removeProperty(`--positioner-height`),e.style.removeProperty(`--available-width`),e.style.removeProperty(`--available-height`));let t=W();t&&(t.style.willChange=``,t.style.pointerEvents=``,Je(t),t.style.removeProperty(`scale`),t.style.removeProperty(`--transform-origin`),t.style.removeProperty(`--popup-width`),t.style.removeProperty(`--popup-height`)),E&&(E.style.top=``,E.style.left=``,E.style.willChange=``,E.style.removeProperty(`--transform-origin`),E.style.removeProperty(`--viewport-width`),E.style.removeProperty(`--viewport-height`))},et=()=>{Se!==null&&(cancelAnimationFrame(Se),Se=null)},tt=()=>{let e=Te||I;E&&(e?E.setAttribute(`data-instant`,``):E.removeAttribute(`data-instant`));let t=W();t&&(e?t.setAttribute(`data-instant`,``):t.removeAttribute(`data-instant`));let n=G();n&&(e?n.setAttribute(`data-instant`,``):n.removeAttribute(`data-instant`))},nt=()=>{et(),Se=requestAnimationFrame(()=>{Se=null,Te=!1,I=!1,tt()})},rt=()=>{et(),Te=!1,I=!1,tt()},it=()=>{let e=B;!e||!E||(ze(),H?.disconnect(),H=null,rt(),$e(),Re(),Ce=0,we=0,E.hidden=!0,E.style.pointerEvents=`none`,e.popup.hidden=!0,e.popup.style.pointerEvents=`none`,e.popupPortal.restore(),e.generatedPopup&&Qe(e.popup),e.generatedPositioner&&Qe(e.positioner),e.generatedPortal&&Qe(e.portal),e.popupPresence.cleanup(),e.viewportPresence.cleanup(),B=null)},at=()=>{if(!E)return null;if(B)return B;let e=Me(),t=e.popup,n=e.positioner,r=e.portal,a=!1,s=!1,c=!1;(!t||!t.contains(E))&&(t=Ze(E,`navigation-menu-popup`),a=!0),(!n||!n.contains(t))&&(n=Ze(t,`navigation-menu-positioner`),s=!0),(!r||!r.contains(n))&&(r=Ze(n,`navigation-menu-portal`),c=!0);let l=i({content:t,root:p,enabled:!0,container:n,mountTarget:r}),u={popup:t,positioner:n,portal:r,popupPortal:l,popupPresence:null,viewportPresence:null,generatedPopup:a,generatedPositioner:s,generatedPortal:c,isClosing:!1,popupExitComplete:!1,viewportExitComplete:!1},d=o({element:E,onExitComplete:()=>{u.viewportExitComplete=!0,Ne(u)}});return u.popupPresence=o({element:t,onExitComplete:()=>{u.popupExitComplete=!0,Ne(u)}}),u.viewportPresence=d,B=u,Xe(t),B},ot=e=>{if(!E)return;let t=ke.get(e)??{originalParent:null,originalNextSibling:null,mountedInViewport:!1};t.mountedInViewport||(t.originalParent=e.parentNode,t.originalNextSibling=e.nextSibling,t.mountedInViewport=!0,ke.set(e,t)),e.parentNode!==E&&E.appendChild(e)},st=e=>{let t=ke.get(e);if(!t||!t.mountedInViewport)return;let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.mountedInViewport=!1,t.originalParent=null,t.originalNextSibling=null},ct=()=>{if(!E)return;let e=G();if(!e)return;let t=p.ownerDocument.defaultView??window,n=p.getBoundingClientRect(),r=w===`fixed`,i=n.top+we+(r?0:t.scrollY),a=n.left+Ce+(r?0:t.scrollX);e.style.position=w,e.style.top=`${i}px`,e.style.left=`${a}px`,e.style.margin=`0`,e.style.willChange=`top,left`,e.style.pointerEvents=`none`},lt=null,ut=e=>{ze(),Fe=requestAnimationFrame(()=>{if(Fe=null,!E||O===null)return;let t=Jt();if(!t||t.content!==e.content)return;let n=at();if(!n||n.isClosing)return;let r=ft(t.item,t.content);if(n.popup.hasAttribute(`data-starting-style`)||qe()){on(t.content,t.trigger,r,{defer:!1,mode:`sync-current`});return}on(t.content,t.trigger,r,{defer:!1,mode:`measure-target`})})},dt=e=>{lt?.disconnect(),lt=null,Pe?.disconnect(),Pe=null,ze(),!(!E||!e)&&(lt=new ResizeObserver(()=>{ut(e)}),lt.observe(e.content),typeof MutationObserver==`function`&&(Pe=new MutationObserver(()=>{ut(e)}),Pe.observe(e.content,{childList:!0,subtree:!0,characterData:!0})))};L.push(()=>lt?.disconnect()),L.push(()=>Pe?.disconnect()),L.push(ze),L.push(()=>{rt(),Ee.forEach(e=>e.cleanup()),Ee.clear(),ke.forEach((e,t)=>{st(t),U(t,!1),t.hidden=!0,t.style.pointerEvents=`none`}),De.clear(),ke.clear(),H?.disconnect(),H=null,it()});let K=new Map,ft=(e,t)=>({side:m.side??u(t,`side`,re)??u(e,`side`,re)??S,align:m.align??u(t,`align`,_)??u(e,`align`,_)??ce,sideOffset:m.sideOffset??d(t,`sideOffset`)??d(e,`sideOffset`)??C,alignOffset:m.alignOffset??d(t,`alignOffset`)??d(e,`alignOffset`)??le}),pt=0;ge.forEach(e=>{let t=e.dataset.value;if(!t)return;let n=f(e,`navigation-menu-trigger`),r=f(e,`navigation-menu-content`);if(n&&r){K.set(t,{value:t,item:e,trigger:n,content:r,index:pt++}),Ee.set(r,o({element:r,onExitComplete:()=>{be||(je(r,!1),z(r,null),r.removeAttribute(`data-motion`),U(r,!1),st(r),r.hidden=!0,r.style.pointerEvents=`none`)}}));let i=me(t),a=c(n,`nav-menu-trigger-${i}`),s=c(r,`nav-menu-content-${i}`);n.setAttribute(`aria-haspopup`,`true`),n.setAttribute(`aria-controls`,s),r.setAttribute(`aria-labelledby`,a)}});let mt=Array.from(K.values()).map(e=>e.trigger),ht=`a[href], button:not([disabled]), [role="link"], [role="button"], [tabindex]:not([tabindex="-1"])`,gt=e=>{let t=e?.closest(`[data-slot="navigation-menu-item"]`);if(!t)return null;let n=t.dataset.value;if(!n)return null;let r=K.get(n);return!r||r.item!==t?null:r},_t=e=>{if(e.matches(ht))return e;let t=e.querySelectorAll(ht);for(let n of t)if(e.contains(n)&&!n.closest(`[data-slot="navigation-menu-content"]`)&&!(n.hidden||n.closest(`[hidden]`)))return n;return null},q=[],vt=new Map;ge.forEach(e=>{let t=gt(e);if(t){let e={kind:`submenu`,element:t.trigger,item:t.item,value:t.value,trigger:t.trigger};q.push(e),vt.set(e.element,e),vt.set(e.item,e);return}let n=_t(e);if(!n)return;let r={kind:`plain`,element:n};q.push(r),vt.set(r.element,r)});let yt=e=>{let t=e instanceof HTMLElement?e:null;if(!t)return null;let n=t;for(;n&&n!==T;){let e=vt.get(n);if(e)return e;n=n.parentElement}return null},bt=e=>{let t=yt(e);return t?.kind===`plain`?t:null},xt=e=>{let t=yt(e);return t?.kind===`submenu`?t:null},St=()=>{let e=p.ownerDocument.defaultView;if(!e?.matchMedia)return!0;try{return e.matchMedia(`(any-hover: hover)`).matches}catch{return!0}},Ct=e=>{try{return e.matches(`:hover`)}catch{return!1}},wt=()=>{for(let e of q){if(e.kind===`submenu`){if(Ct(e.item)||Ct(e.trigger))return e;continue}if(Ct(e.element))return e}return null},Tt=(e,t={})=>{let n=p.ownerDocument,r=t.preserveOpenOnPlain??!1;return e.kind===`submenu`?(e.trigger.focus(),n.activeElement===e.trigger?(dn(e.trigger),!0):!1):(O!==null&&!r&&$(),e.element.focus(),n.activeElement===e.element?(O!==null&&r?dn():Z(e.element),!0):!1)},Et=(e,t,n={})=>{for(let r=e+t;r>=0&&r<q.length;r+=t){let e=q[r];if(e&&Tt(e,n))return!0}return!1},Dt=(e,t,n={})=>{let r=q.indexOf(e);return r===-1?!1:Et(r,t,n)},Ot=(e,t,n={})=>{let r=q.findIndex(t=>t.kind===`submenu`&&t.trigger===e);return r===-1?!1:Et(r,t,n)},kt=e=>{if(!(e instanceof Node)||!T.contains(e))return!1;let t=e instanceof HTMLElement?e:e.parentElement;return!t||t.closest(`[data-slot="navigation-menu-indicator"]`)||gt(t)?!1:t.closest(`[data-slot="navigation-menu-item"]`)?!0:!!t.closest(`a[href], button, [role='link'], [role='button']`)},At=`a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])`,jt=e=>Array.from(e.querySelectorAll(At)).filter(e=>!e.hidden&&!e.closest(`[hidden]`)),Mt=e=>!e.isConnected||e.hidden||e.closest(`[hidden]`)||`disabled`in e&&e.disabled||e.getAttribute(`aria-hidden`)===`true`||e.getAttribute(`tabindex`)===`-1`?!1:e.matches(At)?!0:e.tabIndex>=0,Nt=e=>{if(p.contains(e)||E?.contains(e)||W()?.contains(e)||G()?.contains(e))return!0;for(let{content:t}of K.values())if(t.contains(e))return!0;return!1},Pt=()=>{let e=p.ownerDocument,t=Array.from(e.querySelectorAll(`*`));for(let n of t)if(Mt(n)&&!Nt(n)&&(p.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)!==0&&(n.focus(),e.activeElement===n))return!0;return!1},Ft=e=>{requestAnimationFrame(()=>{if(O!==e)return;let t=K.get(e);if(!t)return;let n=jt(t.content)[0];n?n.focus():t.content.focus()})},J=()=>{_e&&=(clearTimeout(_e),null),ve&&=(clearTimeout(ve),null)},It=()=>{J(),k=null},Lt=()=>{ye=null,N=null},Rt=()=>{xe!==null&&(cancelAnimationFrame(xe),xe=null)},Y=null,zt=()=>E?G()||W()||(E.parentElement instanceof HTMLElement?E.parentElement:E):null,Bt=()=>{let e=zt();return Y||(Y=document.createElement(`div`),Y.setAttribute(`data-slot`,`navigation-menu-bridge`),Y.style.cssText=`position: absolute; pointer-events: auto; z-index: 0; display: none;`,L.push(h(Y,`pointerenter`,()=>{J()}),h(Y,`pointerleave`,e=>{if(M||O===null)return;let t=e.relatedTarget;nn(t)||t&&n(p,t)||(Q(null),Z(null))}))),e&&Y.parentElement!==e&&e.insertBefore(Y,e.firstChild),Y},Vt=()=>{Y&&(Y.style.height=`0`,Y.style.width=`0`,Y.style.top=`0px`,Y.style.left=`0px`,Y.style.right=`0px`,Y.style.bottom=`auto`,Y.style.transform=`none`,Y.style.clipPath=`none`,Y.style.display=`none`)},Ht=()=>{if(!de)return null;let e=p.ownerDocument.body;return e?(F||(F=p.ownerDocument.createElement(`div`),F.setAttribute(`data-slot`,`navigation-menu-safe-triangle`),F.style.cssText=[`position: fixed`,`pointer-events: none`,`display: none`,`z-index: 2147483647`,`background: rgba(255, 0, 0, 0.18)`,`border: 1px solid rgba(255, 0, 0, 0.45)`].join(`; `)),F.parentElement!==e&&e.appendChild(F),F):null},Ut=()=>{F&&(F.style.width=`0`,F.style.height=`0`,F.style.clipPath=`none`,F.style.display=`none`)},X=()=>{de||Ut()},Wt=e=>{let t=Ht();if(!t)return;let n=e.apex.x,r=e.apex.y,i=e.edgeA.x,a=e.edgeA.y,o=e.edgeB.x,s=e.edgeB.y,c=Math.min(n,i,o),l=Math.min(r,a,s),u=Math.max(n,i,o),d=Math.max(r,a,s),f=Math.max(1,u-c),ee=Math.max(1,d-l),p=(e,t)=>`${(e-c)/f*100}% ${(t-l)/ee*100}%`;t.style.display=`block`,t.style.left=`${c}px`,t.style.top=`${l}px`,t.style.width=`${f}px`,t.style.height=`${ee}px`,t.style.clipPath=`polygon(${p(n,r)}, ${p(i,a)}, ${p(o,s)})`},Gt=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Kt=(e,t,n,r)=>{let i=Gt(e,t,n),a=Gt(e,n,r),o=Gt(e,r,t);return!((i<0||a<0||o<0)&&(i>0||a>0||o>0))},qt=(e,t,n)=>{let r=.5;if(n.top>=t.bottom-r)return[{x:n.left,y:n.top},{x:n.right,y:n.top}];if(n.bottom<=t.top+r)return[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}];if(n.left>=t.right-r)return[{x:n.left,y:n.top},{x:n.left,y:n.bottom}];if(n.right<=t.left+r)return[{x:n.right,y:n.top},{x:n.right,y:n.bottom}];let i=[[{x:n.left,y:n.top},{x:n.right,y:n.top}],[{x:n.right,y:n.top},{x:n.right,y:n.bottom}],[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}],[{x:n.left,y:n.top},{x:n.left,y:n.bottom}]],a=([t,n])=>t.y===n.y?Math.abs(e.y-t.y):Math.abs(e.x-t.x),o=i[0],s=a(o);for(let e=1;e<i.length;e++){let t=i[e],n=a(t);n<s&&(o=t,s=n)}return o},Jt=()=>O?K.get(O)??null:null,Yt=(e,t,n)=>{if(n.width<=0||n.height<=0)return null;let r={x:e.left+e.width/2,y:e.top+e.height*.62},[i,a]=qt(r,t,n);if(i.x===a.x){let e=Math.min(i.y,a.y),t=Math.max(i.y,a.y),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:i.x,y:e+r},a={x:a.x,y:t-r}}else{let e=Math.min(i.x,a.x),t=Math.max(i.x,a.x),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:e+r,y:i.y},a={x:t-r,y:a.y}}return{apex:r,edgeA:i,edgeB:a}},Xt=()=>{if(!fe||!E||O===null)return null;let e=Jt();if(!e)return null;let t=p.getBoundingClientRect(),n=e.trigger.getBoundingClientRect(),r=E.getBoundingClientRect(),i=e.content.getBoundingClientRect();return Yt(n,t,r.width>0&&r.height>0?r:i)},Zt=e=>{let t=Xt();return t?Kt({x:e.clientX,y:e.clientY},t.apex,t.edgeA,t.edgeB):!1},Qt=(e,t)=>({x:e.x-t.left,y:e.y-t.top}),$t=e=>{if(e.length<=1)return e.slice();let t=e=>`${e.x.toFixed(3)}:${e.y.toFixed(3)}`,n=new Map;for(let r of e)n.set(t(r),r);let r=Array.from(n.values()).sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x);if(r.length<=2)return r;let i=(e,t,n)=>(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),a=[];for(let e of r){for(;a.length>=2&&i(a[a.length-2],a[a.length-1],e)<=0;)a.pop();a.push(e)}let o=[];for(let e=r.length-1;e>=0;e--){let t=r[e];for(;o.length>=2&&i(o[o.length-2],o[o.length-1],t)<=0;)o.pop();o.push(t)}return a.pop(),o.pop(),a.concat(o)},en=e=>{if(e.length<3){Vt();return}let t=Bt(),n=t.parentElement,r=$t(n&&n===G()?e.map(e=>({x:e.x-Ce,y:e.y-we})):e);if(r.length<3){Vt();return}let i=Math.min(...r.map(e=>e.x)),a=Math.min(...r.map(e=>e.y)),o=Math.max(...r.map(e=>e.x)),s=Math.max(...r.map(e=>e.y)),c=Math.max(1,o-i),l=Math.max(1,s-a),u=e=>`${(e.x-i)/c*100}% ${(e.y-a)/l*100}%`;t.style.display=`block`,t.style.transform=`none`,t.style.bottom=`auto`,t.style.right=`auto`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.width=`${c}px`,t.style.height=`${l}px`,t.style.clipPath=`polygon(${r.map(u).join(`, `)})`},tn=()=>{if(!de)return;let e=Xt();if(!e){Ut();return}Wt(e)},nn=e=>e?!!(Jt()?.content.contains(e)||E?.contains(e)||W()?.contains(e)||Y?.contains(e)||G()?.contains(e)):!1;L.push(X),L.push(Rt),L.push(Vt),L.push(()=>{Ut(),F?.parentElement&&F.parentElement.removeChild(F),F=null});let rn=(e,t,n,r,i,a)=>{let o=p.ownerDocument.defaultView??window,s=o.visualViewport,c=s?.offsetLeft??0,l=s?.offsetTop??0,u=s?.width??o.innerWidth,d=s?.height??o.innerHeight,f=n===`left`?Math.max(0,t.left-c-r):n===`right`?Math.max(0,c+u-t.right-r):Math.max(0,u),ee=n===`top`?Math.max(0,t.top-l-r):n===`bottom`?Math.max(0,l+d-t.bottom-r):Math.max(0,d);Ue(e,{width:i,height:a}),e.style.setProperty(`--available-width`,`${f}px`),e.style.setProperty(`--available-height`,`${ee}px`)},an=(e,n,r,i={})=>{let a=at();if(!E||!a)return;let{popup:o,positioner:s}=a,c=i.mode??`measure-target`,l=c!==`sync-current`;if(E.getAttribute(`data-state`)!==`open`||e.getAttribute(`data-state`)!==`active`)return;U(e,!1);let u=e.firstElementChild,d=e.lastElementChild,f=u?getComputedStyle(u):null,ee=d?getComputedStyle(d):null,m=f&&parseFloat(f.marginTop)||0,h=ee&&parseFloat(ee.marginBottom)||0,te=(...e)=>{let t=0;for(let n of e)Number.isFinite(n)&&(t=Math.max(t,n));return t},g=e.getBoundingClientRect(),ne={width:te(g.width,e.scrollWidth,e.offsetWidth,e.clientWidth),height:te(g.height,e.scrollHeight,e.offsetHeight,e.clientHeight)+m+h},_={...V.committed},v=l?Ge(a,r.side):Ke(),y={width:c===`sync-current`?_.width||v.width||ne.width:v.width||ne.width,height:c===`sync-current`?_.height||v.height||ne.height:v.height||ne.height};Le(v.width>0&&v.height>0?v:y),l&&Ie(y);let b=y.width,x=y.height;if(b<=0||x<=0)return;let ae={top:g.top,left:g.left,width:b,height:x,right:g.left+b,bottom:g.top+x},oe=getComputedStyle(E),se=parseFloat(oe.marginTop)||0;He(b,x);let S=p.getBoundingClientRect(),ce=n.getBoundingClientRect(),C=t({anchorRect:ce,contentRect:ae,side:r.side,align:r.align,sideOffset:r.sideOffset,alignOffset:r.alignOffset,avoidCollisions:!1,collisionPadding:0,allowedSides:re}),le=C.x-S.left,w=C.y-S.top;Ce=le,we=w;let ue=ie(C.side,C.align,ce),de=ue.x-(S.left+le),pe=ue.y-(S.top+w),me=ue.x-S.left,he=ue.y-S.top,T=`${de}px ${pe}px`,ge=`${me}px ${he}px`;if(o.style.willChange=`width,height`,o.style.pointerEvents=`auto`,C.side===`top`?Ye(o,`top`):C.side===`left`?Ye(o,`left`):Ye(o,null),o.style.setProperty(`--transform-origin`,T),E.style.top=`0px`,E.style.left=`0px`,E.style.willChange=`transform,width,height`,E.style.setProperty(`--transform-origin`,T),e.style.setProperty(`--transform-origin`,T),o.setAttribute(`data-side`,C.side),o.setAttribute(`data-align`,C.align),E.setAttribute(`data-side`,C.side),E.setAttribute(`data-align`,C.align),e.setAttribute(`data-side`,C.side),e.setAttribute(`data-align`,C.align),s.setAttribute(`data-side`,C.side),s.setAttribute(`data-align`,C.align),s.style.setProperty(`--transform-origin`,ge),rn(s,ce,C.side,r.sideOffset,b,x),ct(),c===`measure-target`)Ve(o,b,x);else if(c===`initial-open`)Ve(o,b,x);else{let e=o.style.getPropertyValue(`--popup-width`).trim(),t=o.style.getPropertyValue(`--popup-height`).trim();(!e||!t)&&Ve(o,_.width||b,_.height||x)}let D=E.getBoundingClientRect(),O=[],k=Math.max(0,D.top-S.bottom),A=Math.max(0,S.top-D.bottom),_e=Math.max(0,D.left-S.right),ve=Math.max(0,S.left-D.right),j=Math.max(0,se),M=Math.max(k,A,j),ye=Math.max(_e,ve),N=fe?Yt(ce,S,D):null,P=(e,t,n,r)=>{n<=0||r<=0||O.push({x:e,y:t},{x:e+n,y:t},{x:e+n,y:t+r},{x:e,y:t+r})};if(M>=ye&&M>0){let e=Math.max(k,A,j),t=le,n=A>k&&A>=j?w+x:w-e,r=b;if(N){let e=Math.min(N.edgeA.x,N.edgeB.x)-S.left,n=Math.max(N.edgeA.x,N.edgeB.x)-S.left;t=e-8,r=n-e+16}P(t,n,r,e)}else if(ye>0){let e=Math.max(_e,ve),t=w,n=ve>_e?le+b:le-e,r=x;if(N){let e=Math.min(N.edgeA.y,N.edgeB.y)-S.top,n=Math.max(N.edgeA.y,N.edgeB.y)-S.top;t=e-8,r=n-e+16}P(n,t,e,r)}if(N){let e=Qt(N.apex,S),t=Qt(N.edgeA,S),n=Qt(N.edgeB,S);O.push(e,t,n)}en(O),tn()},on=(e,t,n,r={})=>{if(!E)return;let i=()=>{an(e,t,n,r)};if(r.defer===!1){i();return}requestAnimationFrame(()=>{E.getAttribute(`data-state`)!==`open`||e.getAttribute(`data-state`)!==`active`||i()})},sn=(e=Jt(),t={})=>{if(!e)return;let n=ft(e.item,e.content);on(e.content,e.trigger,n,t)},cn=a({observedElements:[p,...mt],isActive:()=>O!==null,ancestorScroll:!0,syncOnScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,onUpdate:()=>{I=!0,tt(),sn(void 0,{defer:!1,mode:`sync-current`}),nt()}});L.push(()=>cn.stop());let ln=e=>A===-1||e>A?`right`:`left`,Z=e=>{if(!D)return;if(j=e,!e){Rt(),D.removeAttribute(`data-instant`),D.setAttribute(`data-state`,`hidden`);return}D.getAttribute(`data-state`)!==`visible`&&(Rt(),D.setAttribute(`data-instant`,``),xe=requestAnimationFrame(()=>{xe=requestAnimationFrame(()=>{D.removeAttribute(`data-instant`),xe=null})}));let t=T.getBoundingClientRect(),n=e.getBoundingClientRect();D.style.setProperty(`--indicator-left`,`${n.left-t.left}px`),D.style.setProperty(`--indicator-width`,`${n.width}px`),D.style.setProperty(`--indicator-top`,`${n.top-t.top}px`);let r=(E&&parseFloat(getComputedStyle(E).marginTop)||0)<1?1:0;D.style.setProperty(`--indicator-height`,`${n.height-r}px`),D.setAttribute(`data-state`,`visible`)},un=()=>O?K.get(O)?.trigger??null:null,dn=(e=null)=>{let t=un();if(t){Z(t);return}Z(e)},Q=(e,t=!1)=>{if(X(),e===O){e===null?It():J();return}if(!t&&e!==null&&e===k)return;J(),k=e===null?null:e;let r=()=>{let t=O,r=e?K.get(e):null,i=Ke(),a=e!==null,o=t===null&&a,c=t!==null&&e!==null&&t!==e,l=c&&r?ln(r.index):null,u=document.activeElement;if(e===null&&u&&t){let e=K.get(t);e&&n(e.content,u)&&e.trigger.focus()}if(K.forEach(({trigger:n,content:r,item:i},a)=>{let o=a===e,s=a===t;if(g(n,`expanded`,o),n.setAttribute(`data-state`,o?`open`:`closed`),i.setAttribute(`data-state`,o?`open`:`closed`),!o){let t=Ee.get(r);if(je(r,!1),r.setAttribute(`aria-hidden`,`true`),he(r,!0),r.style.pointerEvents=`none`,e===null)s&&(z(r,null),r.removeAttribute(`data-motion`));else if(s&&l){z(r,l);let e=l===`right`?`to-left`:`to-right`;r.setAttribute(`data-motion`,e)}else s&&(z(r,null),r.removeAttribute(`data-motion`));s?(U(r,!0),t?.exit()):t?.isExiting||(z(r,null),r.removeAttribute(`data-motion`),U(r,!1),st(r),r.hidden=!0)}}),r){let e=at();if(e?.popupPortal.mount(),e&&(e.isClosing=!1,e.popupExitComplete=!1,e.viewportExitComplete=!1),E&&o&&(R(p,!0),R(e?.positioner??G(),!0),R(e?.popup??W(),!0),R(E,!0),E.style.pointerEvents=`auto`,Te=!0,et(),I=!1,tt(),nt()),e?.popup&&(e.popup.hidden=!1,e.popup.style.pointerEvents=`auto`),E&&(E.hidden=!1),t===null&&(e?.popupPresence.enter(),e?.viewportPresence.enter()),ot(r.content),Ee.get(r.content)?.enter(),cn.start(),l){z(r.content,l);let e=l===`right`?`from-right`:`from-left`;r.content.setAttribute(`data-motion`,e)}else z(r.content,null),r.content.removeAttribute(`data-motion`);je(r.content,!0),U(r.content,!1),r.content.removeAttribute(`aria-hidden`),he(r.content,!1),r.content.hidden=!1,r.content.style.pointerEvents=`auto`,A=r.index,c&&(Te=!1,et(),I=!1,tt()),sn(r,{defer:o||c?!1:void 0,mode:o?`initial-open`:`measure-target`}),dt(r),Z(r.trigger)}else cn.stop(),Vt(),X(),B&&(i.width>0&&i.height>0&&(Ve(B.popup,i.width,i.height),Ue(B.positioner,{width:i.width,height:i.height}),He(i.width,i.height)),B.isClosing=!0,B.popupExitComplete=!1,B.viewportExitComplete=!1,B.popupPresence.exit(),B.viewportPresence.exit()),dt(null);if(R(p,a),l?p.setAttribute(`data-motion`,l===`right`?`from-right`:`from-left`):p.removeAttribute(`data-motion`),E){let e=W();R(G(),a),R(e,a),R(E,a),E.style.pointerEvents=a?`auto`:`none`,Te=o,(!a||c)&&(et(),I=!1),tt(),l?E.style.setProperty(`--motion-direction`,l===`right`?`1`:`-1`):E.style.removeProperty(`--motion-direction`)}O=e,k=null,e===null&&Z(null),tn(),s(p,`navigation-menu:change`,{value:e}),pe?.(e)};t?r():e!==null&&O===null?_e=setTimeout(r,ae):e!==null&&O!==null?r():ve=setTimeout(r,oe)},fn=Me();R(p,!1),E&&(R(fn.positioner,!1),R(fn.popup,!1),R(E,!1),E.hidden=!0,E.style.pointerEvents=`none`,fn.popup&&(fn.popup.hidden=!0,fn.popup.style.pointerEvents=`none`)),D&&D.setAttribute(`data-state`,`hidden`),K.forEach(({trigger:e,content:t,item:n})=>{e.tagName===`BUTTON`&&!e.hasAttribute(`type`)&&(e.type=`button`),g(e,`expanded`,!1),e.setAttribute(`data-state`,`closed`),e.tabIndex=0,n.setAttribute(`data-state`,`closed`),je(t,!1),t.setAttribute(`aria-hidden`,`true`),t.tabIndex=-1,he(t,!0),t.hidden=!0,U(t,!1),t.style.pointerEvents=`none`}),K.forEach(({item:e,trigger:t},r)=>{L.push(h(t,`pointerenter`,e=>{if(!M){if(O!==r&&Zt(e))return;Z(t)}})),L.push(h(e,`pointerenter`,e=>{if(!M){if(O!==r&&Zt(e))return;Q(r)}})),L.push(h(e,`pointerleave`,e=>{if(k===r&&O===null&&It(),O===r&&!M){let t=e.relatedTarget;if(nn(t))return;(!t||!n(p,t))&&(Q(null),Z(null))}})),L.push(h(t,`focus`,()=>{if(ye===t){ye=null;return}se&&Q(r,!0),dn(t)})),L.push(h(t,`pointerdown`,()=>{ye=t,N=t}),h(t,`keydown`,()=>{N=null})),L.push(h(t,`click`,()=>{let e=N===t;N=null,ye=null,It(),O===r&&M?(M=!1,Q(null,!0),Z(null)):O===r&&!M?(M=!0,Z(t),e||Ft(r)):(M=!0,Q(r,!0),Z(t),e||Ft(r))}))}),L.push(h(T,`pointerover`,e=>{let t=e;if(t.pointerType===`touch`)return;let n=xt(t.target);if(n){if(P=!0,M||O!==n.value&&Zt(t))return;Z(n.trigger),Q(n.value);return}let r=bt(t.target);if(r){if(P=!0,O!==null){if(M)return;$()}Z(r.element);return}O!==null&&(M||kt(t.target)&&$())}),h(T,`click`,e=>{O!==null&&kt(e.target)&&$()})),L.push(h(T,`focusin`,e=>{let t=bt(e.target);if(t){if(O!==null){dn();return}Z(t.element)}}),h(p,`pointerenter`,()=>{P=!0}),h(p,`pointerleave`,e=>{let t=e.relatedTarget;if(!nn(t)&&(P=!1,!M)){if(Zt(e)){J();return}Q(null),Z(null)}}),h(p,`pointerdown`,()=>{X(),It()}));let pn=()=>{if(!St()||O!==null||k!==null||M)return;let e=wt();if(P=e!==null||p instanceof HTMLElement&&Ct(p),e){if(e.kind===`submenu`){Q(e.value,!0);return}Z(e.element)}};E&&L.push(h(E,`pointerenter`,()=>{X(),J()}),h(E,`transitionend`,e=>{if(e.target!==E)return;let t=O?K.get(O):null;t&&sn(t,{defer:!1,mode:`sync-current`})})),K.forEach(({content:e})=>{L.push(h(e,`pointerenter`,()=>{X(),J()}),h(e,`pointerleave`,e=>{if(M)return;let t=e.relatedTarget;nn(t)||n(p,t)||(Q(null),Z(null))}))}),L.push(h(T,`keydown`,e=>{let t=yt(e.target);if(!t)return;let n=q.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`Tab`:if(e.shiftKey||O===null)return;(Dt(t,1,{preserveOpenOnPlain:!0})||Pt())&&e.preventDefault();return;case`ArrowLeft`:r=n-1,r<0&&(r=q.length-1);break;case`ArrowRight`:r=n+1,r>=q.length&&(r=0);break;case`ArrowDown`:if(t.kind===`submenu`){e.preventDefault();let n=t.value;M=!0,Q(n,!0),Ft(n)}return;case`Home`:r=0;break;case`End`:r=q.length-1;break;case`Escape`:M=!1,Q(null,!0),Z(null);return;default:return}e.preventDefault();let i=q[r];i&&Tt(i,{preserveOpenOnPlain:!0})})),K.forEach(({content:e,trigger:t})=>{L.push(h(e,`keydown`,n=>{let r=n.target,i=jt(e),a=i.indexOf(r);if(a!==-1)switch(n.key){case`Tab`:if(!n.shiftKey&&a===i.length-1){(Ot(t,1,{preserveOpenOnPlain:!0})||Pt())&&n.preventDefault();return}if(n.shiftKey&&a===0){n.preventDefault(),t.focus();return}return;case`ArrowDown`:case`ArrowRight`:{n.preventDefault();let e=a+1;e<i.length&&i[e]?.focus();break}case`ArrowUp`:case`ArrowLeft`:n.preventDefault(),a===0?t.focus():i[a-1]?.focus();break;case`Escape`:n.preventDefault(),M=!1,Q(null,!0),Z(null),t.focus();break}}))});let mn=()=>n(p,document.activeElement)||P||M,$=()=>{X(),It(),Lt(),M=!1,Q(null,!0),Z(null),tn()};L.push(h(document,`focusin`,e=>{let t=e.target;if(!n(p,t)){if(O!==null){$();return}Z(null)}})),L.push(r({root:p,isOpen:()=>O!==null&&mn(),onDismiss:$,closeOnClickOutside:!0,closeOnEscape:!0,preventEscapeDefault:!1,isInside:e=>!!e&&n(p,e)})),L.push(h(window,`resize`,()=>{(O||j)&&requestAnimationFrame(()=>dn(j))}),h(T,`scroll`,()=>{(O||j)&&requestAnimationFrame(()=>dn(j))})),L.push(h(p,`navigation-menu:set`,e=>{let t=e.detail;if(t?.value!==void 0){if(t.value===null)$();else if(K.has(t.value)){M=!0,Q(t.value,!0);let e=K.get(t.value);e&&Z(e.trigger)}}}));let hn={get value(){return O},open:e=>Q(e,!0),close:()=>$(),destroy:()=>{be=!0,It(),Lt(),L.forEach(e=>e()),L.length=0,e(p,x,hn)}};return pn(),ne(p,x,hn),hn}function oe(e=document){let t=[];for(let n of p(e,`navigation-menu`))m(n,x)||t.push(ae(n));return t}export{oe as create,ae as createNavigationMenu};
|
|
1
|
+
import{clearRootBinding as e,computeFloatingPosition as t,containsWithPortals as n,createDismissLayer as r,createPortalLifecycle as i,createPositionSync as a,createPresenceLifecycle as o,emit as s,ensureId as c,getDataBool as l,getDataEnum as u,getDataNumber as d,getPart as f,getParts as ee,getRoots as p,hasRootBinding as m,on as h,reuseRootBinding as te,setAria as g,setRootBinding as ne}from"@data-slot/core";const _=[`start`,`center`,`end`],re=[`top`,`right`,`bottom`,`left`],v=[`absolute`,`fixed`],y=(e,t)=>t===`start`?{x:e.left,y:e.top}:t===`end`?{x:e.right,y:e.bottom}:{x:e.left+e.width/2,y:e.top+e.height/2},ie=(e,t,n)=>{let r=y(n,t);return e===`top`?{x:r.x,y:n.top}:e===`bottom`?{x:r.x,y:n.bottom}:e===`left`?{x:n.left,y:r.y}:{x:n.right,y:r.y}},b=e=>{let t=getComputedStyle(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0;if(e instanceof HTMLElement){let t=e.offsetWidth||n,i=e.offsetHeight||r;(Math.round(n)!==t||Math.round(r)!==i)&&(n=t,r=i)}return{width:n,height:r}},x=`@data-slot/navigation-menu`;function ae(p,m={}){let y=te(p,x,`[@data-slot/navigation-menu] createNavigationMenu() called more than once for the same root. Returning the existing controller. Destroy it before rebinding with new options.`);if(y)return y;let ae=m.delayOpen??d(p,`delayOpen`)??0,oe=m.delayClose??d(p,`delayClose`)??0,se=m.openOnFocus??l(p,`openOnFocus`)??!1,S=m.side??u(p,`side`,re)??`bottom`,ce=m.align??u(p,`align`,_)??`start`,C=m.sideOffset??d(p,`sideOffset`)??0,le=m.alignOffset??d(p,`alignOffset`)??0,ue=m.positionMethod??u(p,`positionMethod`,v)??`absolute`,de=m.safeTriangle??l(p,`safeTriangle`)??!1,fe=m.debugSafeTriangle??l(p,`debugSafeTriangle`)??!1,pe=de||fe,me=m.onValueChange,he=e=>e.replace(/[^a-z0-9\-_:.]/gi,`-`),ge=(e,t)=>{`inert`in e&&(e.inert=t)},w=f(p,`navigation-menu-list`),_e=ee(p,`navigation-menu-item`),T=f(p,`navigation-menu-viewport`),E=f(p,`navigation-menu-indicator`);if(!w||_e.length===0)throw Error(`NavigationMenu requires navigation-menu-list and at least one navigation-menu-item`);let D=null,O=null,k=-1,ve=null,ye=null,A=null,j=!1,be=null,M=null,N=!1,xe=!1,P=null,Se=null,Ce=null,we=0,Te=0,F=!1,I=0,L=!1,R=[],Ee=new Map,De=new Map,Oe=new WeakMap,ke=new Map,Ae=(e,t)=>{if(e){if(t){e.setAttribute(`data-open`,``),e.removeAttribute(`data-closed`);return}e.setAttribute(`data-closed`,``),e.removeAttribute(`data-open`)}},z=(e,t)=>{e&&(e.setAttribute(`data-state`,t?`open`:`closed`),Ae(e,t))},je=(e,t)=>{e.setAttribute(`data-state`,t?`active`:`inactive`),Ae(e,t)},B=(e,t)=>{if(t){e.setAttribute(`data-activation-direction`,t);return}e.removeAttribute(`data-activation-direction`)},Me=()=>{if(!T)return{popup:null,positioner:null,portal:null};let e=null,t=null,n=null,r=T.parentElement,i=`popup`;for(;r&&r!==p;){let a=r.getAttribute(`data-slot`);if(a===`navigation-menu-portal`){n=r;break}if(i===`popup`&&a===`navigation-menu-popup`){e=r,i=`positioner`,r=r.parentElement;continue}if((i===`popup`||i===`positioner`)&&(a===`navigation-menu-positioner`||a===`navigation-menu-viewport-positioner`)){t=r,i=`portal`,r=r.parentElement;continue}r=r.parentElement}return{popup:e,positioner:t,portal:n}},V=null,Ne=e=>{xe||V!==e||!e.isClosing||!e.popupExitComplete||!e.viewportExitComplete||ot()},H={committed:{width:0,height:0},live:{width:0,height:0}},U=null,Pe=null,Fe=null,Ie=e=>{e.width>0&&(H.committed.width=e.width),e.height>0&&(H.committed.height=e.height)},Le=e=>{e.width>0&&(H.live.width=e.width),e.height>0&&(H.live.height=e.height)},Re=()=>{H={committed:{width:0,height:0},live:{width:0,height:0}}},ze=()=>{Fe!==null&&(cancelAnimationFrame(Fe),Fe=null)},Be=(e,t)=>{if(t===`auto`){e.style.setProperty(`--popup-width`,`auto`),e.style.setProperty(`--popup-height`,`auto`);return}e.style.setProperty(`--popup-width`,`${t.width}px`),e.style.setProperty(`--popup-height`,`${t.height}px`)},Ve=(e,t,n)=>{Be(e,{width:t,height:n})},He=(e,t)=>{T&&(T.style.setProperty(`--viewport-width`,`${e}px`),T.style.setProperty(`--viewport-height`,`${t}px`))},Ue=(e,t)=>{if(t===`max-content`){e.style.setProperty(`--positioner-width`,`max-content`),e.style.setProperty(`--positioner-height`,`max-content`);return}e.style.setProperty(`--positioner-width`,`${t.width}px`),e.style.setProperty(`--positioner-height`,`${t.height}px`)},We=(e,t)=>{let n=new Map;for(let[r,i]of Object.entries(t))n.set(r,e.style.getPropertyValue(r)),e.style.setProperty(r,i);return()=>{for(let[t,r]of n)r?e.style.setProperty(t,r):e.style.removeProperty(t)}},Ge=(e,t)=>{let n=We(e.popup,{"--popup-width":`auto`,"--popup-height":`auto`,position:`static`,transform:`none`,scale:`1`,top:``,right:``,bottom:``,left:``}),r=We(e.positioner,{"--positioner-width":`max-content`,"--positioner-height":`max-content`,"--available-width":`max-content`,"--available-height":`max-content`}),i=b(e.popup);return r(),n(),i},Ke=()=>{let e=W();if(!e)return{...H.committed};let t=b(e),n={width:e.offsetWidth||t.width||H.live.width||H.committed.width,height:e.offsetHeight||t.height||H.live.height||H.committed.height};return Le(n),n},qe=()=>{let e=H.committed;if(e.width<=0||e.height<=0)return!1;let t=Ke();return Math.abs(t.width-e.width)>1||Math.abs(t.height-e.height)>1},Je=(e,t)=>{if(t){let t=De.get(e)??{applied:!1,left:``,position:``,top:``};t.applied||(t.position=e.style.position,t.top=e.style.top,t.left=e.style.left),t.applied=!0,De.set(e,t),e.style.position=`absolute`,e.style.top=`0px`,e.style.left=`0px`;return}let n=De.get(e);n?.applied&&(n.position?e.style.position=n.position:e.style.removeProperty(`position`),n.top?e.style.top=n.top:e.style.removeProperty(`top`),n.left?e.style.left=n.left:e.style.removeProperty(`left`),n.applied=!1)},Ye=e=>{let t=Oe.get(e);t?.applied&&(t.position?e.style.position=t.position:e.style.removeProperty(`position`),t.top?e.style.top=t.top:e.style.removeProperty(`top`),t.right?e.style.right=t.right:e.style.removeProperty(`right`),t.bottom?e.style.bottom=t.bottom:e.style.removeProperty(`bottom`),t.left?e.style.left=t.left:e.style.removeProperty(`left`),t.applied=!1)},Xe=(e,t)=>{if(t===null){Ye(e);return}let n=Oe.get(e)??{applied:!1,bottom:``,left:``,position:``,right:``,top:``};if(n.applied||(n.position=e.style.position,n.top=e.style.top,n.right=e.style.right,n.bottom=e.style.bottom,n.left=e.style.left),n.applied=!0,Oe.set(e,n),t===`top`){e.style.position=`absolute`,e.style.top=``,e.style.right=``,e.style.bottom=`0px`,e.style.left=`0px`;return}e.style.position=`absolute`,e.style.top=`0px`,e.style.right=`0px`,e.style.bottom=``,e.style.left=``},W=()=>V?.popup??Me().popup,G=()=>V?.positioner??Me().positioner,Ze=e=>{U?.disconnect(),U=null,!(!e||typeof ResizeObserver!=`function`)&&(U=new ResizeObserver(t=>{let n=t[0],r=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.inlineSize:void 0,i=Array.isArray(n?.borderBoxSize)?n?.borderBoxSize[0]?.blockSize:void 0;Le({width:Math.ceil(r??e.offsetWidth),height:Math.ceil(i??e.offsetHeight)})}),U.observe(e))},Qe=(e,t)=>{let n=(p.ownerDocument??document).createElement(`div`);n.setAttribute(`data-slot`,t),t===`navigation-menu-positioner`&&(n.style.isolation=`isolate`,n.style.zIndex=`50`);let r=e.parentNode;if(!r)throw Error(`NavigationMenu expected popup stack child to have a parent node`);return r.insertBefore(n,e),n.appendChild(e),n},$e=e=>{let t=e.parentNode;if(t){for(;e.firstChild;)t.insertBefore(e.firstChild,e);e.remove()}},et=()=>{let e=G();e&&(e.style.position=``,e.style.top=``,e.style.left=``,e.style.margin=``,e.style.willChange=``,e.style.pointerEvents=``,e.style.transform=``,e.style.removeProperty(`--transform-origin`),e.style.removeProperty(`--positioner-width`),e.style.removeProperty(`--positioner-height`),e.style.removeProperty(`--available-width`),e.style.removeProperty(`--available-height`));let t=W();t&&(t.style.willChange=``,t.style.pointerEvents=``,Ye(t),t.style.removeProperty(`scale`),t.style.removeProperty(`--transform-origin`),t.style.removeProperty(`--popup-width`),t.style.removeProperty(`--popup-height`)),T&&(T.style.top=``,T.style.left=``,T.style.willChange=``,T.style.removeProperty(`--transform-origin`),T.style.removeProperty(`--viewport-width`),T.style.removeProperty(`--viewport-height`))},tt=()=>{Ce!==null&&(cancelAnimationFrame(Ce),Ce=null)},nt=()=>{let e=F||L;T&&(e?T.setAttribute(`data-instant`,``):T.removeAttribute(`data-instant`));let t=W();t&&(e?t.setAttribute(`data-instant`,``):t.removeAttribute(`data-instant`));let n=G();n&&(e?n.setAttribute(`data-instant`,``):n.removeAttribute(`data-instant`))},rt=()=>{tt(),Ce=requestAnimationFrame(()=>{if(Ce=null,F&&I>0){--I,rt();return}I=0,F=!1,L=!1,nt()})},it=()=>{tt(),I=0,F=!1,L=!1,nt()},at=(e=4)=>{F=!0,I=Math.max(I,e),nt(),rt()},ot=()=>{let e=V;!e||!T||(ze(),U?.disconnect(),U=null,it(),et(),Re(),we=0,Te=0,T.hidden=!0,T.style.pointerEvents=`none`,e.popup.hidden=!0,e.popup.style.pointerEvents=`none`,e.popupPortal.restore(),e.generatedPopup&&$e(e.popup),e.generatedPositioner&&$e(e.positioner),e.generatedPortal&&$e(e.portal),e.popupPresence.cleanup(),e.viewportPresence.cleanup(),V=null)},st=()=>{if(!T)return null;if(V)return V;let e=Me(),t=e.popup,n=e.positioner,r=e.portal,a=!1,s=!1,c=!1;(!t||!t.contains(T))&&(t=Qe(T,`navigation-menu-popup`),a=!0),(!n||!n.contains(t))&&(n=Qe(t,`navigation-menu-positioner`),s=!0),(!r||!r.contains(n))&&(r=Qe(n,`navigation-menu-portal`),c=!0);let l=i({content:t,root:p,enabled:!0,container:n,mountTarget:r}),u={popup:t,positioner:n,portal:r,popupPortal:l,popupPresence:null,viewportPresence:null,generatedPopup:a,generatedPositioner:s,generatedPortal:c,isClosing:!1,popupExitComplete:!1,viewportExitComplete:!1},d=o({element:T,onExitComplete:()=>{u.viewportExitComplete=!0,Ne(u)}});return u.popupPresence=o({element:t,onExitComplete:()=>{u.popupExitComplete=!0,Ne(u)}}),u.viewportPresence=d,V=u,Ze(t),V},ct=e=>{if(!T)return;let t=ke.get(e)??{originalParent:null,originalNextSibling:null,mountedInViewport:!1};t.mountedInViewport||(t.originalParent=e.parentNode,t.originalNextSibling=e.nextSibling,t.mountedInViewport=!0,ke.set(e,t)),e.parentNode!==T&&T.appendChild(e)},lt=e=>{let t=ke.get(e);if(!t||!t.mountedInViewport)return;let n=t.originalParent,r=t.originalNextSibling;n&&n.isConnected?r&&r.parentNode===n?n.insertBefore(e,r):n.appendChild(e):e.remove(),t.mountedInViewport=!1,t.originalParent=null,t.originalNextSibling=null},ut=()=>{if(!T)return;let e=G();if(!e)return;let t=p.ownerDocument.defaultView??window,n=p.getBoundingClientRect(),r=ue===`fixed`,i=n.top+Te+(r?0:t.scrollY),a=n.left+we+(r?0:t.scrollX);e.style.position=ue,e.style.top=`${i}px`,e.style.left=`${a}px`,e.style.margin=`0`,e.style.willChange=`top,left`,e.style.pointerEvents=`none`},dt=null,ft=e=>{ze(),Fe=requestAnimationFrame(()=>{if(Fe=null,!T||D===null)return;let t=Xt();if(!t||t.content!==e.content)return;let n=st();if(!n||n.isClosing)return;F&&at();let r=mt(t.item,t.content);if(n.popup.hasAttribute(`data-starting-style`)||qe()){cn(t.content,t.trigger,r,{defer:!1,mode:`sync-current`});return}cn(t.content,t.trigger,r,{defer:!1,mode:`measure-target`})})},pt=e=>{dt?.disconnect(),dt=null,Pe?.disconnect(),Pe=null,ze(),!(!T||!e)&&(dt=new ResizeObserver(()=>{ft(e)}),dt.observe(e.content),typeof MutationObserver==`function`&&(Pe=new MutationObserver(()=>{ft(e)}),Pe.observe(e.content,{childList:!0,subtree:!0,characterData:!0})))};R.push(()=>dt?.disconnect()),R.push(()=>Pe?.disconnect()),R.push(ze),R.push(()=>{it(),Ee.forEach(e=>e.cleanup()),Ee.clear(),ke.forEach((e,t)=>{lt(t),Je(t,!1),t.hidden=!0,t.style.pointerEvents=`none`}),De.clear(),ke.clear(),U?.disconnect(),U=null,ot()});let K=new Map,mt=(e,t)=>({side:m.side??u(t,`side`,re)??u(e,`side`,re)??S,align:m.align??u(t,`align`,_)??u(e,`align`,_)??ce,sideOffset:m.sideOffset??d(t,`sideOffset`)??d(e,`sideOffset`)??C,alignOffset:m.alignOffset??d(t,`alignOffset`)??d(e,`alignOffset`)??le}),ht=0;_e.forEach(e=>{let t=e.dataset.value;if(!t)return;let n=f(e,`navigation-menu-trigger`),r=f(e,`navigation-menu-content`);if(n&&r){K.set(t,{value:t,item:e,trigger:n,content:r,index:ht++}),Ee.set(r,o({element:r,onExitComplete:()=>{xe||(je(r,!1),B(r,null),r.removeAttribute(`data-motion`),Je(r,!1),lt(r),r.hidden=!0,r.style.pointerEvents=`none`)}}));let i=he(t),a=c(n,`nav-menu-trigger-${i}`),s=c(r,`nav-menu-content-${i}`);n.setAttribute(`aria-haspopup`,`true`),n.setAttribute(`aria-controls`,s),r.setAttribute(`aria-labelledby`,a)}});let gt=Array.from(K.values()).map(e=>e.trigger),_t=`a[href], button:not([disabled]), [role="link"], [role="button"], [tabindex]:not([tabindex="-1"])`,vt=e=>{let t=e?.closest(`[data-slot="navigation-menu-item"]`);if(!t)return null;let n=t.dataset.value;if(!n)return null;let r=K.get(n);return!r||r.item!==t?null:r},yt=e=>{if(e.matches(_t))return e;let t=e.querySelectorAll(_t);for(let n of t)if(e.contains(n)&&!n.closest(`[data-slot="navigation-menu-content"]`)&&!(n.hidden||n.closest(`[hidden]`)))return n;return null},q=[],bt=new Map;_e.forEach(e=>{let t=vt(e);if(t){let e={kind:`submenu`,element:t.trigger,item:t.item,value:t.value,trigger:t.trigger};q.push(e),bt.set(e.element,e),bt.set(e.item,e);return}let n=yt(e);if(!n)return;let r={kind:`plain`,element:n};q.push(r),bt.set(r.element,r)});let xt=e=>{let t=e instanceof HTMLElement?e:null;if(!t)return null;let n=t;for(;n&&n!==w;){let e=bt.get(n);if(e)return e;n=n.parentElement}return null},St=e=>{let t=xt(e);return t?.kind===`plain`?t:null},Ct=e=>{let t=xt(e);return t?.kind===`submenu`?t:null},wt=()=>{let e=p.ownerDocument.defaultView;if(!e?.matchMedia)return!0;try{return e.matchMedia(`(any-hover: hover)`).matches}catch{return!0}},Tt=e=>{try{return e.matches(`:hover`)}catch{return!1}},Et=()=>{for(let e of q){if(e.kind===`submenu`){if(Tt(e.item)||Tt(e.trigger))return e;continue}if(Tt(e.element))return e}return null},Dt=(e,t={})=>{let n=p.ownerDocument,r=t.preserveOpenOnPlain??!1;return e.kind===`submenu`?(e.trigger.focus(),n.activeElement===e.trigger?(pn(e.trigger),!0):!1):(D!==null&&!r&&$(),e.element.focus(),n.activeElement===e.element?(D!==null&&r?pn():Z(e.element),!0):!1)},Ot=(e,t,n={})=>{for(let r=e+t;r>=0&&r<q.length;r+=t){let e=q[r];if(e&&Dt(e,n))return!0}return!1},kt=(e,t,n={})=>{let r=q.indexOf(e);return r===-1?!1:Ot(r,t,n)},At=(e,t,n={})=>{let r=q.findIndex(t=>t.kind===`submenu`&&t.trigger===e);return r===-1?!1:Ot(r,t,n)},jt=e=>{if(!(e instanceof Node)||!w.contains(e))return!1;let t=e instanceof HTMLElement?e:e.parentElement;return!t||t.closest(`[data-slot="navigation-menu-indicator"]`)||vt(t)?!1:t.closest(`[data-slot="navigation-menu-item"]`)?!0:!!t.closest(`a[href], button, [role='link'], [role='button']`)},Mt=`a, button, input, select, textarea, [tabindex]:not([tabindex="-1"])`,Nt=e=>Array.from(e.querySelectorAll(Mt)).filter(e=>!e.hidden&&!e.closest(`[hidden]`)),Pt=e=>!e.isConnected||e.hidden||e.closest(`[hidden]`)||`disabled`in e&&e.disabled||e.getAttribute(`aria-hidden`)===`true`||e.getAttribute(`tabindex`)===`-1`?!1:e.matches(Mt)?!0:e.tabIndex>=0,Ft=e=>{if(p.contains(e)||T?.contains(e)||W()?.contains(e)||G()?.contains(e))return!0;for(let{content:t}of K.values())if(t.contains(e))return!0;return!1},It=()=>{let e=p.ownerDocument,t=Array.from(e.querySelectorAll(`*`));for(let n of t)if(Pt(n)&&!Ft(n)&&(p.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)!==0&&(n.focus(),e.activeElement===n))return!0;return!1},Lt=e=>{requestAnimationFrame(()=>{if(D!==e)return;let t=K.get(e);if(!t)return;let n=Nt(t.content)[0];n?n.focus():t.content.focus()})},J=()=>{ve&&=(clearTimeout(ve),null),ye&&=(clearTimeout(ye),null)},Rt=()=>{J(),O=null},zt=()=>{be=null,M=null},Bt=()=>{Se!==null&&(cancelAnimationFrame(Se),Se=null)},Y=null,Vt=()=>T?G()||W()||(T.parentElement instanceof HTMLElement?T.parentElement:T):null,Ht=()=>{let e=Vt();return Y||(Y=document.createElement(`div`),Y.setAttribute(`data-slot`,`navigation-menu-bridge`),Y.style.cssText=`position: absolute; pointer-events: auto; z-index: 0; display: none;`,R.push(h(Y,`pointerenter`,()=>{J()}),h(Y,`pointerleave`,e=>{if(j||D===null)return;let t=e.relatedTarget;an(t)||t&&n(p,t)||(Q(null),Z(null))}))),e&&Y.parentElement!==e&&e.insertBefore(Y,e.firstChild),Y},Ut=()=>{Y&&(Y.style.height=`0`,Y.style.width=`0`,Y.style.top=`0px`,Y.style.left=`0px`,Y.style.right=`0px`,Y.style.bottom=`auto`,Y.style.transform=`none`,Y.style.clipPath=`none`,Y.style.display=`none`)},Wt=()=>{if(!fe)return null;let e=p.ownerDocument.body;return e?(P||(P=p.ownerDocument.createElement(`div`),P.setAttribute(`data-slot`,`navigation-menu-safe-triangle`),P.style.cssText=[`position: fixed`,`pointer-events: none`,`display: none`,`z-index: 2147483647`,`background: rgba(255, 0, 0, 0.18)`,`border: 1px solid rgba(255, 0, 0, 0.45)`].join(`; `)),P.parentElement!==e&&e.appendChild(P),P):null},Gt=()=>{P&&(P.style.width=`0`,P.style.height=`0`,P.style.clipPath=`none`,P.style.display=`none`)},X=()=>{fe||Gt()},Kt=e=>{let t=Wt();if(!t)return;let n=e.apex.x,r=e.apex.y,i=e.edgeA.x,a=e.edgeA.y,o=e.edgeB.x,s=e.edgeB.y,c=Math.min(n,i,o),l=Math.min(r,a,s),u=Math.max(n,i,o),d=Math.max(r,a,s),f=Math.max(1,u-c),ee=Math.max(1,d-l),p=(e,t)=>`${(e-c)/f*100}% ${(t-l)/ee*100}%`;t.style.display=`block`,t.style.left=`${c}px`,t.style.top=`${l}px`,t.style.width=`${f}px`,t.style.height=`${ee}px`,t.style.clipPath=`polygon(${p(n,r)}, ${p(i,a)}, ${p(o,s)})`},qt=(e,t,n)=>(e.x-n.x)*(t.y-n.y)-(t.x-n.x)*(e.y-n.y),Jt=(e,t,n,r)=>{let i=qt(e,t,n),a=qt(e,n,r),o=qt(e,r,t);return!((i<0||a<0||o<0)&&(i>0||a>0||o>0))},Yt=(e,t,n)=>{let r=.5;if(n.top>=t.bottom-r)return[{x:n.left,y:n.top},{x:n.right,y:n.top}];if(n.bottom<=t.top+r)return[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}];if(n.left>=t.right-r)return[{x:n.left,y:n.top},{x:n.left,y:n.bottom}];if(n.right<=t.left+r)return[{x:n.right,y:n.top},{x:n.right,y:n.bottom}];let i=[[{x:n.left,y:n.top},{x:n.right,y:n.top}],[{x:n.right,y:n.top},{x:n.right,y:n.bottom}],[{x:n.left,y:n.bottom},{x:n.right,y:n.bottom}],[{x:n.left,y:n.top},{x:n.left,y:n.bottom}]],a=([t,n])=>t.y===n.y?Math.abs(e.y-t.y):Math.abs(e.x-t.x),o=i[0],s=a(o);for(let e=1;e<i.length;e++){let t=i[e],n=a(t);n<s&&(o=t,s=n)}return o},Xt=()=>D?K.get(D)??null:null,Zt=(e,t,n)=>{if(n.width<=0||n.height<=0)return null;let r={x:e.left+e.width/2,y:e.top+e.height*.62},[i,a]=Yt(r,t,n);if(i.x===a.x){let e=Math.min(i.y,a.y),t=Math.max(i.y,a.y),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:i.x,y:e+r},a={x:a.x,y:t-r}}else{let e=Math.min(i.x,a.x),t=Math.max(i.x,a.x),n=t-e,r=n<=28?0:Math.min(10,(n-28)/2);i={x:e+r,y:i.y},a={x:t-r,y:a.y}}return{apex:r,edgeA:i,edgeB:a}},Qt=()=>{if(!pe||!T||D===null)return null;let e=Xt();if(!e)return null;let t=p.getBoundingClientRect(),n=e.trigger.getBoundingClientRect(),r=T.getBoundingClientRect(),i=e.content.getBoundingClientRect();return Zt(n,t,r.width>0&&r.height>0?r:i)},$t=e=>{let t=Qt();return t?Jt({x:e.clientX,y:e.clientY},t.apex,t.edgeA,t.edgeB):!1},en=(e,t)=>({x:e.x-t.left,y:e.y-t.top}),tn=e=>{if(e.length<=1)return e.slice();let t=e=>`${e.x.toFixed(3)}:${e.y.toFixed(3)}`,n=new Map;for(let r of e)n.set(t(r),r);let r=Array.from(n.values()).sort((e,t)=>e.x===t.x?e.y-t.y:e.x-t.x);if(r.length<=2)return r;let i=(e,t,n)=>(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),a=[];for(let e of r){for(;a.length>=2&&i(a[a.length-2],a[a.length-1],e)<=0;)a.pop();a.push(e)}let o=[];for(let e=r.length-1;e>=0;e--){let t=r[e];for(;o.length>=2&&i(o[o.length-2],o[o.length-1],t)<=0;)o.pop();o.push(t)}return a.pop(),o.pop(),a.concat(o)},nn=e=>{if(e.length<3){Ut();return}let t=Ht(),n=t.parentElement,r=tn(n&&n===G()?e.map(e=>({x:e.x-we,y:e.y-Te})):e);if(r.length<3){Ut();return}let i=Math.min(...r.map(e=>e.x)),a=Math.min(...r.map(e=>e.y)),o=Math.max(...r.map(e=>e.x)),s=Math.max(...r.map(e=>e.y)),c=Math.max(1,o-i),l=Math.max(1,s-a),u=e=>`${(e.x-i)/c*100}% ${(e.y-a)/l*100}%`;t.style.display=`block`,t.style.transform=`none`,t.style.bottom=`auto`,t.style.right=`auto`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.width=`${c}px`,t.style.height=`${l}px`,t.style.clipPath=`polygon(${r.map(u).join(`, `)})`},rn=()=>{if(!fe)return;let e=Qt();if(!e){Gt();return}Kt(e)},an=e=>e?!!(Xt()?.content.contains(e)||T?.contains(e)||W()?.contains(e)||Y?.contains(e)||G()?.contains(e)):!1;R.push(X),R.push(Bt),R.push(Ut),R.push(()=>{Gt(),P?.parentElement&&P.parentElement.removeChild(P),P=null});let on=(e,t,n,r,i,a)=>{let o=p.ownerDocument.defaultView??window,s=o.visualViewport,c=s?.offsetLeft??0,l=s?.offsetTop??0,u=s?.width??o.innerWidth,d=s?.height??o.innerHeight,f=n===`left`?Math.max(0,t.left-c-r):n===`right`?Math.max(0,c+u-t.right-r):Math.max(0,u),ee=n===`top`?Math.max(0,t.top-l-r):n===`bottom`?Math.max(0,l+d-t.bottom-r):Math.max(0,d);Ue(e,{width:i,height:a}),e.style.setProperty(`--available-width`,`${f}px`),e.style.setProperty(`--available-height`,`${ee}px`)},sn=(e,n,r,i={})=>{let a=st();if(!T||!a)return;let{popup:o,positioner:s}=a,c=i.mode??`measure-target`,l=c!==`sync-current`;if(T.getAttribute(`data-state`)!==`open`||e.getAttribute(`data-state`)!==`active`)return;Je(e,!1);let u=e.firstElementChild,d=e.lastElementChild,f=u?getComputedStyle(u):null,ee=d?getComputedStyle(d):null,m=f&&parseFloat(f.marginTop)||0,h=ee&&parseFloat(ee.marginBottom)||0,te=(...e)=>{let t=0;for(let n of e)Number.isFinite(n)&&(t=Math.max(t,n));return t},g=e.getBoundingClientRect(),ne={width:te(g.width,e.scrollWidth,e.offsetWidth,e.clientWidth),height:te(g.height,e.scrollHeight,e.offsetHeight,e.clientHeight)+m+h},_={...H.committed},v=l?Ge(a,r.side):Ke(),y={width:c===`sync-current`?_.width||v.width||ne.width:v.width||ne.width,height:c===`sync-current`?_.height||v.height||ne.height:v.height||ne.height};Le(v.width>0&&v.height>0?v:y),l&&Ie(y);let b=y.width,x=y.height;if(b<=0||x<=0)return;let ae={top:g.top,left:g.left,width:b,height:x,right:g.left+b,bottom:g.top+x},oe=getComputedStyle(T),se=parseFloat(oe.marginTop)||0;He(b,x);let S=p.getBoundingClientRect(),ce=n.getBoundingClientRect(),C=t({anchorRect:ce,contentRect:ae,side:r.side,align:r.align,sideOffset:r.sideOffset,alignOffset:r.alignOffset,avoidCollisions:!1,collisionPadding:0,allowedSides:re}),le=C.x-S.left,ue=C.y-S.top;we=le,Te=ue;let de=ie(C.side,C.align,ce),fe=de.x-(S.left+le),me=de.y-(S.top+ue),he=de.x-S.left,ge=de.y-S.top,w=`${fe}px ${me}px`,_e=`${he}px ${ge}px`;if(o.style.willChange=`width,height`,o.style.pointerEvents=`auto`,C.side===`top`?Xe(o,`top`):C.side===`left`?Xe(o,`left`):Xe(o,null),o.style.setProperty(`--transform-origin`,w),T.style.top=`0px`,T.style.left=`0px`,T.style.willChange=`transform,width,height`,T.style.setProperty(`--transform-origin`,w),e.style.setProperty(`--transform-origin`,w),o.setAttribute(`data-side`,C.side),o.setAttribute(`data-align`,C.align),T.setAttribute(`data-side`,C.side),T.setAttribute(`data-align`,C.align),e.setAttribute(`data-side`,C.side),e.setAttribute(`data-align`,C.align),s.setAttribute(`data-side`,C.side),s.setAttribute(`data-align`,C.align),s.style.setProperty(`--transform-origin`,_e),on(s,ce,C.side,r.sideOffset,b,x),ut(),c===`measure-target`)Ve(o,b,x);else if(c===`initial-open`)Ve(o,b,x);else{let e=o.style.getPropertyValue(`--popup-width`).trim(),t=o.style.getPropertyValue(`--popup-height`).trim();(!e||!t)&&Ve(o,_.width||b,_.height||x)}let E=T.getBoundingClientRect(),D=[],O=Math.max(0,E.top-S.bottom),k=Math.max(0,S.top-E.bottom),ve=Math.max(0,E.left-S.right),ye=Math.max(0,S.left-E.right),A=Math.max(0,se),j=Math.max(O,k,A),be=Math.max(ve,ye),M=pe?Zt(ce,S,E):null,N=(e,t,n,r)=>{n<=0||r<=0||D.push({x:e,y:t},{x:e+n,y:t},{x:e+n,y:t+r},{x:e,y:t+r})};if(j>=be&&j>0){let e=Math.max(O,k,A),t=le,n=k>O&&k>=A?ue+x:ue-e,r=b;if(M){let e=Math.min(M.edgeA.x,M.edgeB.x)-S.left,n=Math.max(M.edgeA.x,M.edgeB.x)-S.left;t=e-8,r=n-e+16}N(t,n,r,e)}else if(be>0){let e=Math.max(ve,ye),t=ue,n=ye>ve?le+b:le-e,r=x;if(M){let e=Math.min(M.edgeA.y,M.edgeB.y)-S.top,n=Math.max(M.edgeA.y,M.edgeB.y)-S.top;t=e-8,r=n-e+16}N(n,t,e,r)}if(M){let e=en(M.apex,S),t=en(M.edgeA,S),n=en(M.edgeB,S);D.push(e,t,n)}nn(D),rn()},cn=(e,t,n,r={})=>{if(!T)return;let i=()=>{sn(e,t,n,r)};if(r.defer===!1){i();return}requestAnimationFrame(()=>{T.getAttribute(`data-state`)!==`open`||e.getAttribute(`data-state`)!==`active`||i()})},ln=(e=Xt(),t={})=>{if(!e)return;let n=mt(e.item,e.content);cn(e.content,e.trigger,n,t)},un=a({observedElements:[p,...gt],isActive:()=>D!==null,ancestorScroll:!0,syncOnScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,onUpdate:()=>{L=!0,nt(),ln(void 0,{defer:!1,mode:`sync-current`}),rt()}});R.push(()=>un.stop());let dn=e=>k===-1||e>k?`right`:`left`,Z=e=>{if(!E)return;if(A=e,!e){Bt(),E.removeAttribute(`data-instant`),E.setAttribute(`data-state`,`hidden`);return}E.getAttribute(`data-state`)!==`visible`&&(Bt(),E.setAttribute(`data-instant`,``),Se=requestAnimationFrame(()=>{Se=requestAnimationFrame(()=>{E.removeAttribute(`data-instant`),Se=null})}));let t=w.getBoundingClientRect(),n=e.getBoundingClientRect();E.style.setProperty(`--indicator-left`,`${n.left-t.left}px`),E.style.setProperty(`--indicator-width`,`${n.width}px`),E.style.setProperty(`--indicator-top`,`${n.top-t.top}px`);let r=(T&&parseFloat(getComputedStyle(T).marginTop)||0)<1?1:0;E.style.setProperty(`--indicator-height`,`${n.height-r}px`),E.setAttribute(`data-state`,`visible`)},fn=()=>D?K.get(D)?.trigger??null:null,pn=(e=null)=>{let t=fn();if(t){Z(t);return}Z(e)},Q=(e,t=!1)=>{if(X(),e===D){e===null?Rt():J();return}if(!t&&e!==null&&e===O)return;J(),O=e===null?null:e;let r=()=>{let t=D,r=e?K.get(e):null,i=Ke(),a=e!==null,o=t===null&&a,c=t!==null&&e!==null&&t!==e,l=c&&r?dn(r.index):null,u=document.activeElement;if(e===null&&u&&t){let e=K.get(t);e&&n(e.content,u)&&e.trigger.focus()}if(K.forEach(({trigger:n,content:r,item:i},a)=>{let o=a===e,s=a===t;if(g(n,`expanded`,o),n.setAttribute(`data-state`,o?`open`:`closed`),i.setAttribute(`data-state`,o?`open`:`closed`),!o){let t=Ee.get(r);if(je(r,!1),r.setAttribute(`aria-hidden`,`true`),ge(r,!0),r.style.pointerEvents=`none`,e===null)s&&(B(r,null),r.removeAttribute(`data-motion`));else if(s&&l){B(r,l);let e=l===`right`?`to-left`:`to-right`;r.setAttribute(`data-motion`,e)}else s&&(B(r,null),r.removeAttribute(`data-motion`));s?(Je(r,!0),t?.exit()):t?.isExiting||(B(r,null),r.removeAttribute(`data-motion`),Je(r,!1),lt(r),r.hidden=!0)}}),r){let e=st();if(e?.popupPortal.mount(),e&&(e.isClosing=!1,e.popupExitComplete=!1,e.viewportExitComplete=!1),T&&o&&(z(p,!0),z(e?.positioner??G(),!0),z(e?.popup??W(),!0),z(T,!0),T.style.pointerEvents=`auto`,tt(),L=!1,at()),e?.popup&&(e.popup.hidden=!1,e.popup.style.pointerEvents=`auto`),T&&(T.hidden=!1),t===null&&(e?.popupPresence.enter(),e?.viewportPresence.enter()),ct(r.content),Ee.get(r.content)?.enter(),un.start(),l){B(r.content,l);let e=l===`right`?`from-right`:`from-left`;r.content.setAttribute(`data-motion`,e)}else B(r.content,null),r.content.removeAttribute(`data-motion`);je(r.content,!0),Je(r.content,!1),r.content.removeAttribute(`aria-hidden`),ge(r.content,!1),r.content.hidden=!1,r.content.style.pointerEvents=`auto`,k=r.index,c&&(I=0,F=!1,tt(),L=!1,nt()),ln(r,{defer:o||c?!1:void 0,mode:o?`initial-open`:`measure-target`}),pt(r),Z(r.trigger)}else un.stop(),Ut(),X(),V&&(i.width>0&&i.height>0&&(Ve(V.popup,i.width,i.height),Ue(V.positioner,{width:i.width,height:i.height}),He(i.width,i.height)),V.isClosing=!0,V.popupExitComplete=!1,V.viewportExitComplete=!1,V.popupPresence.exit(),V.viewportPresence.exit()),pt(null);if(z(p,a),l?p.setAttribute(`data-motion`,l===`right`?`from-right`:`from-left`):p.removeAttribute(`data-motion`),T){let e=W();z(G(),a),z(e,a),z(T,a),T.style.pointerEvents=a?`auto`:`none`,F=o,I=o?Math.max(I,4):0,(!a||c)&&(tt(),L=!1),nt(),l?T.style.setProperty(`--motion-direction`,l===`right`?`1`:`-1`):T.style.removeProperty(`--motion-direction`)}D=e,O=null,e===null&&Z(null),rn(),s(p,`navigation-menu:change`,{value:e}),me?.(e)};t?r():e!==null&&D===null?ve=setTimeout(r,ae):e!==null&&D!==null?r():ye=setTimeout(r,oe)},mn=Me();z(p,!1),T&&(z(mn.positioner,!1),z(mn.popup,!1),z(T,!1),T.hidden=!0,T.style.pointerEvents=`none`,mn.popup&&(mn.popup.hidden=!0,mn.popup.style.pointerEvents=`none`)),E&&E.setAttribute(`data-state`,`hidden`),K.forEach(({trigger:e,content:t,item:n})=>{e.tagName===`BUTTON`&&!e.hasAttribute(`type`)&&(e.type=`button`),g(e,`expanded`,!1),e.setAttribute(`data-state`,`closed`),e.tabIndex=0,n.setAttribute(`data-state`,`closed`),je(t,!1),t.setAttribute(`aria-hidden`,`true`),t.tabIndex=-1,ge(t,!0),t.hidden=!0,Je(t,!1),t.style.pointerEvents=`none`}),K.forEach(({item:e,trigger:t},r)=>{R.push(h(t,`pointerenter`,e=>{if(!j){if(D!==r&&$t(e))return;Z(t)}})),R.push(h(e,`pointerenter`,e=>{if(!j){if(D!==r&&$t(e))return;Q(r)}})),R.push(h(e,`pointerleave`,e=>{if(O===r&&D===null&&Rt(),D===r&&!j){let t=e.relatedTarget;if(an(t))return;(!t||!n(p,t))&&(Q(null),Z(null))}})),R.push(h(t,`focus`,()=>{if(be===t){be=null;return}se&&Q(r,!0),pn(t)})),R.push(h(t,`pointerdown`,()=>{be=t,M=t}),h(t,`keydown`,()=>{M=null})),R.push(h(t,`click`,()=>{let e=M===t;M=null,be=null,Rt(),D===r&&j?(j=!1,Q(null,!0),Z(null)):D===r&&!j?(j=!0,Z(t),e||Lt(r)):(j=!0,Q(r,!0),Z(t),e||Lt(r))}))}),R.push(h(w,`pointerover`,e=>{let t=e;if(t.pointerType===`touch`)return;let n=Ct(t.target);if(n){if(N=!0,j||D!==n.value&&$t(t))return;Z(n.trigger),Q(n.value);return}let r=St(t.target);if(r){if(N=!0,D!==null){if(j)return;$()}Z(r.element);return}D!==null&&(j||jt(t.target)&&$())}),h(w,`click`,e=>{D!==null&&jt(e.target)&&$()})),R.push(h(w,`focusin`,e=>{let t=St(e.target);if(t){if(D!==null){pn();return}Z(t.element)}}),h(p,`pointerenter`,()=>{N=!0}),h(p,`pointerleave`,e=>{let t=e.relatedTarget;if(!an(t)&&(N=!1,!j)){if($t(e)){J();return}Q(null),Z(null)}}),h(p,`pointerdown`,()=>{X(),Rt()}));let hn=()=>{if(!wt()||D!==null||O!==null||j)return;let e=Et();if(N=e!==null||p instanceof HTMLElement&&Tt(p),e){if(e.kind===`submenu`){Q(e.value,!0);return}Z(e.element)}};T&&R.push(h(T,`pointerenter`,()=>{X(),J()}),h(T,`transitionend`,e=>{if(e.target!==T)return;let t=D?K.get(D):null;t&&ln(t,{defer:!1,mode:`sync-current`})})),K.forEach(({content:e})=>{R.push(h(e,`pointerenter`,()=>{X(),J()}),h(e,`pointerleave`,e=>{if(j)return;let t=e.relatedTarget;an(t)||n(p,t)||(Q(null),Z(null))}))}),R.push(h(w,`keydown`,e=>{let t=xt(e.target);if(!t)return;let n=q.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`Tab`:if(e.shiftKey||D===null)return;(kt(t,1,{preserveOpenOnPlain:!0})||It())&&e.preventDefault();return;case`ArrowLeft`:r=n-1,r<0&&(r=q.length-1);break;case`ArrowRight`:r=n+1,r>=q.length&&(r=0);break;case`ArrowDown`:if(t.kind===`submenu`){e.preventDefault();let n=t.value;j=!0,Q(n,!0),Lt(n)}return;case`Home`:r=0;break;case`End`:r=q.length-1;break;case`Escape`:j=!1,Q(null,!0),Z(null);return;default:return}e.preventDefault();let i=q[r];i&&Dt(i,{preserveOpenOnPlain:!0})})),K.forEach(({content:e,trigger:t})=>{R.push(h(e,`keydown`,n=>{let r=n.target,i=Nt(e),a=i.indexOf(r);if(a!==-1)switch(n.key){case`Tab`:if(!n.shiftKey&&a===i.length-1){(At(t,1,{preserveOpenOnPlain:!0})||It())&&n.preventDefault();return}if(n.shiftKey&&a===0){n.preventDefault(),t.focus();return}return;case`ArrowDown`:case`ArrowRight`:{n.preventDefault();let e=a+1;e<i.length&&i[e]?.focus();break}case`ArrowUp`:case`ArrowLeft`:n.preventDefault(),a===0?t.focus():i[a-1]?.focus();break;case`Escape`:n.preventDefault(),j=!1,Q(null,!0),Z(null),t.focus();break}}))});let gn=()=>n(p,document.activeElement)||N||j,$=()=>{X(),Rt(),zt(),j=!1,Q(null,!0),Z(null),rn()};R.push(h(document,`focusin`,e=>{let t=e.target;if(!n(p,t)){if(D!==null){$();return}Z(null)}})),R.push(r({root:p,isOpen:()=>D!==null&&gn(),onDismiss:$,closeOnClickOutside:!0,closeOnEscape:!0,preventEscapeDefault:!1,isInside:e=>!!e&&n(p,e)})),R.push(h(window,`resize`,()=>{(D||A)&&requestAnimationFrame(()=>pn(A))}),h(w,`scroll`,()=>{(D||A)&&requestAnimationFrame(()=>pn(A))})),R.push(h(p,`navigation-menu:set`,e=>{let t=e.detail;if(t?.value!==void 0){if(t.value===null)$();else if(K.has(t.value)){j=!0,Q(t.value,!0);let e=K.get(t.value);e&&Z(e.trigger)}}}));let _n={get value(){return D},open:e=>Q(e,!0),close:()=>$(),destroy:()=>{xe=!0,Rt(),zt(),R.forEach(e=>e()),R.length=0,e(p,x,_n)}};return hn(),ne(p,x,_n),_n}function oe(e=document){let t=[];for(let n of p(e,`navigation-menu`))m(n,x)||t.push(ae(n));return t}export{oe as create,ae as createNavigationMenu};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@data-slot/navigation-menu",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.163",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -35,6 +35,6 @@
|
|
|
35
35
|
],
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@data-slot/core": "0.2.
|
|
38
|
+
"@data-slot/core": "0.2.163"
|
|
39
39
|
}
|
|
40
40
|
}
|