quirk-ui 0.1.149 → 0.1.151
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/core/components/NavBar/NavBar.test.cjs +1 -1
- package/dist/core/components/NavBar/NavBar.test.mjs +149 -89
- package/dist/core/components/NavBar/index.cjs +2 -2
- package/dist/core/components/NavBar/index.mjs +183 -154
- package/dist/core.cjs +1 -1
- package/dist/core.d.ts +12 -0
- package/dist/core.mjs +12 -11
- package/dist/main.cjs +1 -1
- package/dist/main.d.ts +12 -0
- package/dist/main.mjs +78 -77
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("react"),ae=require("../Modal/index.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("react"),ae=require("../Modal/index.cjs"),w=require("../../../index-0SVQqhAg.cjs"),ie=require("../ButtonGroup/index.cjs"),e=require("../../../NavLink-2Civ1Vxf.cjs"),K=require("../../utils/NoScroll/noScroll.cjs"),_e=require("../../../chevron-right-motlyADs.cjs"),V=require("../../../external-link-DDShu-48.cjs"),Ee=require("../../../x-Dft9NVe_.cjs"),re=require("../../../createLucideIcon-DpotSgUx.cjs"),Le=require("../../../chevron-down-DfK1XBl3.cjs");/**
|
|
2
2
|
* @license lucide-react v0.488.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
*
|
|
9
9
|
* This source code is licensed under the ISC license.
|
|
10
10
|
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/const Re=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],Be=re.createLucideIcon("search",Re),ze={standard:e.styles.standard,transparent:e.styles.transparent},qe={left:e.styles.left,center:e.styles.center,right:e.styles.right},Ae=({spotlight:r,renderText:x})=>{var h,_,p,g,N,L;const o=r.callToAction;if(!o)return null;const k=((h=o.linkOptions)==null?void 0:h.linkType)==="external";let y="#";return k&&((_=o.linkOptions)!=null&&_.externalUrl)?y=o.linkOptions.externalUrl:((p=o.linkOptions)==null?void 0:p.linkType)==="internal"&&((N=(g=o.linkOptions)==null?void 0:g.internalUrl)!=null&&N.slug.current)&&(y=`/${o.linkOptions.internalUrl.slug.current}`),s.jsxs("div",{className:e.styles.spotlight,children:[r.image&&s.jsx("div",{className:e.styles.imageWrapper,children:s.jsx("img",{src:((L=r.image.imageUrls)==null?void 0:L.medium)??"",alt:r.image.asset.altText||r.image.asset.description||"Content image",width:600,height:400})}),s.jsxs("div",{className:e.styles.content,children:[r.title&&s.jsx("div",{className:e.styles.title,children:x==null?void 0:x(r.title,e.styles.title)}),r.description&&s.jsx("div",{className:e.styles.description,children:x==null?void 0:x(r.description,e.styles.description)})]}),o.linkOptions&&s.jsx("div",{className:e.styles.actions,children:s.jsx(A.Button,{as:"a",variant:o.variant??"primary",href:y,target:k?"_blank":"_self",rel:k?"noopener noreferrer":void 0,"aria-label":o.ariaLabel||o.label,children:o.label})})]})};function Oe({renderText:r,title:x,logo:o,items:k,groups:y,utilityItems:h,isSticky:_=!1,showSearch:p=!0,showLocaleSelect:g=!0,showThemeToggle:N=!0,themeToggleComponent:L,alignment:O="right",variant:H="standard",navigationType:M="default",searchComponent:ce,localeSelectComponent:oe,className:de,style:ue,...ye}){const[m,X]=t.useState(!1),[Y,v]=t.useState(null),[he,me]=t.useState(0),[fe,be]=t.useState(!1),[J,xe]=t.useState(!1),[pe,ve]=t.useState(null),[d,w]=t.useState([]),[I,D]=t.useState(0),[je,Q]=t.useState(null),[S,ke]=t.useState(!1),[R,B]=t.useState("forward"),W=t.useRef(null),j=t.useRef(null),T=t.useRef(null),F=t.useRef(new Map),Z=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,role:"presentation",children:s.jsx("div",{className:`${e.styles.linkItem} ${e.styles.themeToggle}`,role:"presentation",children:L})}),U=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent} ${e.styles.searchWrapper}`,children:s.jsx("div",{className:e.styles.linkItem,children:s.jsx(ae.Modal,{size:"lg",className:e.styles.searchModal,trigger:s.jsx("button",{title:"Search","aria-label":"Search",className:e.styles.search,children:s.jsx(Be,{size:16,"aria-hidden":"true"})}),content:ce})})}),ee=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,children:s.jsx("div",{className:e.styles.linkItem,children:s.jsx(ae.Modal,{className:e.styles.localeModal,trigger:s.jsx("button",{title:"Locale Select","aria-label":"Locale Select",className:e.styles.locale,children:s.jsx(Ie,{size:16,"aria-hidden":"true"})}),content:oe})})}),z=t.useCallback(()=>{j.current&&me(j.current.getBoundingClientRect().width)},[]),se=()=>{X(n=>{const l=!n;return l||(w([]),B("forward"),v(null)),l})},ne=t.useCallback(n=>{const l=F.current.get(n);if(l&&j.current){const c=l.getBoundingClientRect(),i=j.current.getBoundingClientRect();ve(c.left-i.left+c.width/2)}},[]),ge=t.useCallback(n=>{v(l=>l===n?null:n)},[]),G=t.useCallback(n=>{W.current&&!W.current.contains(n.target)&&v(null)},[]),P=t.useCallback(()=>{z(),typeof window<"u"&&window.innerWidth>768&&(X(!1),v(null))},[z]),Ne=()=>w([]),$e=n=>{B("forward"),w([{title:n.title,primary:n.primaryItems??[],secondary:n.secondaryItems??[],description:""}])},le=n=>{B("forward"),w(l=>[...l,{title:n.label,primary:n.sublinks??[],secondary:[],description:n.description}])},we=()=>{B("backward"),w(n=>n.slice(0,-1))};t.useEffect(()=>{if(typeof window>"u")return;const n=()=>ke(window.innerWidth<768);return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t.useEffect(()=>{if(typeof window>"u")return;const n=()=>xe(window.scrollY>10);return n(),window.addEventListener("scroll",n,{passive:!0}),()=>window.removeEventListener("scroll",n)},[]),t.useEffect(()=>{const n=typeof window<"u",l=typeof document<"u";return n&&window.addEventListener("resize",P),l&&document.addEventListener("click",G),z(),be(!0),()=>{n&&window.removeEventListener("resize",P),l&&document.removeEventListener("click",G)}},[P,G,z]),t.useEffect(()=>{if(!(typeof document>"u"))return m?setTimeout(()=>K.lockScroll(),0):K.unlockScroll(),()=>K.unlockScroll()},[m]),t.useEffect(()=>{var c;if(!m)return;if(typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(pointer: fine)").matches){const i=(c=j.current)==null?void 0:c.querySelector('a[href], button:not([disabled]), input, select, textarea, [tabindex]:not([tabindex="-1"])');i==null||i.focus()}const l=i=>{var E;if(i.key==="Escape"){se(),(E=T.current)==null||E.focus();return}if(i.key!=="Tab"||!j.current)return;const b=Array.from(j.current.querySelectorAll('a[href], button:not([disabled]), input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter(a=>!a.closest("[aria-hidden=true]"));if(b.length===0)return;const f=b[0],C=b[b.length-1];i.shiftKey?document.activeElement===f&&(i.preventDefault(),C.focus()):document.activeElement===C&&(i.preventDefault(),f.focus())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[m]);const q=(n,l="")=>n.map((c,i)=>{const b=`${l}/${c._key??c.label}-${i}`;return s.jsx(e.NavLink,{link:c,path:b,parentPath:l,openPath:Y,togglePath:ge,updateTriangleIndicator:ne,setOpenPath:v,renderLinks:q,buttonRefs:F},b)}),Se=n=>n.map((l,c)=>{var C,E;const i=`group-${c}`,b=je===c,f=(C=l.primaryItems)==null?void 0:C[I??0];return s.jsxs("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,onMouseEnter:()=>{Q(c),v(i),ne(i)},children:[s.jsx("div",{className:e.styles.linkItem,children:s.jsxs("button",{ref:a=>{F.current.set(i,a)},"aria-haspopup":!0,"aria-expanded":b,"aria-controls":`submenu-${c}`,className:`${e.styles.sublinkToggle} ${b?e.styles.open:""}`,children:[l.title,s.jsx(Le.ChevronDown,{size:18,className:e.styles.chevron,"aria-hidden":"true"})]})}),s.jsx("div",{id:`submenu-${c}`,className:`${e.styles.sublinks} ${b?e.styles.show:""}`,role:"menu","aria-label":`${l.title} submenu`,onMouseLeave:()=>{Q(null),D(0),v(null)},children:s.jsx("div",{children:s.jsxs("div",{className:`${e.styles.sublinksInner} ${l.spotlight?e.styles.withSpotlight:e.styles.withoutSpotlight}`,children:[s.jsxs("div",{className:`${e.styles.sublinksColumn} ${e.styles.primaryColumn}`,children:[s.jsx("div",{className:e.styles.linkItem}),(E=l.primaryItems)==null?void 0:E.map((a,$)=>a.href?s.jsx("div",{role:"menuitem",children:s.jsxs("a",{href:a.href,className:`${e.styles.link} ${I===$?e.styles.open:""}`,target:a.isExternal?"_blank":"_self",rel:a.isExternal?"noopener noreferrer":void 0,onClick:()=>{var te;v(null),(te=a.onClick)==null||te.call(a)},onMouseEnter:()=>D($),children:[s.jsxs("span",{className:e.styles.linkContent,children:[a.label,a.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:a.subtitle})]}),a.isExternal&&s.jsx(V.ExternalLink,{className:e.styles.newTabIcon,size:16,"aria-hidden":"true"})]})},a._key??$):s.jsx("div",{role:"menuitem",children:s.jsx("button",{className:`${e.styles.sublinkToggle} ${I===$?e.styles.open:""}`,onMouseEnter:()=>D($),children:s.jsxs("span",{className:e.styles.linkContent,children:[a.label,a.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:a.subtitle})]})})},a._key??$))]}),(f==null?void 0:f.sublinks)&&f.sublinks.length>0&&s.jsxs("div",{className:`${e.styles.sublinksColumn} ${e.styles.fadeInFromLeft}`,children:[f.description&&s.jsx("div",{className:e.styles.sublinksDescription,children:r==null?void 0:r(f.description)}),q(f.sublinks,`${i}-${I}`)]},`${f.label}-${f.sublinks.length}`),l.secondaryItems&&l.secondaryItems.length>0&&s.jsx("div",{className:`${e.styles.sublinksColumn} ${e.styles.secondaryColumn}`,children:q(l.secondaryItems,`${i}-secondary`)}),l.spotlight&&s.jsx("div",{className:`${e.styles.sublinksColumn} ${e.styles.spotlightColumn}`,children:s.jsx(Ae,{spotlight:l.spotlight,renderText:r})})]})})})]},l._key??`group-${c}`)}),Ce=[e.styles.navbar,qe[O],ze[H],_?e.styles.sticky:"",y!=null&&y.length?e.styles.advanced:e.styles.default,de??""].filter(Boolean).join(" "),u=h&&h.length>0?h[Math.min(1,h.length-1)]:null;return s.jsx("header",{ref:W,className:Ce,style:ue,"aria-label":"Site header",...ye,children:s.jsxs("div",{className:`${e.styles.container} ${(!h||h.length===0)&&O!=="center"?e.styles.twoColumn:""}`,children:[o?s.jsx("div",{className:e.styles.logo,children:o}):x?s.jsx("div",{className:e.styles.title,children:x}):null,s.jsx("nav",{ref:j,style:{left:O==="center"?`calc(50% - ${he/2}px)`:"0"},"aria-modal":m?"true":void 0,className:`${e.styles.nav} ${m?e.styles.open:""} ${fe?e.styles.visible:e.styles.hidden}`,id:"main-menu","aria-label":"Primary navigation",children:s.jsxs("div",{className:e.styles.navInner,children:[s.jsx("svg",{style:{left:`${pe}px`},className:`${e.styles.triangle} ${Y?e.styles.show:""}`,width:16,height:12,viewBox:"0 0 100 75",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:s.jsx("polygon",{points:"50,5 95,70 5,70",strokeLinejoin:"round",fill:"white",stroke:"white"})}),M==="default"&&k&&s.jsxs("div",{className:e.styles.grid,children:[k.length>0&&s.jsx("div",{role:"menubar",className:e.styles.menubar,children:q(k)}),(p||g||N)&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator,"aria-hidden":"true"}),s.jsxs("div",{role:"toolbar","aria-label":"Site controls",className:e.styles.toolbar,children:[N&&s.jsx(Z,{}),p&&!S&&s.jsx(U,{}),g&&s.jsx(ee,{})]})]})]}),!S&&M==="advanced"&&y&&s.jsxs("div",{className:e.styles.grid,children:[y.length>0&&s.jsx("div",{role:"menubar",className:e.styles.menubar,children:Se(y)}),(p||g||N)&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator,"aria-hidden":"true"}),s.jsxs("div",{role:"toolbar","aria-label":"Site controls",className:e.styles.toolbar,children:[N&&s.jsx(Z,{}),p&&s.jsx(U,{}),g&&s.jsx(ee,{})]})]})]}),S&&M==="advanced"&&m&&d.length===0&&y&&s.jsx("div",{className:e.styles.mobileMenu,children:y.map((n,l)=>s.jsx("div",{className:`${e.styles.mobileMenuItem} ${R==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:s.jsx("button",{className:e.styles.sublinkToggle,onClick:()=>$e(n),children:n.title})},n._key??l))}),S&&M==="advanced"&&m&&d.length>0&&s.jsxs("div",{className:e.styles.mobileMenuSlide,children:[s.jsx("button",{className:e.styles.back,"aria-label":"Go back",onClick:d.length===1?Ne:we,children:s.jsx(Ee.ChevronLeft,{size:18,"aria-hidden":"true"})}),d[d.length-1].description&&s.jsx("div",{className:`${e.styles.sublinksDescription} ${R==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:r==null?void 0:r(d[d.length-1].description)}),d[d.length-1].primary.map((n,l)=>s.jsx("div",{role:"menuitem",className:`${e.styles.mobileMenuItem} ${R==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:n.sublinks?s.jsx("button",{className:e.styles.sublinkToggle,onClick:()=>le(n),children:s.jsxs("span",{className:e.styles.linkContent,children:[n.label,n.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:n.subtitle})]})}):s.jsxs("a",{href:n.href,className:e.styles.link,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,children:[s.jsxs("span",{className:e.styles.linkContent,children:[n.label,n.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:n.subtitle})]}),n.isExternal&&s.jsx(V.ExternalLink,{className:e.styles.newTabIcon,size:16,"aria-hidden":"true"})]})},n._key??`primary-${l}`)),d[d.length-1].secondary.length>0&&s.jsx("hr",{className:e.styles.groupDivider}),d[d.length-1].secondary.map((n,l)=>s.jsx("div",{role:"menuitem",className:`${e.styles.mobileMenuItem} ${R==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:n.sublinks?s.jsx("button",{className:e.styles.sublinkToggle,onClick:()=>le(n),children:n.label}):s.jsxs("a",{href:n.href,className:e.styles.link,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,children:[n.label,n.isExternal&&s.jsx(V.ExternalLink,{className:e.styles.newTabIcon,size:16,"aria-hidden":"true"})]})},n._key??`secondary-${l}`))]},`stack-${d.length}`)]})}),h&&h.length>0&&s.jsx("nav",{className:e.styles.utility,"data-scrolled":J,"aria-label":"Utility navigation",children:s.jsx(ie.ButtonGroup,{spacing:"sm",children:h.map((n,l)=>s.jsx(A.Button,{as:"a",size:"sm",href:n.href??"/",variant:n.variant??"primary",displayType:n.displayType??"text",imageSrc:n.imageSrc,imageAlt:n.imageAlt,"aria-label":n.ariaLabel,icon:n.icon,iconAlignment:n.iconAlignment,className:H=="transparent"&&n.variant==="link"&&J?e.styles.utilityScrolled:e.styles.utilityDefault,children:n.imageSrc?s.jsx("img",{src:n.imageSrc,alt:n.imageAlt??n.ariaLabel}):n.label},n._key??l))})}),u&&s.jsx("nav",{"aria-label":"Utility navigation",className:`${e.styles.utilityMobile} ${m?e.styles.open:""}`,children:s.jsx(ie.ButtonGroup,{alignment:"center",children:s.jsx(A.Button,{as:"a",size:"sm",href:u.href??"/",variant:u.variant??"primary",displayType:u.displayType??"text",imageSrc:u.imageSrc,imageAlt:u.imageAlt,"aria-label":u.ariaLabel,icon:u.icon,iconAlignment:u.iconAlignment,children:u.imageSrc?s.jsx("img",{src:u.imageSrc,alt:u.imageAlt??u.ariaLabel}):u.label})})}),s.jsxs("div",{className:e.styles.mobileButtons,children:[S&&p&&s.jsx(U,{}),s.jsx("button",{ref:T,className:e.styles.menuToggle,onClick:se,"aria-label":m?"Close menu":"Open menu","aria-expanded":m,"aria-controls":"main-menu",children:m?s.jsx(_e.X,{size:24,"aria-hidden":"true"}):s.jsx(A.Menu,{size:24,"aria-hidden":"true"})})]})]})})}exports.Navbar=Oe;
|
|
11
|
+
*/const Be=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]],ze=re.createLucideIcon("search",Be),Re={standard:e.styles.standard,transparent:e.styles.transparent},Ae={left:e.styles.left,center:e.styles.center,right:e.styles.right},qe=({spotlight:o,renderText:p})=>{var h,L,x,g,N,M;const d=o.callToAction;if(!d)return null;const k=((h=d.linkOptions)==null?void 0:h.linkType)==="external";let y="#";return k&&((L=d.linkOptions)!=null&&L.externalUrl)?y=d.linkOptions.externalUrl:((x=d.linkOptions)==null?void 0:x.linkType)==="internal"&&((N=(g=d.linkOptions)==null?void 0:g.internalUrl)!=null&&N.slug.current)&&(y=`/${d.linkOptions.internalUrl.slug.current}`),s.jsxs("div",{className:e.styles.spotlight,children:[o.image&&s.jsx("div",{className:e.styles.imageWrapper,children:s.jsx("img",{src:((M=o.image.imageUrls)==null?void 0:M.medium)??"",alt:o.image.asset.altText||o.image.asset.description||"Content image",width:600,height:400})}),s.jsxs("div",{className:e.styles.content,children:[o.title&&s.jsx("div",{className:e.styles.title,children:p==null?void 0:p(o.title,e.styles.title)}),o.description&&s.jsx("div",{className:e.styles.description,children:p==null?void 0:p(o.description,e.styles.description)})]}),d.linkOptions&&s.jsx("div",{className:e.styles.actions,children:s.jsx(w.Button,{as:"a",variant:d.variant??"primary",href:y,target:k?"_blank":"_self",rel:k?"noopener noreferrer":void 0,"aria-label":d.ariaLabel||d.label,children:d.label})})]})};function Oe({renderText:o,title:p,logo:d,items:k,groups:y,utilityItems:h,isSticky:L=!1,showSearch:x=!0,showLocaleSelect:g=!0,showThemeToggle:N=!0,themeToggleComponent:M,alignment:O="right",variant:H="standard",navigationType:I="default",searchComponent:ce,localeSelectComponent:oe,className:de,style:ue,...ye}){const[m,X]=t.useState(!1),[Y,v]=t.useState(null),[he,me]=t.useState(0),[fe,be]=t.useState(!1),[J,pe]=t.useState(!1),[xe,ve]=t.useState(null),[u,S]=t.useState([]),[B,D]=t.useState(0),[je,Q]=t.useState(null),[C,ke]=t.useState(!1),[z,R]=t.useState("forward"),P=t.useRef(null),j=t.useRef(null),T=t.useRef(null),W=t.useRef(new Map),Z=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,role:"presentation",children:s.jsx("div",{className:`${e.styles.linkItem} ${e.styles.themeToggle}`,role:"presentation",children:M})}),F=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent} ${e.styles.searchWrapper}`,children:s.jsx("div",{className:e.styles.linkItem,children:s.jsx(ae.Modal,{size:"lg",className:e.styles.searchModal,trigger:s.jsx("button",{title:"Search","aria-label":"Search",className:e.styles.search,children:s.jsx(ze,{size:16,"aria-hidden":"true"})}),content:ce})})}),ee=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,children:s.jsx("div",{className:e.styles.linkItem,children:s.jsx(ae.Modal,{className:e.styles.localeModal,trigger:s.jsx("button",{title:"Locale Select","aria-label":"Locale Select",className:e.styles.locale,children:s.jsx(Ie,{size:16,"aria-hidden":"true"})}),content:oe})})}),A=t.useCallback(()=>{j.current&&me(j.current.getBoundingClientRect().width)},[]),se=()=>{X(n=>{const l=!n;return l||(S([]),R("forward"),v(null)),l})},ne=t.useCallback(n=>{const l=W.current.get(n);if(l&&j.current){const c=l.getBoundingClientRect(),a=j.current.getBoundingClientRect();ve(c.left-a.left+c.width/2)}},[]),ge=t.useCallback(n=>{v(l=>l===n?null:n)},[]),U=t.useCallback(n=>{P.current&&!P.current.contains(n.target)&&v(null)},[]),G=t.useCallback(()=>{A(),typeof window<"u"&&window.innerWidth>768&&(X(!1),v(null))},[A]),Ne=()=>S([]),$e=n=>{R("forward"),S([{title:n.title,primary:n.primaryItems??[],secondary:n.secondaryItems??[],description:""}])},le=n=>{R("forward"),S(l=>[...l,{title:n.label,primary:n.sublinks??[],secondary:[],description:n.description}])},we=()=>{R("backward"),S(n=>n.slice(0,-1))};t.useEffect(()=>{if(typeof window>"u")return;const n=()=>ke(window.innerWidth<768);return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)},[]),t.useEffect(()=>{if(typeof window>"u")return;const n=()=>pe(window.scrollY>10);return n(),window.addEventListener("scroll",n,{passive:!0}),()=>window.removeEventListener("scroll",n)},[]),t.useEffect(()=>{const n=typeof window<"u",l=typeof document<"u";return n&&window.addEventListener("resize",G),l&&document.addEventListener("click",U),A(),be(!0),()=>{n&&window.removeEventListener("resize",G),l&&document.removeEventListener("click",U)}},[G,U,A]),t.useEffect(()=>{if(!(typeof document>"u"))return m?setTimeout(()=>K.lockScroll(),0):K.unlockScroll(),()=>K.unlockScroll()},[m]),t.useEffect(()=>{var c;if(!m)return;if(typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(pointer: fine)").matches){const a=(c=j.current)==null?void 0:c.querySelector('a[href], button:not([disabled]), input, select, textarea, [tabindex]:not([tabindex="-1"])');a==null||a.focus()}const l=a=>{var E;if(a.key==="Escape"){se(),(E=T.current)==null||E.focus();return}if(a.key!=="Tab"||!j.current)return;const b=Array.from(j.current.querySelectorAll('a[href], button:not([disabled]), input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter(r=>!r.closest("[aria-hidden=true]"));if(b.length===0)return;const f=b[0],_=b[b.length-1];a.shiftKey?document.activeElement===f&&(a.preventDefault(),_.focus()):document.activeElement===_&&(a.preventDefault(),f.focus())};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[m]);const q=(n,l="")=>n.map((c,a)=>{const b=`${l}/${c._key??c.label}-${a}`;return s.jsx(e.NavLink,{link:c,path:b,parentPath:l,openPath:Y,togglePath:ge,updateTriangleIndicator:ne,setOpenPath:v,renderLinks:q,buttonRefs:W},b)}),Se=n=>n.map((l,c)=>{var _,E;const a=`group-${c}`,b=je===c,f=(_=l.primaryItems)==null?void 0:_[B??0];return s.jsxs("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,onMouseEnter:()=>{Q(c),v(a),ne(a)},children:[s.jsx("div",{className:e.styles.linkItem,children:s.jsxs("button",{ref:r=>{W.current.set(a,r)},"aria-haspopup":!0,"aria-expanded":b,"aria-controls":`submenu-${c}`,className:`${e.styles.sublinkToggle} ${b?e.styles.open:""}`,children:[l.title,s.jsx(Le.ChevronDown,{size:18,className:e.styles.chevron,"aria-hidden":"true"})]})}),s.jsx("div",{id:`submenu-${c}`,className:`${e.styles.sublinks} ${b?e.styles.show:""}`,role:"menu","aria-label":`${l.title} submenu`,onMouseLeave:()=>{Q(null),D(0),v(null)},children:s.jsx("div",{children:s.jsxs("div",{className:`${e.styles.sublinksInner} ${l.spotlight?e.styles.withSpotlight:e.styles.withoutSpotlight}`,children:[s.jsxs("div",{className:`${e.styles.sublinksColumn} ${e.styles.primaryColumn}`,children:[s.jsx("div",{className:e.styles.linkItem}),(E=l.primaryItems)==null?void 0:E.map((r,$)=>r.href?s.jsx("div",{role:"menuitem",children:s.jsxs("a",{href:r.href,className:`${e.styles.link} ${B===$?e.styles.open:""}`,target:r.isExternal?"_blank":"_self",rel:r.isExternal?"noopener noreferrer":void 0,onClick:()=>{var te;v(null),(te=r.onClick)==null||te.call(r)},onMouseEnter:()=>D($),children:[s.jsxs("span",{className:e.styles.linkContent,children:[r.label,r.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:r.subtitle})]}),r.isExternal&&s.jsx(V.ExternalLink,{className:e.styles.newTabIcon,size:16,"aria-hidden":"true"})]})},r._key??$):s.jsx("div",{role:"menuitem",children:s.jsx("button",{className:`${e.styles.sublinkToggle} ${B===$?e.styles.open:""}`,onMouseEnter:()=>D($),children:s.jsxs("span",{className:e.styles.linkContent,children:[r.label,r.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:r.subtitle})]})})},r._key??$))]}),(f==null?void 0:f.sublinks)&&f.sublinks.length>0&&s.jsxs("div",{className:`${e.styles.sublinksColumn} ${e.styles.fadeInFromLeft}`,children:[f.description&&s.jsx("div",{className:e.styles.sublinksDescription,children:o==null?void 0:o(f.description)}),q(f.sublinks,`${a}-${B}`)]},`${f.label}-${f.sublinks.length}`),l.secondaryItems&&l.secondaryItems.length>0&&s.jsx("div",{className:`${e.styles.sublinksColumn} ${e.styles.secondaryColumn}`,children:q(l.secondaryItems,`${a}-secondary`)}),l.spotlight&&s.jsx("div",{className:`${e.styles.sublinksColumn} ${e.styles.spotlightColumn}`,children:s.jsx(qe,{spotlight:l.spotlight,renderText:o})})]})})})]},l._key??`group-${c}`)}),Ce=[e.styles.navbar,Ae[O],Re[H],L?e.styles.sticky:"",y!=null&&y.length?e.styles.advanced:e.styles.default,de??""].filter(Boolean).join(" "),i=h&&h.length>0?h[Math.min(1,h.length-1)]:null;return s.jsx("header",{ref:P,className:Ce,style:ue,"aria-label":"Site header",...ye,children:s.jsxs("div",{className:`${e.styles.container} ${(!h||h.length===0)&&O!=="center"?e.styles.twoColumn:""}`,children:[d?s.jsx("div",{className:e.styles.logo,children:d}):p?s.jsx("div",{className:e.styles.title,children:p}):null,s.jsx("nav",{ref:j,style:{left:O==="center"?`calc(50% - ${he/2}px)`:"0"},"aria-modal":m?"true":void 0,className:`${e.styles.nav} ${m?e.styles.open:""} ${fe?e.styles.visible:e.styles.hidden}`,id:"main-menu","aria-label":"Primary navigation",children:s.jsxs("div",{className:e.styles.navInner,children:[s.jsx("svg",{style:{left:`${xe}px`},className:`${e.styles.triangle} ${Y?e.styles.show:""}`,width:16,height:12,viewBox:"0 0 100 75",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:s.jsx("polygon",{points:"50,5 95,70 5,70",strokeLinejoin:"round",fill:"white",stroke:"white"})}),I==="default"&&k&&s.jsxs("div",{className:e.styles.grid,children:[k.length>0&&s.jsx("div",{role:"menubar",className:e.styles.menubar,children:q(k)}),(x||g||N)&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator,"aria-hidden":"true"}),s.jsxs("div",{role:"toolbar","aria-label":"Site controls",className:e.styles.toolbar,children:[N&&s.jsx(Z,{}),x&&!C&&s.jsx(F,{}),g&&s.jsx(ee,{})]})]})]}),!C&&I==="advanced"&&y&&s.jsxs("div",{className:e.styles.grid,children:[y.length>0&&s.jsx("div",{role:"menubar",className:e.styles.menubar,children:Se(y)}),(x||g||N)&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator,"aria-hidden":"true"}),s.jsxs("div",{role:"toolbar","aria-label":"Site controls",className:e.styles.toolbar,children:[N&&s.jsx(Z,{}),x&&s.jsx(F,{}),g&&s.jsx(ee,{})]})]})]}),C&&I==="advanced"&&m&&u.length===0&&y&&s.jsx("div",{className:e.styles.mobileMenu,children:y.map((n,l)=>s.jsx("div",{className:`${e.styles.mobileMenuItem} ${z==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:s.jsx("button",{className:e.styles.sublinkToggle,onClick:()=>$e(n),children:n.title})},n._key??l))}),C&&I==="advanced"&&m&&u.length>0&&s.jsxs("div",{className:e.styles.mobileMenuSlide,children:[s.jsx("button",{className:e.styles.back,"aria-label":"Go back",onClick:u.length===1?Ne:we,children:s.jsx(_e.ChevronLeft,{size:18,"aria-hidden":"true"})}),u[u.length-1].description&&s.jsx("div",{className:`${e.styles.sublinksDescription} ${z==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:o==null?void 0:o(u[u.length-1].description)}),u[u.length-1].primary.map((n,l)=>s.jsx("div",{role:"menuitem",className:`${e.styles.mobileMenuItem} ${z==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:n.sublinks?s.jsx("button",{className:e.styles.sublinkToggle,onClick:()=>le(n),children:s.jsxs("span",{className:e.styles.linkContent,children:[n.label,n.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:n.subtitle})]})}):s.jsxs("a",{href:n.href,className:e.styles.link,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,children:[s.jsxs("span",{className:e.styles.linkContent,children:[n.label,n.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:n.subtitle})]}),n.isExternal&&s.jsx(V.ExternalLink,{className:e.styles.newTabIcon,size:16,"aria-hidden":"true"})]})},n._key??`primary-${l}`)),u[u.length-1].secondary.length>0&&s.jsx("hr",{className:e.styles.groupDivider}),u[u.length-1].secondary.map((n,l)=>s.jsx("div",{role:"menuitem",className:`${e.styles.mobileMenuItem} ${z==="forward"?e.styles.fadeInFromLeft:e.styles.fadeInFromRight}`,children:n.sublinks?s.jsx("button",{className:e.styles.sublinkToggle,onClick:()=>le(n),children:n.label}):s.jsxs("a",{href:n.href,className:e.styles.link,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,children:[n.label,n.isExternal&&s.jsx(V.ExternalLink,{className:e.styles.newTabIcon,size:16,"aria-hidden":"true"})]})},n._key??`secondary-${l}`))]},`stack-${u.length}`)]})}),h&&h.length>0&&s.jsx("nav",{className:e.styles.utility,"data-scrolled":J,"aria-label":"Utility navigation",children:s.jsx(ie.ButtonGroup,{spacing:"sm",children:h.map((n,l)=>{const c=H=="transparent"&&n.variant==="link"&&J?e.styles.utilityScrolled:e.styles.utilityDefault,a=n.imageSrc?s.jsx("img",{src:n.imageSrc,alt:n.imageAlt??n.ariaLabel}):n.label;return n.modalPayload?s.jsx(w.Button,{as:"modal",size:"sm",modalPayload:n.modalPayload,variant:n.variant??"primary","aria-label":n.ariaLabel,icon:n.icon,iconAlignment:n.iconAlignment,className:c,children:a},n._key??l):s.jsx(w.Button,{as:"a",size:"sm",href:n.href??"/",variant:n.variant??"primary",displayType:n.displayType??"text",imageSrc:n.imageSrc,imageAlt:n.imageAlt,"aria-label":n.ariaLabel,icon:n.icon,iconAlignment:n.iconAlignment,className:c,children:a},n._key??l)})})}),i&&s.jsx("nav",{"aria-label":"Utility navigation",className:`${e.styles.utilityMobile} ${m?e.styles.open:""}`,children:s.jsx(ie.ButtonGroup,{alignment:"center",children:i.modalPayload?s.jsx(w.Button,{as:"modal",size:"sm",modalPayload:i.modalPayload,variant:i.variant??"primary","aria-label":i.ariaLabel,icon:i.icon,iconAlignment:i.iconAlignment,children:i.label}):s.jsx(w.Button,{as:"a",size:"sm",href:i.href??"/",variant:i.variant??"primary",displayType:i.displayType??"text",imageSrc:i.imageSrc,imageAlt:i.imageAlt,"aria-label":i.ariaLabel,icon:i.icon,iconAlignment:i.iconAlignment,children:i.imageSrc?s.jsx("img",{src:i.imageSrc,alt:i.imageAlt??i.ariaLabel}):i.label})})}),s.jsxs("div",{className:e.styles.mobileButtons,children:[C&&x&&s.jsx(F,{}),s.jsx("button",{ref:T,className:e.styles.menuToggle,onClick:se,"aria-label":m?"Close menu":"Open menu","aria-expanded":m,"aria-controls":"main-menu",children:m?s.jsx(Ee.X,{size:24,"aria-hidden":"true"}):s.jsx(w.Menu,{size:24,"aria-hidden":"true"})})]})]})})}exports.Navbar=Oe;
|